From b93d24f95f095483635f6aedc9b3b946abcbe0f6 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Wed, 24 Jan 2018 18:42:23 +0200 Subject: [PATCH 01/31] split scanner and parser --- Makefile | 4 +- parser/lexer.go | 119 ---- parser/php7.go | 1007 ++++++++++++++++---------------- parser/php7.y | 29 +- parser/scanner.l | 609 ------------------- scanner/lexer.go | 260 +++++++++ {parser => scanner}/scanner.go | 375 ++++++------ scanner/scanner.l | 609 +++++++++++++++++++ 8 files changed, 1603 insertions(+), 1409 deletions(-) delete mode 100644 parser/lexer.go delete mode 100644 parser/scanner.l create mode 100644 scanner/lexer.go rename {parser => scanner}/scanner.go (96%) create mode 100644 scanner/scanner.l diff --git a/Makefile b/Makefile index 4b0e80a..9a03906 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ PHPFILE=example.php -all: ./parser/php7.go ./parser/scanner.go +all: ./parser/php7.go ./scanner/scanner.go rm -f y.output gofmt -l -s -w *.go go build @@ -11,7 +11,7 @@ run: all test: all go test ./... --cover -./parser/scanner.go: ./parser/scanner.l +./scanner/scanner.go: ./scanner/scanner.l golex -o $@ $< ./parser/php7.go: ./parser/php7.y diff --git a/parser/lexer.go b/parser/lexer.go deleted file mode 100644 index 5024a24..0000000 --- a/parser/lexer.go +++ /dev/null @@ -1,119 +0,0 @@ -package parser - -import ( - "bufio" - "bytes" - "go/token" - "io" - "unicode" - - "github.com/cznic/golex/lex" - "github.com/z7zmey/php-parser/comment" - t "github.com/z7zmey/php-parser/token" -) - -// Allocate Character classes anywhere in [0x80, 0xFF]. -const ( - classUnicodeLeter = iota + 0x80 - classUnicodeDigit - classUnicodeGraphic - classOther -) - -type lexer struct { - *lex.Lexer - stateStack []int - phpDocComment string - comments []comment.Comment -} - -func rune2Class(r rune) int { - if r >= 0 && r < 0x80 { // Keep ASCII as it is. - return int(r) - } - if unicode.IsLetter(r) { - return classUnicodeLeter - } - if unicode.IsDigit(r) { - return classUnicodeDigit - } - if unicode.IsGraphic(r) { - return classUnicodeGraphic - } - // return classOther - return -1 -} - -func newLexer(src io.Reader, fName string) *lexer { - file := token.NewFileSet().AddFile(fName, -1, 1<<31-1) - lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(rune2Class)) - if err != nil { - panic(err) - } - return &lexer{lx, []int{0}, "", nil} -} - -func (l *lexer) ungetChars(n int) []lex.Char { - l.Unget(l.Lookahead()) - - chars := l.Token() - - for i := 1; i <= n; i++ { - char := chars[len(chars)-i] - l.Unget(char) - } - - buf := l.Token() - buf = buf[:len(buf)-n] - - return buf -} - -func (l *lexer) pushState(state int) { - l.stateStack = append(l.stateStack, state) -} - -func (l *lexer) popState() { - len := len(l.stateStack) - if len <= 1 { - return - } - - l.stateStack = l.stateStack[:len-1] -} - -func (l *lexer) begin(state int) { - len := len(l.stateStack) - l.stateStack = l.stateStack[:len-1] - l.stateStack = append(l.stateStack, state) -} - -func (l *lexer) getCurrentState() int { - return l.stateStack[len(l.stateStack)-1] -} - -func (l *lexer) newToken(chars []lex.Char) t.Token { - firstChar := chars[0] - lastChar := chars[len(chars)-1] - - startLine := l.File.Line(firstChar.Pos()) - endLine := l.File.Line(lastChar.Pos()) - startPos := int(firstChar.Pos()) - endPos := int(lastChar.Pos()) - - return t.NewToken(l.charsToBytes(chars), startLine, endLine, startPos, endPos).SetComments(l.comments) -} - -func (l *lexer) addComment(c comment.Comment) { - l.comments = append(l.comments, c) -} - -func (l *lexer) charsToBytes(chars []lex.Char) []byte { - bytesBuf := bytes.Buffer{} - - for _, c := range chars { - bytesBuf.WriteRune(c.Rune) - } - - return bytesBuf.Bytes() -} diff --git a/parser/php7.go b/parser/php7.go index fe97e6d..5fb4108 100644 --- a/parser/php7.go +++ b/parser/php7.go @@ -5,6 +5,14 @@ import __yyfmt__ "fmt" //line parser/php7.y:2 import ( + "bufio" + goToken "go/token" + "io" + "strconv" + "strings" + + "github.com/cznic/golex/lex" + "github.com/z7zmey/php-parser/comment" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/expr" @@ -15,10 +23,8 @@ import ( "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/position" + "github.com/z7zmey/php-parser/scanner" "github.com/z7zmey/php-parser/token" - "io" - "strconv" - "strings" ) var rootnode node.Node @@ -26,6 +32,27 @@ var comments comment.Comments var positions position.Positions var positionBuilder position.Builder +type lexer struct { + scanner.Lexer +} + +func (l *lexer) Lex(lval *yySymType) int { + return l.Lexer.Lex(lval) +} + +func (lval *yySymType) Token(t token.Token) { + lval.token = t +} + +func newLexer(src io.Reader, fName string) *lexer { + file := goToken.NewFileSet().AddFile(fName, -1, 1<<31-1) + lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(scanner.Rune2Class)) + if err != nil { + panic(err) + } + return &lexer{scanner.Lexer{lx, []int{0}, "", nil}} +} + func ParsePhp7(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { yyDebug = 0 yyErrorVerbose = true @@ -62,7 +89,7 @@ type boolWithToken struct { token *token.Token } -//line parser/php7.y:64 +//line parser/php7.y:91 type yySymType struct { yys int node node.Node @@ -386,7 +413,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line parser/php7.y:2627 +//line parser/php7.y:2654 //line yacctab:1 var yyExca = [...]int{ @@ -2095,482 +2122,482 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:294 + //line parser/php7.y:321 { rootnode = stmt.NewStmtList(yyDollar[1].list) positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:301 + //line parser/php7.y:328 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:302 + //line parser/php7.y:329 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:303 + //line parser/php7.y:330 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:304 + //line parser/php7.y:331 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:305 + //line parser/php7.y:332 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:306 + //line parser/php7.y:333 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:307 + //line parser/php7.y:334 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:311 + //line parser/php7.y:338 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:312 + //line parser/php7.y:339 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:312 + //line parser/php7.y:339 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:312 + //line parser/php7.y:339 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:312 + //line parser/php7.y:339 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:312 + //line parser/php7.y:339 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:312 + //line parser/php7.y:339 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:316 + //line parser/php7.y:343 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:317 + //line parser/php7.y:344 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:321 + //line parser/php7.y:348 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:322 + //line parser/php7.y:349 { yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:327 + //line parser/php7.y:354 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2579,7 +2606,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:334 + //line parser/php7.y:361 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2588,7 +2615,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:344 + //line parser/php7.y:371 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2596,7 +2623,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:350 + //line parser/php7.y:377 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -2604,7 +2631,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:356 + //line parser/php7.y:383 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -2612,43 +2639,43 @@ yydefault: } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:364 + //line parser/php7.y:391 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:365 + //line parser/php7.y:392 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:366 + //line parser/php7.y:393 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:367 + //line parser/php7.y:394 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:368 + //line parser/php7.y:395 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:369 + //line parser/php7.y:396 { yyVAL.node = stmt.NewHaltCompiler() } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:371 + //line parser/php7.y:398 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2660,7 +2687,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:381 + //line parser/php7.y:408 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2672,7 +2699,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:391 + //line parser/php7.y:418 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2680,19 +2707,19 @@ yydefault: } case 94: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:396 + //line parser/php7.y:423 { yyVAL.node = yyDollar[2].node } case 95: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:397 + //line parser/php7.y:424 { yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) } case 96: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:399 + //line parser/php7.y:426 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2700,13 +2727,13 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:404 + //line parser/php7.y:431 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } case 98: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:406 + //line parser/php7.y:433 { yyVAL.node = stmt.NewConstList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2714,7 +2741,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:415 + //line parser/php7.y:442 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2722,7 +2749,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:421 + //line parser/php7.y:448 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2730,7 +2757,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:430 + //line parser/php7.y:457 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2742,7 +2769,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:440 + //line parser/php7.y:467 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2754,7 +2781,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:453 + //line parser/php7.y:480 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2766,7 +2793,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:463 + //line parser/php7.y:490 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2778,55 +2805,55 @@ yydefault: } case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:481 + //line parser/php7.y:508 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:482 + //line parser/php7.y:509 { yyVAL.list = []node.Node{yyDollar[1].node} } case 109: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:487 + //line parser/php7.y:514 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:488 + //line parser/php7.y:515 { yyVAL.list = []node.Node{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:492 + //line parser/php7.y:519 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:493 + //line parser/php7.y:520 { yyVAL.list = []node.Node{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:497 + //line parser/php7.y:524 { yyVAL.node = yyDollar[1].node } case 114: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:498 + //line parser/php7.y:525 { yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } case 115: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:503 + //line parser/php7.y:530 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2838,7 +2865,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:513 + //line parser/php7.y:540 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2853,73 +2880,73 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:528 + //line parser/php7.y:555 { yyVAL.node = yyDollar[1].node } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:529 + //line parser/php7.y:556 { yyVAL.node = yyDollar[2].node } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:533 + //line parser/php7.y:560 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 120: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:534 + //line parser/php7.y:561 { yyVAL.list = []node.Node{yyDollar[1].node} } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:538 + //line parser/php7.y:565 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 122: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:539 + //line parser/php7.y:566 { yyVAL.list = []node.Node{} } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:543 + //line parser/php7.y:570 { yyVAL.node = yyDollar[1].node } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:544 + //line parser/php7.y:571 { yyVAL.node = yyDollar[1].node } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:545 + //line parser/php7.y:572 { yyVAL.node = yyDollar[1].node } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:546 + //line parser/php7.y:573 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:547 + //line parser/php7.y:574 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:549 + //line parser/php7.y:576 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2927,7 +2954,7 @@ yydefault: } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:557 + //line parser/php7.y:584 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2935,19 +2962,19 @@ yydefault: } case 130: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:562 + //line parser/php7.y:589 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:563 + //line parser/php7.y:590 { yyVAL.node = yyDollar[1].node } case 132: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:565 + //line parser/php7.y:592 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2955,7 +2982,7 @@ yydefault: } case 133: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:571 + //line parser/php7.y:598 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) @@ -2963,7 +2990,7 @@ yydefault: } case 134: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:577 + //line parser/php7.y:604 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2971,7 +2998,7 @@ yydefault: } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:583 + //line parser/php7.y:610 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) @@ -2979,7 +3006,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:589 + //line parser/php7.y:616 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2987,7 +3014,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:595 + //line parser/php7.y:622 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2995,7 +3022,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:601 + //line parser/php7.y:628 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3003,7 +3030,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:607 + //line parser/php7.y:634 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3011,7 +3038,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:613 + //line parser/php7.y:640 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3019,7 +3046,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:619 + //line parser/php7.y:646 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3027,7 +3054,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:625 + //line parser/php7.y:652 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3035,7 +3062,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:631 + //line parser/php7.y:658 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -3043,7 +3070,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:637 + //line parser/php7.y:664 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) @@ -3051,7 +3078,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:643 + //line parser/php7.y:670 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) @@ -3059,7 +3086,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:649 + //line parser/php7.y:676 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -3067,7 +3094,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:655 + //line parser/php7.y:682 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3075,7 +3102,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:661 + //line parser/php7.y:688 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3083,7 +3110,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:667 + //line parser/php7.y:694 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3097,7 +3124,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:679 + //line parser/php7.y:706 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3105,7 +3132,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:685 + //line parser/php7.y:712 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3117,7 +3144,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:695 + //line parser/php7.y:722 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3129,13 +3156,13 @@ yydefault: } case 153: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:706 + //line parser/php7.y:733 { yyVAL.list = []node.Node{} } case 154: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:708 + //line parser/php7.y:735 { identifier := node.NewIdentifier(yyDollar[5].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) @@ -3151,25 +3178,25 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:723 + //line parser/php7.y:750 { yyVAL.list = []node.Node{yyDollar[1].node} } case 156: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:724 + //line parser/php7.y:751 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:728 + //line parser/php7.y:755 { yyVAL.node = nil } case 158: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:730 + //line parser/php7.y:757 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3177,25 +3204,25 @@ yydefault: } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:738 + //line parser/php7.y:765 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:739 + //line parser/php7.y:766 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:743 + //line parser/php7.y:770 { yyVAL.node = yyDollar[1].node } case 162: yyDollar = yyS[yypt-11 : yypt+1] - //line parser/php7.y:748 + //line parser/php7.y:775 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3207,31 +3234,31 @@ yydefault: } case 163: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:760 + //line parser/php7.y:787 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 164: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:761 + //line parser/php7.y:788 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:765 + //line parser/php7.y:792 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:766 + //line parser/php7.y:793 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:771 + //line parser/php7.y:798 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3243,7 +3270,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-8 : yypt+1] - //line parser/php7.y:781 + //line parser/php7.y:808 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3255,19 +3282,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:793 + //line parser/php7.y:820 { yyVAL.list = []node.Node{yyDollar[1].node} } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:794 + //line parser/php7.y:821 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:799 + //line parser/php7.y:826 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3275,7 +3302,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:805 + //line parser/php7.y:832 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3283,7 +3310,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:814 + //line parser/php7.y:841 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3295,7 +3322,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:827 + //line parser/php7.y:854 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3307,55 +3334,55 @@ yydefault: } case 175: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:839 + //line parser/php7.y:866 { yyVAL.node = nil } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:840 + //line parser/php7.y:867 { yyVAL.node = yyDollar[2].node } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:844 + //line parser/php7.y:871 { yyVAL.list = nil } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:845 + //line parser/php7.y:872 { yyVAL.list = yyDollar[2].list } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:849 + //line parser/php7.y:876 { yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:850 + //line parser/php7.y:877 { yyVAL.list = yyDollar[2].list } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:854 + //line parser/php7.y:881 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:855 + //line parser/php7.y:882 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:857 + //line parser/php7.y:884 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3364,7 +3391,7 @@ yydefault: } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:864 + //line parser/php7.y:891 { list := expr.NewShortList(yyDollar[2].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3373,13 +3400,13 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:873 + //line parser/php7.y:900 { yyVAL.node = yyDollar[1].node } case 186: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:875 + //line parser/php7.y:902 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3387,13 +3414,13 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:883 + //line parser/php7.y:910 { yyVAL.node = yyDollar[1].node } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:885 + //line parser/php7.y:912 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3401,13 +3428,13 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:893 + //line parser/php7.y:920 { yyVAL.node = yyDollar[1].node } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:895 + //line parser/php7.y:922 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3415,37 +3442,37 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:903 + //line parser/php7.y:930 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:904 + //line parser/php7.y:931 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:905 + //line parser/php7.y:932 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:906 + //line parser/php7.y:933 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:910 + //line parser/php7.y:937 { yyVAL.list = []node.Node{} } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:912 + //line parser/php7.y:939 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3454,7 +3481,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:919 + //line parser/php7.y:946 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3463,13 +3490,13 @@ yydefault: } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:933 + //line parser/php7.y:960 { yyVAL.node = yyDollar[1].node } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:935 + //line parser/php7.y:962 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3477,7 +3504,7 @@ yydefault: } case 202: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:944 + //line parser/php7.y:971 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3485,7 +3512,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:950 + //line parser/php7.y:977 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) @@ -3496,13 +3523,13 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:961 + //line parser/php7.y:988 { yyVAL.node = yyDollar[1].node } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:963 + //line parser/php7.y:990 { _else := stmt.NewElse(yyDollar[3].node) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) @@ -3513,7 +3540,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:975 + //line parser/php7.y:1002 { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) @@ -3525,7 +3552,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:985 + //line parser/php7.y:1012 { stmts := stmt.NewStmtList(yyDollar[7].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) @@ -3538,14 +3565,14 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:999 + //line parser/php7.y:1026 { yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:1004 + //line parser/php7.y:1031 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -3559,31 +3586,31 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1018 + //line parser/php7.y:1045 { yyVAL.list = yyDollar[1].list } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1019 + //line parser/php7.y:1046 { yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1023 + //line parser/php7.y:1050 { yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1024 + //line parser/php7.y:1051 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 214: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1029 + //line parser/php7.y:1056 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3613,7 +3640,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:1057 + //line parser/php7.y:1084 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3643,25 +3670,25 @@ yydefault: } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1087 + //line parser/php7.y:1114 { yyVAL.node = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1088 + //line parser/php7.y:1115 { yyVAL.node = yyDollar[1].node } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1092 + //line parser/php7.y:1119 { yyVAL.node = yyDollar[1].node } case 219: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1094 + //line parser/php7.y:1121 { yyVAL.node = node.NewNullable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3669,7 +3696,7 @@ yydefault: } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1103 + //line parser/php7.y:1130 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3677,7 +3704,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1109 + //line parser/php7.y:1136 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3685,49 +3712,49 @@ yydefault: } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1114 + //line parser/php7.y:1141 { yyVAL.node = yyDollar[1].node } case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1118 + //line parser/php7.y:1145 { yyVAL.node = nil } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1119 + //line parser/php7.y:1146 { yyVAL.node = yyDollar[2].node } case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1123 + //line parser/php7.y:1150 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1124 + //line parser/php7.y:1151 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1128 + //line parser/php7.y:1155 { yyVAL.list = []node.Node{yyDollar[1].node} } case 228: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1129 + //line parser/php7.y:1156 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1134 + //line parser/php7.y:1161 { yyVAL.node = node.NewArgument(yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3735,7 +3762,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1140 + //line parser/php7.y:1167 { yyVAL.node = node.NewArgument(yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3743,37 +3770,37 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1148 + //line parser/php7.y:1175 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1149 + //line parser/php7.y:1176 { yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1153 + //line parser/php7.y:1180 { yyVAL.node = yyDollar[1].node } case 234: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1157 + //line parser/php7.y:1184 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1158 + //line parser/php7.y:1185 { yyVAL.list = []node.Node{yyDollar[1].node} } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1163 + //line parser/php7.y:1190 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3788,7 +3815,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1176 + //line parser/php7.y:1203 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3803,19 +3830,19 @@ yydefault: } case 238: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1191 + //line parser/php7.y:1218 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1192 + //line parser/php7.y:1219 { yyVAL.list = []node.Node{} } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1197 + //line parser/php7.y:1224 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3823,7 +3850,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1203 + //line parser/php7.y:1230 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) @@ -3831,7 +3858,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1209 + //line parser/php7.y:1236 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3839,7 +3866,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-10 : yypt+1] - //line parser/php7.y:1215 + //line parser/php7.y:1242 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3851,61 +3878,61 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1227 + //line parser/php7.y:1254 { yyVAL.list = []node.Node{yyDollar[1].node} } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1228 + //line parser/php7.y:1255 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1232 + //line parser/php7.y:1259 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1233 + //line parser/php7.y:1260 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1234 + //line parser/php7.y:1261 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1238 + //line parser/php7.y:1265 { yyVAL.list = []node.Node{yyDollar[1].node} } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1239 + //line parser/php7.y:1266 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1243 + //line parser/php7.y:1270 { yyVAL.node = yyDollar[1].node } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1244 + //line parser/php7.y:1271 { yyVAL.node = yyDollar[1].node } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1249 + //line parser/php7.y:1276 { name := name.NewName(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3917,7 +3944,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1262 + //line parser/php7.y:1289 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3929,7 +3956,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1272 + //line parser/php7.y:1299 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3941,7 +3968,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1282 + //line parser/php7.y:1309 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3953,7 +3980,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1292 + //line parser/php7.y:1319 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3961,7 +3988,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1301 + //line parser/php7.y:1328 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3973,13 +4000,13 @@ yydefault: } case 259: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1310 + //line parser/php7.y:1337 { yyVAL.node = yyDollar[1].node } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1315 + //line parser/php7.y:1342 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3991,25 +4018,25 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1327 + //line parser/php7.y:1354 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1328 + //line parser/php7.y:1355 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1332 + //line parser/php7.y:1359 { yyVAL.list = yyDollar[1].list } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1334 + //line parser/php7.y:1361 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4018,31 +4045,31 @@ yydefault: } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1343 + //line parser/php7.y:1370 { yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1344 + //line parser/php7.y:1371 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1348 + //line parser/php7.y:1375 { yyVAL.list = []node.Node{yyDollar[1].node} } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1349 + //line parser/php7.y:1376 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1354 + //line parser/php7.y:1381 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4050,7 +4077,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1360 + //line parser/php7.y:1387 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4058,7 +4085,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1366 + //line parser/php7.y:1393 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4066,7 +4093,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1372 + //line parser/php7.y:1399 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4074,7 +4101,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1378 + //line parser/php7.y:1405 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4082,7 +4109,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1384 + //line parser/php7.y:1411 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4090,19 +4117,19 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1392 + //line parser/php7.y:1419 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1393 + //line parser/php7.y:1420 { yyVAL.list = []node.Node{yyDollar[1].node} } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1398 + //line parser/php7.y:1425 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4117,7 +4144,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1411 + //line parser/php7.y:1438 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4132,19 +4159,19 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1426 + //line parser/php7.y:1453 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1427 + //line parser/php7.y:1454 { yyVAL.list = []node.Node{yyDollar[1].node} } case 281: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1432 + //line parser/php7.y:1459 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4156,7 +4183,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1445 + //line parser/php7.y:1472 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4168,49 +4195,49 @@ yydefault: } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1457 + //line parser/php7.y:1484 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1458 + //line parser/php7.y:1485 { yyVAL.list = []node.Node{yyDollar[1].node} } case 285: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1462 + //line parser/php7.y:1489 { yyVAL.node = yyDollar[1].node } case 286: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1466 + //line parser/php7.y:1493 { yyVAL.list = nil } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1467 + //line parser/php7.y:1494 { yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1470 + //line parser/php7.y:1497 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1471 + //line parser/php7.y:1498 { yyVAL.list = []node.Node{yyDollar[1].node} } case 290: yyDollar = yyS[yypt-8 : yypt+1] - //line parser/php7.y:1476 + //line parser/php7.y:1503 { if yyDollar[2].nodesWithEndToken != nil { yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) @@ -4224,7 +4251,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1491 + //line parser/php7.y:1518 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4238,13 +4265,13 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1502 + //line parser/php7.y:1529 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:1507 + //line parser/php7.y:1534 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4256,7 +4283,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:1517 + //line parser/php7.y:1544 { shortList := expr.NewShortList(yyDollar[2].list) positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4268,7 +4295,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1527 + //line parser/php7.y:1554 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4276,7 +4303,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1533 + //line parser/php7.y:1560 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4284,7 +4311,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1539 + //line parser/php7.y:1566 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4292,7 +4319,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1545 + //line parser/php7.y:1572 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4300,7 +4327,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1551 + //line parser/php7.y:1578 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4308,7 +4335,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1557 + //line parser/php7.y:1584 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4316,7 +4343,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1563 + //line parser/php7.y:1590 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4324,7 +4351,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1569 + //line parser/php7.y:1596 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4332,7 +4359,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1575 + //line parser/php7.y:1602 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4340,7 +4367,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1581 + //line parser/php7.y:1608 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4348,7 +4375,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1587 + //line parser/php7.y:1614 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4356,7 +4383,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1593 + //line parser/php7.y:1620 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4364,7 +4391,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1599 + //line parser/php7.y:1626 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4372,7 +4399,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1605 + //line parser/php7.y:1632 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4380,7 +4407,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1611 + //line parser/php7.y:1638 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4388,7 +4415,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1617 + //line parser/php7.y:1644 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4396,7 +4423,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1623 + //line parser/php7.y:1650 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4404,7 +4431,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1629 + //line parser/php7.y:1656 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4412,7 +4439,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1635 + //line parser/php7.y:1662 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4420,7 +4447,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1641 + //line parser/php7.y:1668 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4428,7 +4455,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1647 + //line parser/php7.y:1674 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4436,7 +4463,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1653 + //line parser/php7.y:1680 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4444,7 +4471,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1659 + //line parser/php7.y:1686 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4452,7 +4479,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1665 + //line parser/php7.y:1692 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4460,7 +4487,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1671 + //line parser/php7.y:1698 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4468,7 +4495,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1677 + //line parser/php7.y:1704 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4476,7 +4503,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1683 + //line parser/php7.y:1710 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4484,7 +4511,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1689 + //line parser/php7.y:1716 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4492,7 +4519,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1695 + //line parser/php7.y:1722 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4500,7 +4527,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1701 + //line parser/php7.y:1728 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4508,7 +4535,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1707 + //line parser/php7.y:1734 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4516,7 +4543,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1713 + //line parser/php7.y:1740 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4524,7 +4551,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1719 + //line parser/php7.y:1746 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4532,7 +4559,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1725 + //line parser/php7.y:1752 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4540,7 +4567,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1731 + //line parser/php7.y:1758 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4548,7 +4575,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1737 + //line parser/php7.y:1764 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4556,7 +4583,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1743 + //line parser/php7.y:1770 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4564,7 +4591,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1749 + //line parser/php7.y:1776 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4572,7 +4599,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1755 + //line parser/php7.y:1782 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4580,7 +4607,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1761 + //line parser/php7.y:1788 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4588,7 +4615,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1767 + //line parser/php7.y:1794 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4596,7 +4623,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1773 + //line parser/php7.y:1800 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4604,7 +4631,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1779 + //line parser/php7.y:1806 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4612,7 +4639,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1785 + //line parser/php7.y:1812 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4620,7 +4647,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1791 + //line parser/php7.y:1818 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4628,7 +4655,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1797 + //line parser/php7.y:1824 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4636,7 +4663,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1803 + //line parser/php7.y:1830 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4644,7 +4671,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1809 + //line parser/php7.y:1836 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4652,7 +4679,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1815 + //line parser/php7.y:1842 { yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4660,7 +4687,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1821 + //line parser/php7.y:1848 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4668,19 +4695,19 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1826 + //line parser/php7.y:1853 { yyVAL.node = yyDollar[2].node } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1827 + //line parser/php7.y:1854 { yyVAL.node = yyDollar[1].node } case 347: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:1829 + //line parser/php7.y:1856 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4688,7 +4715,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1835 + //line parser/php7.y:1862 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4696,7 +4723,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1841 + //line parser/php7.y:1868 { yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4704,13 +4731,13 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1846 + //line parser/php7.y:1873 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1848 + //line parser/php7.y:1875 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4718,7 +4745,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1854 + //line parser/php7.y:1881 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4726,7 +4753,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1860 + //line parser/php7.y:1887 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4734,7 +4761,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1866 + //line parser/php7.y:1893 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4742,7 +4769,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1872 + //line parser/php7.y:1899 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4750,7 +4777,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1878 + //line parser/php7.y:1905 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4758,7 +4785,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1884 + //line parser/php7.y:1911 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4766,7 +4793,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1890 + //line parser/php7.y:1917 { yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4774,7 +4801,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1896 + //line parser/php7.y:1923 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4782,13 +4809,13 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1901 + //line parser/php7.y:1928 { yyVAL.node = yyDollar[1].node } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1903 + //line parser/php7.y:1930 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4796,7 +4823,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1909 + //line parser/php7.y:1936 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4804,7 +4831,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1915 + //line parser/php7.y:1942 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4812,7 +4839,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1921 + //line parser/php7.y:1948 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4820,7 +4847,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1927 + //line parser/php7.y:1954 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4828,7 +4855,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1933 + //line parser/php7.y:1960 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4836,7 +4863,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-11 : yypt+1] - //line parser/php7.y:1939 + //line parser/php7.y:1966 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) @@ -4845,7 +4872,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-12 : yypt+1] - //line parser/php7.y:1946 + //line parser/php7.y:1973 { yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) @@ -4854,50 +4881,50 @@ yydefault: } case 369: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1955 + //line parser/php7.y:1982 { - yyVAL.str = yylex.(*lexer).phpDocComment - yylex.(*lexer).phpDocComment = "" + yyVAL.str = yylex.(*lexer).PhpDocComment + yylex.(*lexer).PhpDocComment = "" } case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1959 + //line parser/php7.y:1986 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1960 + //line parser/php7.y:1987 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1964 + //line parser/php7.y:1991 { yyVAL.list = []node.Node{} } case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1965 + //line parser/php7.y:1992 { yyVAL.list = yyDollar[3].list } case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1969 + //line parser/php7.y:1996 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1970 + //line parser/php7.y:1997 { yyVAL.list = []node.Node{yyDollar[1].node} } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1975 + //line parser/php7.y:2002 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4912,7 +4939,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1988 + //line parser/php7.y:2015 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4927,7 +4954,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2004 + //line parser/php7.y:2031 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4935,7 +4962,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2010 + //line parser/php7.y:2037 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4943,7 +4970,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2016 + //line parser/php7.y:2043 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4951,7 +4978,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2022 + //line parser/php7.y:2049 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4959,7 +4986,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2031 + //line parser/php7.y:2058 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4967,67 +4994,67 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2036 + //line parser/php7.y:2063 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2040 + //line parser/php7.y:2067 { yyVAL.node = yyDollar[1].node } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2041 + //line parser/php7.y:2068 { yyVAL.node = yyDollar[1].node } case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2045 + //line parser/php7.y:2072 { yyVAL.node = nil } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2046 + //line parser/php7.y:2073 { yyVAL.node = yyDollar[2].node } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2050 + //line parser/php7.y:2077 { yyVAL.list = []node.Node{} } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2051 + //line parser/php7.y:2078 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2052 + //line parser/php7.y:2079 { yyVAL.list = yyDollar[1].list } case 391: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2056 + //line parser/php7.y:2083 { yyVAL.nodesWithEndToken = nil } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2057 + //line parser/php7.y:2084 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2062 + //line parser/php7.y:2089 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5035,7 +5062,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2068 + //line parser/php7.y:2095 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5043,7 +5070,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2074 + //line parser/php7.y:2101 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5051,7 +5078,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2083 + //line parser/php7.y:2110 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5059,7 +5086,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2089 + //line parser/php7.y:2116 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5067,7 +5094,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2095 + //line parser/php7.y:2122 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5075,7 +5102,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2101 + //line parser/php7.y:2128 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5083,7 +5110,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2107 + //line parser/php7.y:2134 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5091,7 +5118,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2113 + //line parser/php7.y:2140 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5099,7 +5126,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2119 + //line parser/php7.y:2146 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5107,7 +5134,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2125 + //line parser/php7.y:2152 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5115,7 +5142,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2131 + //line parser/php7.y:2158 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5123,7 +5150,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2137 + //line parser/php7.y:2164 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5131,7 +5158,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2143 + //line parser/php7.y:2170 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5139,7 +5166,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2148 + //line parser/php7.y:2175 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5147,7 +5174,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2154 + //line parser/php7.y:2181 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5155,7 +5182,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2160 + //line parser/php7.y:2187 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5163,19 +5190,19 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2165 + //line parser/php7.y:2192 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2166 + //line parser/php7.y:2193 { yyVAL.node = yyDollar[1].node } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2171 + //line parser/php7.y:2198 { yyVAL.node = expr.NewConstFetch(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5183,7 +5210,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2177 + //line parser/php7.y:2204 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5195,7 +5222,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2187 + //line parser/php7.y:2214 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5207,79 +5234,79 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2199 + //line parser/php7.y:2226 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2200 + //line parser/php7.y:2227 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2204 + //line parser/php7.y:2231 { yyVAL.node = nil } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2205 + //line parser/php7.y:2232 { yyVAL.node = yyDollar[1].node } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2209 + //line parser/php7.y:2236 { yyVAL.node = yyDollar[1].node } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2213 + //line parser/php7.y:2240 { yyVAL.node = yyDollar[1].node } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2214 + //line parser/php7.y:2241 { yyVAL.node = yyDollar[2].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2215 + //line parser/php7.y:2242 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2219 + //line parser/php7.y:2246 { yyVAL.node = yyDollar[1].node } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2220 + //line parser/php7.y:2247 { yyVAL.node = yyDollar[2].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2221 + //line parser/php7.y:2248 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2225 + //line parser/php7.y:2252 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2227 + //line parser/php7.y:2254 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5287,7 +5314,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2233 + //line parser/php7.y:2260 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5295,7 +5322,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2239 + //line parser/php7.y:2266 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5303,7 +5330,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2245 + //line parser/php7.y:2272 { yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5311,25 +5338,25 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2250 + //line parser/php7.y:2277 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2254 + //line parser/php7.y:2281 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2255 + //line parser/php7.y:2282 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2257 + //line parser/php7.y:2284 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5337,7 +5364,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2266 + //line parser/php7.y:2293 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5349,7 +5376,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2276 + //line parser/php7.y:2303 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5357,7 +5384,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2282 + //line parser/php7.y:2309 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5365,7 +5392,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2291 + //line parser/php7.y:2318 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5373,7 +5400,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2297 + //line parser/php7.y:2324 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5381,13 +5408,13 @@ yydefault: } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2305 + //line parser/php7.y:2332 { yyVAL.node = yyDollar[1].node } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2307 + //line parser/php7.y:2334 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5395,7 +5422,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2313 + //line parser/php7.y:2340 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5403,7 +5430,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2319 + //line parser/php7.y:2346 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5411,7 +5438,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2325 + //line parser/php7.y:2352 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5419,7 +5446,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2331 + //line parser/php7.y:2358 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5427,7 +5454,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2340 + //line parser/php7.y:2367 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5435,19 +5462,19 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2345 + //line parser/php7.y:2372 { yyVAL.node = yyDollar[2].node } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2346 + //line parser/php7.y:2373 { yyVAL.node = yyDollar[1].node } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2351 + //line parser/php7.y:2378 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5455,19 +5482,19 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2356 + //line parser/php7.y:2383 { yyVAL.node = yyDollar[2].node } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2357 + //line parser/php7.y:2384 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2362 + //line parser/php7.y:2389 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] @@ -5477,31 +5504,31 @@ yydefault: } case 453: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2372 + //line parser/php7.y:2399 { yyVAL.node = nil } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2373 + //line parser/php7.y:2400 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2378 + //line parser/php7.y:2405 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2379 + //line parser/php7.y:2406 { yyVAL.list = []node.Node{yyDollar[1].node} } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2384 + //line parser/php7.y:2411 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5509,7 +5536,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2390 + //line parser/php7.y:2417 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5517,7 +5544,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2396 + //line parser/php7.y:2423 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5525,7 +5552,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2402 + //line parser/php7.y:2429 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5533,7 +5560,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:2408 + //line parser/php7.y:2435 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list) @@ -5546,7 +5573,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2419 + //line parser/php7.y:2446 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list) @@ -5559,13 +5586,13 @@ yydefault: } case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2432 + //line parser/php7.y:2459 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2434 + //line parser/php7.y:2461 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5574,13 +5601,13 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2440 + //line parser/php7.y:2467 { yyVAL.list = []node.Node{yyDollar[1].node} } case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2442 + //line parser/php7.y:2469 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5589,7 +5616,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2452 + //line parser/php7.y:2479 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5601,7 +5628,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2462 + //line parser/php7.y:2489 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5616,7 +5643,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2475 + //line parser/php7.y:2502 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5634,7 +5661,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2491 + //line parser/php7.y:2518 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5642,7 +5669,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2497 + //line parser/php7.y:2524 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5654,7 +5681,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:2507 + //line parser/php7.y:2534 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5669,13 +5696,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2520 + //line parser/php7.y:2547 { yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2524 + //line parser/php7.y:2551 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5683,7 +5710,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2530 + //line parser/php7.y:2557 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5697,7 +5724,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2542 + //line parser/php7.y:2569 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { @@ -5717,7 +5744,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2560 + //line parser/php7.y:2587 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5729,7 +5756,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:2573 + //line parser/php7.y:2600 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -5737,7 +5764,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2579 + //line parser/php7.y:2606 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5745,7 +5772,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2585 + //line parser/php7.y:2612 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5753,7 +5780,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2591 + //line parser/php7.y:2618 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5761,7 +5788,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2597 + //line parser/php7.y:2624 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5769,7 +5796,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2603 + //line parser/php7.y:2630 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5777,7 +5804,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2609 + //line parser/php7.y:2636 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5785,19 +5812,19 @@ yydefault: } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2617 + //line parser/php7.y:2644 { yyVAL.list = []node.Node{yyDollar[1].node} } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2618 + //line parser/php7.y:2645 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2622 + //line parser/php7.y:2649 { yyVAL.node = yyDollar[1].node } diff --git a/parser/php7.y b/parser/php7.y index 58327d2..35c6ba8 100644 --- a/parser/php7.y +++ b/parser/php7.y @@ -5,6 +5,11 @@ import ( "io" "strings" "strconv" + "bufio" + goToken "go/token" + + "github.com/cznic/golex/lex" + "github.com/z7zmey/php-parser/token" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/scalar" @@ -16,6 +21,7 @@ import ( "github.com/z7zmey/php-parser/node/expr/cast" "github.com/z7zmey/php-parser/comment" "github.com/z7zmey/php-parser/position" + "github.com/z7zmey/php-parser/scanner" ) var rootnode node.Node @@ -23,6 +29,27 @@ var comments comment.Comments var positions position.Positions var positionBuilder position.Builder +type lexer struct { + scanner.Lexer +} + +func (l *lexer) Lex(lval *yySymType) int { + return l.Lexer.Lex(lval) +} + +func (lval *yySymType) Token(t token.Token) { + lval.token = t +} + +func newLexer(src io.Reader, fName string) *lexer { + file := goToken.NewFileSet().AddFile(fName, -1, 1<<31-1) + lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(scanner.Rune2Class)) + if err != nil { + panic(err) + } + return &lexer{scanner.Lexer{lx, []int{0}, "", nil}} +} + func ParsePhp7(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { yyDebug = 0 yyErrorVerbose = true @@ -1952,7 +1979,7 @@ expr_without_variable: ; backup_doc_comment: - /* empty */ { $$ = yylex.(*lexer).phpDocComment; yylex.(*lexer).phpDocComment = "" } + /* empty */ { $$ = yylex.(*lexer).PhpDocComment; yylex.(*lexer).PhpDocComment = "" } ; returns_ref: diff --git a/parser/scanner.l b/parser/scanner.l deleted file mode 100644 index 632eb2a..0000000 --- a/parser/scanner.l +++ /dev/null @@ -1,609 +0,0 @@ -%{ -// Copyright (c) 2011 CZ.NIC z.s.p.o. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// blame: jnml, labs.nic.cz - -package parser - -import ( - "fmt" - "bytes" - "github.com/cznic/golex/lex" - "github.com/z7zmey/php-parser/comment" -) - -const ( - INITIAL = iota - PHP - STRING - STRING_VAR - STRING_VAR_INDEX - STRING_VAR_NAME - PROPERTY - HEREDOC_END - NOWDOC - HEREDOC - BACKQUOTE -) - -var heredocLabel []lex.Char - -func (l *lexer) Lex(lval *yySymType) int { - l.comments = nil - c := l.Enter() - -%} - -%s PHP STRING STRING_VAR STRING_VAR_INDEX STRING_VAR_NAME PROPERTY HEREDOC_END NOWDOC HEREDOC BACKQUOTE - -%yyb last == '\n' || last = '\0' -%yyt l.getCurrentState() -%yyc c -%yyn c = l.Next() -%yym l.Mark() -%optioncase-insensitive - -LNUM [0-9]+ -DNUM ([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*) -HNUM 0x[0-9a-fA-F]+ -BNUM 0b[01]+ -EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM}) -VAR_NAME [a-zA-Z_\x7f-\xff^0-9/][a-zA-Z0-9_\x7f-\xff]* -OPERATORS [;:,.\[\]()|\/\^&\+-*=%!~$<>?@] -NEW_LINE (\r|\n|\r\n) - -%% - c = l.Rule0() - -[ \t\n\r]+ lval.token = l.newToken(l.Token()); -. - tb := []lex.Char{} - - for { - if c == -1 { - tb = l.Token(); - break; - } - - if '?' == rune(c) { - tb = l.Token(); - if (len(tb) < 2 || tb[len(tb)-1].Rune != '<') { - c = l.Next() - continue; - } - - tb = l.ungetChars(1) - break; - } - - c = l.Next() - } - - lval.token = l.newToken(tb) - return T_INLINE_HTML - -\<\?php([ \t]|{NEW_LINE}) l.begin(PHP);lval.token = l.newToken(l.Token());// return T_OPEN_TAG; -\<\? l.begin(PHP);lval.token = l.newToken(l.Token());// return T_OPEN_TAG; -\<\?= l.begin(PHP);lval.token = l.newToken(l.Token()); return T_ECHO; - -[ \t\n\r]+ lval.token = l.newToken(l.Token());// return T_WHITESPACE -\?\>{NEW_LINE}? l.begin(INITIAL);lval.token = l.newToken(l.Token()); return rune2Class(';'); - -{DNUM}|{EXPONENT_DNUM} lval.token = l.newToken(l.Token()); return T_DNUMBER -{BNUM} - tb := l.Token() - i:=2 - BNUMFOR:for { - if i > len(tb)-1 { - break BNUMFOR; - } - switch tb[i].Rune { - case '0': i++; - default: break BNUMFOR; - } - } - if len(tb) - i < 64 { - lval.token = l.newToken(l.Token()); return T_LNUMBER - } else { - lval.token = l.newToken(l.Token()); return T_DNUMBER - } -{LNUM} - if len(l.Token()) < 20 { - lval.token = l.newToken(l.Token()); return T_LNUMBER - } else { - lval.token = l.newToken(l.Token()); return T_DNUMBER - } -{HNUM} - tb := l.Token() - i:=2 - HNUMFOR:for { - if i > len(tb)-1 { - break HNUMFOR; - } - switch tb[i].Rune { - case '0': i++; - default: break HNUMFOR; - } - } - length := len(tb) - i - if length < 16 || (length == 16 && tb[i].Rune <= '7') { - lval.token = l.newToken(l.Token()); return T_LNUMBER - } else { - lval.token = l.newToken(l.Token()); return T_DNUMBER - } - -abstract lval.token = l.newToken(l.Token()); return T_ABSTRACT -array lval.token = l.newToken(l.Token()); return T_ARRAY -as lval.token = l.newToken(l.Token()); return T_AS -break lval.token = l.newToken(l.Token()); return T_BREAK -callable lval.token = l.newToken(l.Token()); return T_CALLABLE -case lval.token = l.newToken(l.Token()); return T_CASE -catch lval.token = l.newToken(l.Token()); return T_CATCH -class lval.token = l.newToken(l.Token()); return T_CLASS -clone lval.token = l.newToken(l.Token()); return T_CLONE -const lval.token = l.newToken(l.Token()); return T_CONST; -continue lval.token = l.newToken(l.Token()); return T_CONTINUE; -declare lval.token = l.newToken(l.Token()); return T_DECLARE; -default lval.token = l.newToken(l.Token()); return T_DEFAULT; -do lval.token = l.newToken(l.Token()); return T_DO; -echo lval.token = l.newToken(l.Token()); return T_ECHO; -else lval.token = l.newToken(l.Token()); return T_ELSE; -elseif lval.token = l.newToken(l.Token()); return T_ELSEIF; -empty lval.token = l.newToken(l.Token()); return T_EMPTY; -enddeclare lval.token = l.newToken(l.Token()); return T_ENDDECLARE -endfor lval.token = l.newToken(l.Token()); return T_ENDFOR -endforeach lval.token = l.newToken(l.Token()); return T_ENDFOREACH -endif lval.token = l.newToken(l.Token()); return T_ENDIF -endswitch lval.token = l.newToken(l.Token()); return T_ENDSWITCH -endwhile lval.token = l.newToken(l.Token()); return T_ENDWHILE -eval lval.token = l.newToken(l.Token()); return T_EVAL -exit|die lval.token = l.newToken(l.Token()); return T_EXIT -extends lval.token = l.newToken(l.Token()); return T_EXTENDS -final lval.token = l.newToken(l.Token()); return T_FINAL -finally lval.token = l.newToken(l.Token()); return T_FINALLY -for lval.token = l.newToken(l.Token()); return T_FOR -foreach lval.token = l.newToken(l.Token()); return T_FOREACH -function|cfunction lval.token = l.newToken(l.Token()); return T_FUNCTION -global lval.token = l.newToken(l.Token()); return T_GLOBAL -goto lval.token = l.newToken(l.Token()); return T_GOTO -if lval.token = l.newToken(l.Token()); return T_IF -isset lval.token = l.newToken(l.Token()); return T_ISSET -implements lval.token = l.newToken(l.Token()); return T_IMPLEMENTS -instanceof lval.token = l.newToken(l.Token()); return T_INSTANCEOF -insteadof lval.token = l.newToken(l.Token()); return T_INSTEADOF -interface lval.token = l.newToken(l.Token()); return T_INTERFACE -list lval.token = l.newToken(l.Token()); return T_LIST -namespace lval.token = l.newToken(l.Token()); return T_NAMESPACE -private lval.token = l.newToken(l.Token()); return T_PRIVATE -public lval.token = l.newToken(l.Token()); return T_PUBLIC -print lval.token = l.newToken(l.Token()); return T_PRINT -protected lval.token = l.newToken(l.Token()); return T_PROTECTED -return lval.token = l.newToken(l.Token()); return T_RETURN -static lval.token = l.newToken(l.Token()); return T_STATIC -switch lval.token = l.newToken(l.Token()); return T_SWITCH -throw lval.token = l.newToken(l.Token()); return T_THROW -trait lval.token = l.newToken(l.Token()); return T_TRAIT -try lval.token = l.newToken(l.Token()); return T_TRY -unset lval.token = l.newToken(l.Token()); return T_UNSET -use lval.token = l.newToken(l.Token()); return T_USE -var lval.token = l.newToken(l.Token()); return T_VAR -while lval.token = l.newToken(l.Token()); return T_WHILE -yield[ \t\n\r]+from[^a-zA-Z0-9_\x80-\xff] lval.token = l.newToken(l.Token()); return T_YIELD_FROM -yield lval.token = l.newToken(l.Token()); return T_YIELD -include lval.token = l.newToken(l.Token()); return T_INCLUDE -include_once lval.token = l.newToken(l.Token()); return T_INCLUDE_ONCE -require lval.token = l.newToken(l.Token()); return T_REQUIRE -require_once lval.token = l.newToken(l.Token()); return T_REQUIRE_ONCE -__CLASS__ lval.token = l.newToken(l.Token()); return T_CLASS_C -__DIR__ lval.token = l.newToken(l.Token()); return T_DIR -__FILE__ lval.token = l.newToken(l.Token()); return T_FILE -__FUNCTION__ lval.token = l.newToken(l.Token()); return T_FUNC_C -__LINE__ lval.token = l.newToken(l.Token()); return T_LINE -__NAMESPACE__ lval.token = l.newToken(l.Token()); return T_NS_C -__METHOD__ lval.token = l.newToken(l.Token()); return T_METHOD_C -__TRAIT__ lval.token = l.newToken(l.Token()); return T_TRAIT_C -__halt_compiler lval.token = l.newToken(l.Token()); return T_HALT_COMPILER -\([ \t]*array[ \t]*\) lval.token = l.newToken(l.Token()); return T_ARRAY_CAST -\([ \t]*(bool|boolean)[ \t]*\) lval.token = l.newToken(l.Token()); return T_BOOL_CAST -\([ \t]*(real|double|float)[ \t]*\) lval.token = l.newToken(l.Token()); return T_DOUBLE_CAST -\([ \t]*(int|integer)[ \t]*\) lval.token = l.newToken(l.Token()); return T_INT_CAST -\([ \t]*object[ \t]*\) lval.token = l.newToken(l.Token()); return T_OBJECT_CAST -\([ \t]*string[ \t]*\) lval.token = l.newToken(l.Token()); return T_STRING_CAST -\([ \t]*unset[ \t]*\) lval.token = l.newToken(l.Token()); return T_UNSET_CAST -new lval.token = l.newToken(l.Token()); return T_NEW -and lval.token = l.newToken(l.Token()); return T_LOGICAL_AND -or lval.token = l.newToken(l.Token()); return T_LOGICAL_OR -xor lval.token = l.newToken(l.Token()); return T_LOGICAL_XOR -\\ lval.token = l.newToken(l.Token()); return T_NS_SEPARATOR -\.\.\. lval.token = l.newToken(l.Token()); return T_ELLIPSIS; -:: lval.token = l.newToken(l.Token()); return T_PAAMAYIM_NEKUDOTAYIM; // T_DOUBLE_COLON -&& lval.token = l.newToken(l.Token()); return T_BOOLEAN_AND -\|\| lval.token = l.newToken(l.Token()); return T_BOOLEAN_OR -&= lval.token = l.newToken(l.Token()); return T_AND_EQUAL -\|= lval.token = l.newToken(l.Token()); return T_OR_EQUAL -\.= lval.token = l.newToken(l.Token()); return T_CONCAT_EQUAL; -\*= lval.token = l.newToken(l.Token()); return T_MUL_EQUAL -\*\*= lval.token = l.newToken(l.Token()); return T_POW_EQUAL -[/]= lval.token = l.newToken(l.Token()); return T_DIV_EQUAL; -\+= lval.token = l.newToken(l.Token()); return T_PLUS_EQUAL --= lval.token = l.newToken(l.Token()); return T_MINUS_EQUAL -\^= lval.token = l.newToken(l.Token()); return T_XOR_EQUAL -%= lval.token = l.newToken(l.Token()); return T_MOD_EQUAL --- lval.token = l.newToken(l.Token()); return T_DEC; -\+\+ lval.token = l.newToken(l.Token()); return T_INC -=> lval.token = l.newToken(l.Token()); return T_DOUBLE_ARROW; -\<=\> lval.token = l.newToken(l.Token()); return T_SPACESHIP -\!=|\<\> lval.token = l.newToken(l.Token()); return T_IS_NOT_EQUAL -\!== lval.token = l.newToken(l.Token()); return T_IS_NOT_IDENTICAL -== lval.token = l.newToken(l.Token()); return T_IS_EQUAL -=== lval.token = l.newToken(l.Token()); return T_IS_IDENTICAL -\<\<= lval.token = l.newToken(l.Token()); return T_SL_EQUAL -\>\>= lval.token = l.newToken(l.Token()); return T_SR_EQUAL -\>= lval.token = l.newToken(l.Token()); return T_IS_GREATER_OR_EQUAL -\<= lval.token = l.newToken(l.Token()); return T_IS_SMALLER_OR_EQUAL -\*\* lval.token = l.newToken(l.Token()); return T_POW -\<\< lval.token = l.newToken(l.Token()); return T_SL -\>\> lval.token = l.newToken(l.Token()); return T_SR -\?\? lval.token = l.newToken(l.Token()); return T_COALESCE -(#|[/][/]).*{NEW_LINE} lval.token = l.newToken(l.Token());// return T_COMMENT; // TODO: handle ?> -([/][*])|([/][*][*]) - tb := l.Token() - is_doc_comment := false - if len(tb) > 2 { - is_doc_comment = true - l.phpDocComment = "" - } - - for { - if c == -1 { - break; // TODO: Unterminated comment starting line %d - } - - p := c - c = l.Next() - - if rune(p) == '*' && rune(c) == '/' { - c = l.Next() - break; - } - } - - lval.token = l.newToken(l.Token()) - if is_doc_comment { - l.phpDocComment = string(l.TokenBytes(nil)) - l.addComment(comment.NewDocComment(string(l.TokenBytes(nil)))) - // return T_DOC_COMMENT - } else { - l.addComment(comment.NewPlainComment(string(l.TokenBytes(nil)))) - // return T_COMMENT - } - -{OPERATORS} lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) - -\{ l.pushState(PHP); lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) -\} l.popState(); lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])); l.phpDocComment = "" -\${VAR_NAME} lval.token = l.newToken(l.Token()); return T_VARIABLE -{VAR_NAME} lval.token = l.newToken(l.Token()); return T_STRING - --> l.begin(PROPERTY);lval.token = l.newToken(l.Token()); return T_OBJECT_OPERATOR; -[ \t\n\r]+ lval.token = l.newToken(l.Token()); return T_WHITESPACE; --> lval.token = l.newToken(l.Token()); return T_OBJECT_OPERATOR; -{VAR_NAME} l.begin(PHP);lval.token = l.newToken(l.Token()); return T_STRING; -. l.ungetChars(1);l.begin(PHP) - -[\']([^\\\']*([\\].)*)*[\'] lval.token = l.newToken(l.Token()); return T_CONSTANT_ENCAPSED_STRING; - -` l.begin(BACKQUOTE); lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) -` l.begin(PHP); lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) - -[b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])){NEW_LINE} - tb := l.Token() - binPrefix := 0 - if tb[0].Rune == 'b' { - binPrefix = 1 - } - - lblFirst := 3 + binPrefix - lblLast := len(tb)-2 - if tb[lblLast].Rune == '\r' { - lblLast-- - } - - for { - if tb[lblFirst].Rune == ' ' || tb[lblFirst].Rune == '\t' { - lblFirst++ - continue - } - - break - } - - switch tb[lblFirst].Rune { - case '\'' : - lblFirst++ - lblLast-- - l.begin(NOWDOC) - case '"' : - lblFirst++ - lblLast-- - l.begin(HEREDOC) - default: - l.begin(HEREDOC) - } - - heredocLabel = make([]lex.Char, lblLast - lblFirst + 1) - copy(heredocLabel, tb[lblFirst:lblLast+1]) - - ungetCnt := len(heredocLabel) - searchLabelAhead := []lex.Char{} - for i := 0; i < len(heredocLabel); i++ { - if c == -1 { - break; - } - searchLabelAhead = append(searchLabelAhead, l.Lookahead()) - c = l.Next() - } - - if bytes.Equal(l.charsToBytes(heredocLabel), l.charsToBytes(searchLabelAhead)) && ';' == rune(c) { - ungetCnt++ - c = l.Next() - if '\n' == rune(c) || '\r' == rune(c) { - l.begin(HEREDOC_END) - } - } - - l.ungetChars(ungetCnt) - - lval.token = l.newToken(tb); - return T_START_HEREDOC - -.|[ \t\n\r] - searchLabel := []byte{} - tb := []lex.Char{} - - for { - if c == -1 { - break; - } - - if '\n' == rune(c) || '\r' == rune(c) { - if bytes.Equal(append(l.charsToBytes(heredocLabel), ';'), searchLabel) { - l.begin(HEREDOC_END) - tb = l.ungetChars(len(heredocLabel)+1) - break; - } - - if bytes.Equal(l.charsToBytes(heredocLabel), searchLabel) { - l.begin(HEREDOC_END) - tb = l.ungetChars(len(heredocLabel)) - break; - } - - searchLabel = []byte{} - } else { - searchLabel = append(searchLabel, byte(rune(c))) - } - - c = l.Next() - } - - lval.token = l.newToken(tb) - return T_ENCAPSED_AND_WHITESPACE - -{VAR_NAME}\; l.begin(PHP);lval.token = l.newToken(l.ungetChars(1)); return T_END_HEREDOC -{VAR_NAME} l.begin(PHP);lval.token = l.newToken(l.Token()); return T_END_HEREDOC - -[b]?[\"] - binPrefix := l.Token()[0].Rune == 'b' - - beginString := func() int { - cnt := 1; if (binPrefix) {cnt = 2} - - l.ungetChars(len(l.Token())-cnt) - chars := l.Token()[:cnt] - l.pushState(STRING) - - lval.token = l.newToken(chars); return rune2Class('"') - } - - F:for { - if c == -1 { - break; - } - - switch c { - case '"' : - c = l.Next(); - lval.token = l.newToken(l.Token()); return T_CONSTANT_ENCAPSED_STRING - break F; - - case '$': - c = l.Next(); - if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { - return beginString() - break F; - } - l.ungetChars(0) - - case '{': - c = l.Next(); - if rune(c) == '$' { - return beginString() - break F; - } - l.ungetChars(0) - - case '\\': - c = l.Next(); - } - - c = l.Next() - } - -\" l.popState(); lval.token = l.newToken(l.Token()); return rune2Class(l.Token()[0].Rune) -\{\$ lval.token = l.newToken(l.ungetChars(1)); l.pushState(PHP); return T_CURLY_OPEN -\$\{ l.pushState(STRING_VAR_NAME); lval.token = l.newToken(l.Token()); return T_DOLLAR_OPEN_CURLY_BRACES -\$ l.ungetChars(1);l.pushState(STRING_VAR) -.|[ \t\n\r] - F1:for { - if c == -1 { - break; - } - - switch c { - case '"' : - lval.token = l.newToken(l.Token()); - return T_ENCAPSED_AND_WHITESPACE - break F1; - - case '$': - c = l.Next(); - if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { - l.ungetChars(1) - tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]); - return T_ENCAPSED_AND_WHITESPACE - break F1; - } - l.ungetChars(0) - - case '{': - c = l.Next(); - if rune(c) == '$' { - l.ungetChars(1) - tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]); - return T_ENCAPSED_AND_WHITESPACE - break F1; - } - l.ungetChars(0) - - case '\\': - c = l.Next(); - } - - c = l.Next() - } - -.|[ \t\n\r] - F2:for { - if c == -1 { - break; - } - - switch c { - case '`' : - lval.token = l.newToken(l.Token()); - return T_ENCAPSED_AND_WHITESPACE - break F2; - - case '$': - c = l.Next(); - if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { - l.ungetChars(1) - tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]); - return T_ENCAPSED_AND_WHITESPACE - break F2; - } - l.ungetChars(0) - - case '{': - c = l.Next(); - if rune(c) == '$' { - l.ungetChars(1) - tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]); - return T_ENCAPSED_AND_WHITESPACE - break F2; - } - l.ungetChars(0) - - case '\\': - c = l.Next(); - } - - c = l.Next() - } - -.|[ \t\n\r] - searchLabel := []byte{} - tb := []lex.Char{} - - HEREDOCFOR:for { - if c == -1 { - break; - } - - switch c { - case '\n': fallthrough - case '\r': - if bytes.Equal(append(l.charsToBytes(heredocLabel), ';'), searchLabel) { - l.begin(HEREDOC_END) - tb = l.ungetChars(len(heredocLabel)+1) - break HEREDOCFOR; - } - - if bytes.Equal(l.charsToBytes(heredocLabel), searchLabel) { - l.begin(HEREDOC_END) - tb = l.ungetChars(len(heredocLabel)) - break HEREDOCFOR; - } - - searchLabel = []byte{} - - case '$': - c = l.Next(); - if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { - tb = l.ungetChars(1) - break HEREDOCFOR; - } - l.ungetChars(0) - searchLabel = []byte{} - - case '{': - c = l.Next(); - if rune(c) == '$' { - tb = l.ungetChars(1) - break HEREDOCFOR; - } - l.ungetChars(0) - searchLabel = []byte{} - - case '\\': - c = l.Next(); - searchLabel = []byte{} - - default: - searchLabel = append(searchLabel, byte(rune(c))) - } - - c = l.Next() - } - - lval.token = l.newToken(tb); - return T_ENCAPSED_AND_WHITESPACE - -\${VAR_NAME} lval.token = l.newToken(l.Token()); return T_VARIABLE -->{VAR_NAME} lval.token = l.newToken(l.ungetChars(len(l.Token())-2)); return T_OBJECT_OPERATOR -{VAR_NAME} l.popState();lval.token = l.newToken(l.Token()); return T_STRING -\[ l.pushState(STRING_VAR_INDEX);lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) -.|[ \t\n\r] l.ungetChars(1);l.popState() - -{LNUM}|{HNUM}|{BNUM} lval.token = l.newToken(l.Token()); return T_NUM_STRING -\${VAR_NAME} lval.token = l.newToken(l.Token()); return T_VARIABLE -{VAR_NAME} lval.token = l.newToken(l.Token()); return T_STRING -\] l.popState(); l.popState();lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) -[ \n\r\t\\'#] l.popState(); l.popState();lval.token = l.newToken(l.Token()); return T_ENCAPSED_AND_WHITESPACE -{OPERATORS} lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) -. lval.token = l.newToken(l.Token()); return rune2Class(rune(l.TokenBytes(nil)[0])) - -{VAR_NAME}[\[\}] l.popState();l.pushState(PHP);lval.token = l.newToken(l.ungetChars(1)); return T_STRING_VARNAME -. l.ungetChars(1);l.popState();l.pushState(PHP) - -%% - if c, ok := l.Abort(); ok { return int(c) } - goto yyAction -} \ No newline at end of file diff --git a/scanner/lexer.go b/scanner/lexer.go new file mode 100644 index 0000000..716b319 --- /dev/null +++ b/scanner/lexer.go @@ -0,0 +1,260 @@ +package scanner + +import ( + "bufio" + "bytes" + "go/token" + "io" + "unicode" + + "github.com/cznic/golex/lex" + "github.com/z7zmey/php-parser/comment" + t "github.com/z7zmey/php-parser/token" +) + +// Allocate Character classes anywhere in [0x80, 0xFF]. +const ( + classUnicodeLeter = iota + 0x80 + classUnicodeDigit + classUnicodeGraphic + classOther +) + +const T_INCLUDE = 57346 +const T_INCLUDE_ONCE = 57347 +const T_EVAL = 57348 +const T_REQUIRE = 57349 +const T_REQUIRE_ONCE = 57350 +const T_LOGICAL_OR = 57351 +const T_LOGICAL_XOR = 57352 +const T_LOGICAL_AND = 57353 +const T_PRINT = 57354 +const T_YIELD = 57355 +const T_DOUBLE_ARROW = 57356 +const T_YIELD_FROM = 57357 +const T_PLUS_EQUAL = 57358 +const T_MINUS_EQUAL = 57359 +const T_MUL_EQUAL = 57360 +const T_DIV_EQUAL = 57361 +const T_CONCAT_EQUAL = 57362 +const T_MOD_EQUAL = 57363 +const T_AND_EQUAL = 57364 +const T_OR_EQUAL = 57365 +const T_XOR_EQUAL = 57366 +const T_SL_EQUAL = 57367 +const T_SR_EQUAL = 57368 +const T_POW_EQUAL = 57369 +const T_COALESCE = 57370 +const T_BOOLEAN_OR = 57371 +const T_BOOLEAN_AND = 57372 +const T_IS_EQUAL = 57373 +const T_IS_NOT_EQUAL = 57374 +const T_IS_IDENTICAL = 57375 +const T_IS_NOT_IDENTICAL = 57376 +const T_SPACESHIP = 57377 +const T_IS_SMALLER_OR_EQUAL = 57378 +const T_IS_GREATER_OR_EQUAL = 57379 +const T_SL = 57380 +const T_SR = 57381 +const T_INSTANCEOF = 57382 +const T_INC = 57383 +const T_DEC = 57384 +const T_INT_CAST = 57385 +const T_DOUBLE_CAST = 57386 +const T_STRING_CAST = 57387 +const T_ARRAY_CAST = 57388 +const T_OBJECT_CAST = 57389 +const T_BOOL_CAST = 57390 +const T_UNSET_CAST = 57391 +const T_POW = 57392 +const T_NEW = 57393 +const T_CLONE = 57394 +const T_NOELSE = 57395 +const T_ELSEIF = 57396 +const T_ELSE = 57397 +const T_ENDIF = 57398 +const T_STATIC = 57399 +const T_ABSTRACT = 57400 +const T_FINAL = 57401 +const T_PRIVATE = 57402 +const T_PROTECTED = 57403 +const T_PUBLIC = 57404 +const T_EXIT = 57405 +const T_IF = 57406 +const T_LNUMBER = 57407 +const T_DNUMBER = 57408 +const T_STRING = 57409 +const T_STRING_VARNAME = 57410 +const T_VARIABLE = 57411 +const T_NUM_STRING = 57412 +const T_INLINE_HTML = 57413 +const T_CHARACTER = 57414 +const T_BAD_CHARACTER = 57415 +const T_ENCAPSED_AND_WHITESPACE = 57416 +const T_CONSTANT_ENCAPSED_STRING = 57417 +const T_ECHO = 57418 +const T_DO = 57419 +const T_WHILE = 57420 +const T_ENDWHILE = 57421 +const T_FOR = 57422 +const T_ENDFOR = 57423 +const T_FOREACH = 57424 +const T_ENDFOREACH = 57425 +const T_DECLARE = 57426 +const T_ENDDECLARE = 57427 +const T_AS = 57428 +const T_SWITCH = 57429 +const T_ENDSWITCH = 57430 +const T_CASE = 57431 +const T_DEFAULT = 57432 +const T_BREAK = 57433 +const T_CONTINUE = 57434 +const T_GOTO = 57435 +const T_FUNCTION = 57436 +const T_CONST = 57437 +const T_RETURN = 57438 +const T_TRY = 57439 +const T_CATCH = 57440 +const T_FINALLY = 57441 +const T_THROW = 57442 +const T_USE = 57443 +const T_INSTEADOF = 57444 +const T_GLOBAL = 57445 +const T_VAR = 57446 +const T_UNSET = 57447 +const T_ISSET = 57448 +const T_EMPTY = 57449 +const T_HALT_COMPILER = 57450 +const T_CLASS = 57451 +const T_TRAIT = 57452 +const T_INTERFACE = 57453 +const T_EXTENDS = 57454 +const T_IMPLEMENTS = 57455 +const T_OBJECT_OPERATOR = 57456 +const T_LIST = 57457 +const T_ARRAY = 57458 +const T_CALLABLE = 57459 +const T_CLASS_C = 57460 +const T_TRAIT_C = 57461 +const T_METHOD_C = 57462 +const T_FUNC_C = 57463 +const T_LINE = 57464 +const T_FILE = 57465 +const T_COMMENT = 57466 +const T_DOC_COMMENT = 57467 +const T_OPEN_TAG = 57468 +const T_OPEN_TAG_WITH_ECHO = 57469 +const T_CLOSE_TAG = 57470 +const T_WHITESPACE = 57471 +const T_START_HEREDOC = 57472 +const T_END_HEREDOC = 57473 +const T_DOLLAR_OPEN_CURLY_BRACES = 57474 +const T_CURLY_OPEN = 57475 +const T_PAAMAYIM_NEKUDOTAYIM = 57476 +const T_NAMESPACE = 57477 +const T_NS_C = 57478 +const T_DIR = 57479 +const T_NS_SEPARATOR = 57480 +const T_ELLIPSIS = 57481 + +type Lval interface { + Token(tkn t.Token) +} + +type Lexer struct { + *lex.Lexer + StateStack []int + PhpDocComment string + Comments []comment.Comment +} + +func Rune2Class(r rune) int { + if r >= 0 && r < 0x80 { // Keep ASCII as it is. + return int(r) + } + if unicode.IsLetter(r) { + return classUnicodeLeter + } + if unicode.IsDigit(r) { + return classUnicodeDigit + } + if unicode.IsGraphic(r) { + return classUnicodeGraphic + } + // return classOther + return -1 +} + +func NewLexer(src io.Reader, fName string) *Lexer { + file := token.NewFileSet().AddFile(fName, -1, 1<<31-1) + lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(Rune2Class)) + if err != nil { + panic(err) + } + return &Lexer{lx, []int{0}, "", nil} +} + +func (l *Lexer) ungetChars(n int) []lex.Char { + l.Unget(l.Lookahead()) + + chars := l.Token() + + for i := 1; i <= n; i++ { + char := chars[len(chars)-i] + l.Unget(char) + } + + buf := l.Token() + buf = buf[:len(buf)-n] + + return buf +} + +func (l *Lexer) pushState(state int) { + l.StateStack = append(l.StateStack, state) +} + +func (l *Lexer) popState() { + len := len(l.StateStack) + if len <= 1 { + return + } + + l.StateStack = l.StateStack[:len-1] +} + +func (l *Lexer) begin(state int) { + len := len(l.StateStack) + l.StateStack = l.StateStack[:len-1] + l.StateStack = append(l.StateStack, state) +} + +func (l *Lexer) getCurrentState() int { + return l.StateStack[len(l.StateStack)-1] +} + +func (l *Lexer) newToken(chars []lex.Char) t.Token { + firstChar := chars[0] + lastChar := chars[len(chars)-1] + + startLine := l.File.Line(firstChar.Pos()) + endLine := l.File.Line(lastChar.Pos()) + startPos := int(firstChar.Pos()) + endPos := int(lastChar.Pos()) + + return t.NewToken(l.charsToBytes(chars), startLine, endLine, startPos, endPos).SetComments(l.Comments) +} + +func (l *Lexer) addComment(c comment.Comment) { + l.Comments = append(l.Comments, c) +} + +func (l *Lexer) charsToBytes(chars []lex.Char) []byte { + bytesBuf := bytes.Buffer{} + + for _, c := range chars { + bytesBuf.WriteRune(c.Rune) + } + + return bytesBuf.Bytes() +} diff --git a/parser/scanner.go b/scanner/scanner.go similarity index 96% rename from parser/scanner.go rename to scanner/scanner.go index 7d2d332..5aa7c3c 100644 --- a/parser/scanner.go +++ b/scanner/scanner.go @@ -6,12 +6,11 @@ // blame: jnml, labs.nic.cz -package parser +package scanner import ( "bytes" "fmt" - "github.com/cznic/golex/lex" "github.com/z7zmey/php-parser/comment" ) @@ -32,8 +31,8 @@ const ( var heredocLabel []lex.Char -func (l *lexer) Lex(lval *yySymType) int { - l.comments = nil +func (l *Lexer) Lex(lval Lval) int { + l.Comments = nil c := l.Enter() yystate0: @@ -7515,7 +7514,7 @@ yystate596: yyrule1: // [ \t\n\r]+ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) goto yystate0 } yyrule2: // . @@ -7538,43 +7537,43 @@ yyrule2: // . } c = l.Next() } - lval.token = l.newToken(tb) + lval.Token(l.newToken(tb)) return T_INLINE_HTML } yyrule3: // \<\?php([ \t]|{NEW_LINE}) { l.begin(PHP) - lval.token = l.newToken(l.Token()) // return T_OPEN_TAG; + lval.Token(l.newToken(l.Token())) // return T_OPEN_TAG; goto yystate0 } yyrule4: // \<\? { l.begin(PHP) - lval.token = l.newToken(l.Token()) // return T_OPEN_TAG; + lval.Token(l.newToken(l.Token())) // return T_OPEN_TAG; goto yystate0 } yyrule5: // \<\?= { l.begin(PHP) - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ECHO goto yystate0 } yyrule6: // [ \t\n\r]+ { - lval.token = l.newToken(l.Token()) // return T_WHITESPACE + lval.Token(l.newToken(l.Token())) // return T_WHITESPACE goto yystate0 } yyrule7: // \?\>{NEW_LINE}? { l.begin(INITIAL) - lval.token = l.newToken(l.Token()) - return rune2Class(';') + lval.Token(l.newToken(l.Token())) + return Rune2Class(';') goto yystate0 } yyrule8: // {DNUM}|{EXPONENT_DNUM} { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DNUMBER goto yystate0 } @@ -7596,10 +7595,10 @@ yyrule9: // {BNUM} } } if len(tb)-i < 64 { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LNUMBER } else { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DNUMBER } goto yystate0 @@ -7608,10 +7607,10 @@ yyrule10: // {LNUM} { if len(l.Token()) < 20 { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LNUMBER } else { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DNUMBER } goto yystate0 @@ -7635,695 +7634,695 @@ yyrule11: // {HNUM} } length := len(tb) - i if length < 16 || (length == 16 && tb[i].Rune <= '7') { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LNUMBER } else { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DNUMBER } goto yystate0 } yyrule12: // abstract { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ABSTRACT goto yystate0 } yyrule13: // array { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ARRAY goto yystate0 } yyrule14: // as { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_AS goto yystate0 } yyrule15: // break { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_BREAK goto yystate0 } yyrule16: // callable { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CALLABLE goto yystate0 } yyrule17: // case { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CASE goto yystate0 } yyrule18: // catch { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CATCH goto yystate0 } yyrule19: // class { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CLASS goto yystate0 } yyrule20: // clone { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CLONE goto yystate0 } yyrule21: // const { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CONST goto yystate0 } yyrule22: // continue { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CONTINUE goto yystate0 } yyrule23: // declare { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DECLARE goto yystate0 } yyrule24: // default { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DEFAULT goto yystate0 } yyrule25: // do { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DO goto yystate0 } yyrule26: // echo { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ECHO goto yystate0 } yyrule27: // else { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ELSE goto yystate0 } yyrule28: // elseif { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ELSEIF goto yystate0 } yyrule29: // empty { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_EMPTY goto yystate0 } yyrule30: // enddeclare { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENDDECLARE goto yystate0 } yyrule31: // endfor { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENDFOR goto yystate0 } yyrule32: // endforeach { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENDFOREACH goto yystate0 } yyrule33: // endif { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENDIF goto yystate0 } yyrule34: // endswitch { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENDSWITCH goto yystate0 } yyrule35: // endwhile { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENDWHILE goto yystate0 } yyrule36: // eval { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_EVAL goto yystate0 } yyrule37: // exit|die { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_EXIT goto yystate0 } yyrule38: // extends { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_EXTENDS goto yystate0 } yyrule39: // final { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_FINAL goto yystate0 } yyrule40: // finally { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_FINALLY goto yystate0 } yyrule41: // for { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_FOR goto yystate0 } yyrule42: // foreach { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_FOREACH goto yystate0 } yyrule43: // function|cfunction { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_FUNCTION goto yystate0 } yyrule44: // global { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_GLOBAL goto yystate0 } yyrule45: // goto { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_GOTO goto yystate0 } yyrule46: // if { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IF goto yystate0 } yyrule47: // isset { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ISSET goto yystate0 } yyrule48: // implements { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IMPLEMENTS goto yystate0 } yyrule49: // instanceof { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_INSTANCEOF goto yystate0 } yyrule50: // insteadof { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_INSTEADOF goto yystate0 } yyrule51: // interface { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_INTERFACE goto yystate0 } yyrule52: // list { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LIST goto yystate0 } yyrule53: // namespace { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_NAMESPACE goto yystate0 } yyrule54: // private { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_PRIVATE goto yystate0 } yyrule55: // public { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_PUBLIC goto yystate0 } yyrule56: // print { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_PRINT goto yystate0 } yyrule57: // protected { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_PROTECTED goto yystate0 } yyrule58: // return { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_RETURN goto yystate0 } yyrule59: // static { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_STATIC goto yystate0 } yyrule60: // switch { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_SWITCH goto yystate0 } yyrule61: // throw { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_THROW goto yystate0 } yyrule62: // trait { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_TRAIT goto yystate0 } yyrule63: // try { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_TRY goto yystate0 } yyrule64: // unset { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_UNSET goto yystate0 } yyrule65: // use { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_USE goto yystate0 } yyrule66: // var { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_VAR goto yystate0 } yyrule67: // while { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_WHILE goto yystate0 } yyrule68: // yield[ \t\n\r]+from[^a-zA-Z0-9_\x80-\xff] { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_YIELD_FROM goto yystate0 } yyrule69: // yield { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_YIELD goto yystate0 } yyrule70: // include { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_INCLUDE goto yystate0 } yyrule71: // include_once { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_INCLUDE_ONCE goto yystate0 } yyrule72: // require { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_REQUIRE goto yystate0 } yyrule73: // require_once { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_REQUIRE_ONCE goto yystate0 } yyrule74: // __CLASS__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CLASS_C goto yystate0 } yyrule75: // __DIR__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DIR goto yystate0 } yyrule76: // __FILE__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_FILE goto yystate0 } yyrule77: // __FUNCTION__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_FUNC_C goto yystate0 } yyrule78: // __LINE__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LINE goto yystate0 } yyrule79: // __NAMESPACE__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_NS_C goto yystate0 } yyrule80: // __METHOD__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_METHOD_C goto yystate0 } yyrule81: // __TRAIT__ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_TRAIT_C goto yystate0 } yyrule82: // __halt_compiler { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_HALT_COMPILER goto yystate0 } yyrule83: // \([ \t]*array[ \t]*\) { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ARRAY_CAST goto yystate0 } yyrule84: // \([ \t]*(bool|boolean)[ \t]*\) { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_BOOL_CAST goto yystate0 } yyrule85: // \([ \t]*(real|double|float)[ \t]*\) { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DOUBLE_CAST goto yystate0 } yyrule86: // \([ \t]*(int|integer)[ \t]*\) { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_INT_CAST goto yystate0 } yyrule87: // \([ \t]*object[ \t]*\) { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_OBJECT_CAST goto yystate0 } yyrule88: // \([ \t]*string[ \t]*\) { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_STRING_CAST goto yystate0 } yyrule89: // \([ \t]*unset[ \t]*\) { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_UNSET_CAST goto yystate0 } yyrule90: // new { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_NEW goto yystate0 } yyrule91: // and { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LOGICAL_AND goto yystate0 } yyrule92: // or { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LOGICAL_OR goto yystate0 } yyrule93: // xor { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_LOGICAL_XOR goto yystate0 } yyrule94: // \\ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_NS_SEPARATOR goto yystate0 } yyrule95: // \.\.\. { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ELLIPSIS goto yystate0 } yyrule96: // :: { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_PAAMAYIM_NEKUDOTAYIM // T_DOUBLE_COLON goto yystate0 } yyrule97: // && { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_BOOLEAN_AND goto yystate0 } yyrule98: // \|\| { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_BOOLEAN_OR goto yystate0 } yyrule99: // &= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_AND_EQUAL goto yystate0 } yyrule100: // \|= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_OR_EQUAL goto yystate0 } yyrule101: // \.= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CONCAT_EQUAL goto yystate0 } yyrule102: // \*= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_MUL_EQUAL goto yystate0 } yyrule103: // \*\*= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_POW_EQUAL goto yystate0 } yyrule104: // [/]= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DIV_EQUAL goto yystate0 } yyrule105: // \+= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_PLUS_EQUAL goto yystate0 } yyrule106: // -= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_MINUS_EQUAL goto yystate0 } yyrule107: // \^= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_XOR_EQUAL goto yystate0 } yyrule108: // %= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_MOD_EQUAL goto yystate0 } yyrule109: // -- { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DEC goto yystate0 } yyrule110: // \+\+ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_INC goto yystate0 } yyrule111: // => { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DOUBLE_ARROW goto yystate0 } yyrule112: // \<=\> { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_SPACESHIP goto yystate0 } yyrule113: // \!=|\<\> { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IS_NOT_EQUAL goto yystate0 } yyrule114: // \!== { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IS_NOT_IDENTICAL goto yystate0 } yyrule115: // == { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IS_EQUAL goto yystate0 } yyrule116: // === { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IS_IDENTICAL goto yystate0 } yyrule117: // \<\<= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_SL_EQUAL goto yystate0 } yyrule118: // \>\>= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_SR_EQUAL goto yystate0 } yyrule119: // \>= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IS_GREATER_OR_EQUAL goto yystate0 } yyrule120: // \<= { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_IS_SMALLER_OR_EQUAL goto yystate0 } yyrule121: // \*\* { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_POW goto yystate0 } yyrule122: // \<\< { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_SL goto yystate0 } yyrule123: // \>\> { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_SR goto yystate0 } yyrule124: // \?\? { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_COALESCE goto yystate0 } yyrule125: // (#|[/][/]).*{NEW_LINE} { - lval.token = l.newToken(l.Token()) // return T_COMMENT; // TODO: handle ?> + lval.Token(l.newToken(l.Token())) // return T_COMMENT; // TODO: handle ?> goto yystate0 } yyrule126: // ([/][*])|([/][*][*]) @@ -8333,7 +8332,7 @@ yyrule126: // ([/][*])|([/][*][*]) is_doc_comment := false if len(tb) > 2 { is_doc_comment = true - l.phpDocComment = "" + l.PhpDocComment = "" } for { if c == -1 { @@ -8346,9 +8345,9 @@ yyrule126: // ([/][*])|([/][*][*]) break } } - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) if is_doc_comment { - l.phpDocComment = string(l.TokenBytes(nil)) + l.PhpDocComment = string(l.TokenBytes(nil)) l.addComment(comment.NewDocComment(string(l.TokenBytes(nil)))) // return T_DOC_COMMENT } else { @@ -8359,60 +8358,60 @@ yyrule126: // ([/][*])|([/][*][*]) } yyrule127: // {OPERATORS} { - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule128: // \{ { l.pushState(PHP) - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule129: // \} { l.popState() - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) - l.phpDocComment = "" + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) + l.PhpDocComment = "" goto yystate0 } yyrule130: // \${VAR_NAME} { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_VARIABLE goto yystate0 } yyrule131: // {VAR_NAME} { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_STRING goto yystate0 } yyrule132: // -> { l.begin(PROPERTY) - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_OBJECT_OPERATOR goto yystate0 } yyrule133: // [ \t\n\r]+ { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_WHITESPACE goto yystate0 } yyrule134: // -> { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_OBJECT_OPERATOR goto yystate0 } yyrule135: // {VAR_NAME} { l.begin(PHP) - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_STRING goto yystate0 } @@ -8424,22 +8423,22 @@ yyrule136: // . } yyrule137: // [\']([^\\\']*([\\].)*)*[\'] { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CONSTANT_ENCAPSED_STRING goto yystate0 } yyrule138: // ` { l.begin(BACKQUOTE) - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule139: // ` { l.begin(PHP) - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule140: // [b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])){NEW_LINE} @@ -8495,7 +8494,7 @@ yyrule140: // [b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])) } } l.ungetChars(ungetCnt) - lval.token = l.newToken(tb) + lval.Token(l.newToken(tb)) return T_START_HEREDOC } yyrule141: // .|[ \t\n\r] @@ -8526,20 +8525,20 @@ yyrule141: // .|[ \t\n\r] } c = l.Next() } - lval.token = l.newToken(tb) + lval.Token(l.newToken(tb)) return T_ENCAPSED_AND_WHITESPACE } yyrule142: // {VAR_NAME}\; { l.begin(PHP) - lval.token = l.newToken(l.ungetChars(1)) + lval.Token(l.newToken(l.ungetChars(1))) return T_END_HEREDOC goto yystate0 } yyrule143: // {VAR_NAME} { l.begin(PHP) - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_END_HEREDOC goto yystate0 } @@ -8556,8 +8555,8 @@ yyrule144: // [b]?[\"] l.ungetChars(len(l.Token()) - cnt) chars := l.Token()[:cnt] l.pushState(STRING) - lval.token = l.newToken(chars) - return rune2Class('"') + lval.Token(l.newToken(chars)) + return Rune2Class('"') } F: for { @@ -8567,7 +8566,7 @@ yyrule144: // [b]?[\"] switch c { case '"': c = l.Next() - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_CONSTANT_ENCAPSED_STRING break F @@ -8596,13 +8595,13 @@ yyrule144: // [b]?[\"] yyrule145: // \" { l.popState() - lval.token = l.newToken(l.Token()) - return rune2Class(l.Token()[0].Rune) + lval.Token(l.newToken(l.Token())) + return Rune2Class(l.Token()[0].Rune) goto yystate0 } yyrule146: // \{\$ { - lval.token = l.newToken(l.ungetChars(1)) + lval.Token(l.newToken(l.ungetChars(1))) l.pushState(PHP) return T_CURLY_OPEN goto yystate0 @@ -8610,7 +8609,7 @@ yyrule146: // \{\$ yyrule147: // \$\{ { l.pushState(STRING_VAR_NAME) - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_DOLLAR_OPEN_CURLY_BRACES goto yystate0 } @@ -8630,7 +8629,7 @@ yyrule149: // .|[ \t\n\r] } switch c { case '"': - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENCAPSED_AND_WHITESPACE break F1 @@ -8639,7 +8638,7 @@ yyrule149: // .|[ \t\n\r] if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { l.ungetChars(1) tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]) + lval.Token(l.newToken(tb[:len(tb)-1])) return T_ENCAPSED_AND_WHITESPACE break F1 } @@ -8650,7 +8649,7 @@ yyrule149: // .|[ \t\n\r] if rune(c) == '$' { l.ungetChars(1) tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]) + lval.Token(l.newToken(tb[:len(tb)-1])) return T_ENCAPSED_AND_WHITESPACE break F1 } @@ -8672,7 +8671,7 @@ yyrule150: // .|[ \t\n\r] } switch c { case '`': - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENCAPSED_AND_WHITESPACE break F2 @@ -8681,7 +8680,7 @@ yyrule150: // .|[ \t\n\r] if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { l.ungetChars(1) tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]) + lval.Token(l.newToken(tb[:len(tb)-1])) return T_ENCAPSED_AND_WHITESPACE break F2 } @@ -8692,7 +8691,7 @@ yyrule150: // .|[ \t\n\r] if rune(c) == '$' { l.ungetChars(1) tb := l.Token() - lval.token = l.newToken(tb[:len(tb)-1]) + lval.Token(l.newToken(tb[:len(tb)-1])) return T_ENCAPSED_AND_WHITESPACE break F2 } @@ -8759,33 +8758,33 @@ yyrule151: // .|[ \t\n\r] c = l.Next() } - lval.token = l.newToken(tb) + lval.Token(l.newToken(tb)) return T_ENCAPSED_AND_WHITESPACE } yyrule152: // \${VAR_NAME} { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_VARIABLE goto yystate0 } yyrule153: // ->{VAR_NAME} { - lval.token = l.newToken(l.ungetChars(len(l.Token()) - 2)) + lval.Token(l.newToken(l.ungetChars(len(l.Token()) - 2))) return T_OBJECT_OPERATOR goto yystate0 } yyrule154: // {VAR_NAME} { l.popState() - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_STRING goto yystate0 } yyrule155: // \[ { l.pushState(STRING_VAR_INDEX) - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule156: // .|[ \t\n\r] @@ -8796,19 +8795,19 @@ yyrule156: // .|[ \t\n\r] } yyrule157: // {LNUM}|{HNUM}|{BNUM} { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_NUM_STRING goto yystate0 } yyrule158: // \${VAR_NAME} { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_VARIABLE goto yystate0 } yyrule159: // {VAR_NAME} { - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_STRING goto yystate0 } @@ -8816,35 +8815,35 @@ yyrule160: // \] { l.popState() l.popState() - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule161: // [ \n\r\t\\'#] { l.popState() l.popState() - lval.token = l.newToken(l.Token()) + lval.Token(l.newToken(l.Token())) return T_ENCAPSED_AND_WHITESPACE goto yystate0 } yyrule162: // {OPERATORS} { - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule163: // . { - lval.token = l.newToken(l.Token()) - return rune2Class(rune(l.TokenBytes(nil)[0])) + lval.Token(l.newToken(l.Token())) + return Rune2Class(rune(l.TokenBytes(nil)[0])) goto yystate0 } yyrule164: // {VAR_NAME}[\[\}] { l.popState() l.pushState(PHP) - lval.token = l.newToken(l.ungetChars(1)) + lval.Token(l.newToken(l.ungetChars(1))) return T_STRING_VARNAME goto yystate0 } diff --git a/scanner/scanner.l b/scanner/scanner.l new file mode 100644 index 0000000..ab15768 --- /dev/null +++ b/scanner/scanner.l @@ -0,0 +1,609 @@ +%{ +// Copyright (c) 2011 CZ.NIC z.s.p.o. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// blame: jnml, labs.nic.cz + +package scanner + +import ( + "fmt" + "bytes" + "github.com/cznic/golex/lex" + "github.com/z7zmey/php-parser/comment" +) + +const ( + INITIAL = iota + PHP + STRING + STRING_VAR + STRING_VAR_INDEX + STRING_VAR_NAME + PROPERTY + HEREDOC_END + NOWDOC + HEREDOC + BACKQUOTE +) + +var heredocLabel []lex.Char + +func (l *Lexer) Lex(lval Lval) int { + l.Comments = nil + c := l.Enter() + +%} + +%s PHP STRING STRING_VAR STRING_VAR_INDEX STRING_VAR_NAME PROPERTY HEREDOC_END NOWDOC HEREDOC BACKQUOTE + +%yyb last == '\n' || last = '\0' +%yyt l.getCurrentState() +%yyc c +%yyn c = l.Next() +%yym l.Mark() +%optioncase-insensitive + +LNUM [0-9]+ +DNUM ([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*) +HNUM 0x[0-9a-fA-F]+ +BNUM 0b[01]+ +EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM}) +VAR_NAME [a-zA-Z_\x7f-\xff^0-9/][a-zA-Z0-9_\x7f-\xff]* +OPERATORS [;:,.\[\]()|\/\^&\+-*=%!~$<>?@] +NEW_LINE (\r|\n|\r\n) + +%% + c = l.Rule0() + +[ \t\n\r]+ lval.Token(l.newToken(l.Token())); +. + tb := []lex.Char{} + + for { + if c == -1 { + tb = l.Token(); + break; + } + + if '?' == rune(c) { + tb = l.Token(); + if (len(tb) < 2 || tb[len(tb)-1].Rune != '<') { + c = l.Next() + continue; + } + + tb = l.ungetChars(1) + break; + } + + c = l.Next() + } + + lval.Token(l.newToken(tb)) + return T_INLINE_HTML + +\<\?php([ \t]|{NEW_LINE}) l.begin(PHP);lval.Token(l.newToken(l.Token()));// return T_OPEN_TAG; +\<\? l.begin(PHP);lval.Token(l.newToken(l.Token()));// return T_OPEN_TAG; +\<\?= l.begin(PHP);lval.Token(l.newToken(l.Token())); return T_ECHO; + +[ \t\n\r]+ lval.Token(l.newToken(l.Token()));// return T_WHITESPACE +\?\>{NEW_LINE}? l.begin(INITIAL);lval.Token(l.newToken(l.Token())); return Rune2Class(';'); + +{DNUM}|{EXPONENT_DNUM} lval.Token(l.newToken(l.Token())); return T_DNUMBER +{BNUM} + tb := l.Token() + i:=2 + BNUMFOR:for { + if i > len(tb)-1 { + break BNUMFOR; + } + switch tb[i].Rune { + case '0': i++; + default: break BNUMFOR; + } + } + if len(tb) - i < 64 { + lval.Token(l.newToken(l.Token())); return T_LNUMBER + } else { + lval.Token(l.newToken(l.Token())); return T_DNUMBER + } +{LNUM} + if len(l.Token()) < 20 { + lval.Token(l.newToken(l.Token())); return T_LNUMBER + } else { + lval.Token(l.newToken(l.Token())); return T_DNUMBER + } +{HNUM} + tb := l.Token() + i:=2 + HNUMFOR:for { + if i > len(tb)-1 { + break HNUMFOR; + } + switch tb[i].Rune { + case '0': i++; + default: break HNUMFOR; + } + } + length := len(tb) - i + if length < 16 || (length == 16 && tb[i].Rune <= '7') { + lval.Token(l.newToken(l.Token())); return T_LNUMBER + } else { + lval.Token(l.newToken(l.Token())); return T_DNUMBER + } + +abstract lval.Token(l.newToken(l.Token())); return T_ABSTRACT +array lval.Token(l.newToken(l.Token())); return T_ARRAY +as lval.Token(l.newToken(l.Token())); return T_AS +break lval.Token(l.newToken(l.Token())); return T_BREAK +callable lval.Token(l.newToken(l.Token())); return T_CALLABLE +case lval.Token(l.newToken(l.Token())); return T_CASE +catch lval.Token(l.newToken(l.Token())); return T_CATCH +class lval.Token(l.newToken(l.Token())); return T_CLASS +clone lval.Token(l.newToken(l.Token())); return T_CLONE +const lval.Token(l.newToken(l.Token())); return T_CONST; +continue lval.Token(l.newToken(l.Token())); return T_CONTINUE; +declare lval.Token(l.newToken(l.Token())); return T_DECLARE; +default lval.Token(l.newToken(l.Token())); return T_DEFAULT; +do lval.Token(l.newToken(l.Token())); return T_DO; +echo lval.Token(l.newToken(l.Token())); return T_ECHO; +else lval.Token(l.newToken(l.Token())); return T_ELSE; +elseif lval.Token(l.newToken(l.Token())); return T_ELSEIF; +empty lval.Token(l.newToken(l.Token())); return T_EMPTY; +enddeclare lval.Token(l.newToken(l.Token())); return T_ENDDECLARE +endfor lval.Token(l.newToken(l.Token())); return T_ENDFOR +endforeach lval.Token(l.newToken(l.Token())); return T_ENDFOREACH +endif lval.Token(l.newToken(l.Token())); return T_ENDIF +endswitch lval.Token(l.newToken(l.Token())); return T_ENDSWITCH +endwhile lval.Token(l.newToken(l.Token())); return T_ENDWHILE +eval lval.Token(l.newToken(l.Token())); return T_EVAL +exit|die lval.Token(l.newToken(l.Token())); return T_EXIT +extends lval.Token(l.newToken(l.Token())); return T_EXTENDS +final lval.Token(l.newToken(l.Token())); return T_FINAL +finally lval.Token(l.newToken(l.Token())); return T_FINALLY +for lval.Token(l.newToken(l.Token())); return T_FOR +foreach lval.Token(l.newToken(l.Token())); return T_FOREACH +function|cfunction lval.Token(l.newToken(l.Token())); return T_FUNCTION +global lval.Token(l.newToken(l.Token())); return T_GLOBAL +goto lval.Token(l.newToken(l.Token())); return T_GOTO +if lval.Token(l.newToken(l.Token())); return T_IF +isset lval.Token(l.newToken(l.Token())); return T_ISSET +implements lval.Token(l.newToken(l.Token())); return T_IMPLEMENTS +instanceof lval.Token(l.newToken(l.Token())); return T_INSTANCEOF +insteadof lval.Token(l.newToken(l.Token())); return T_INSTEADOF +interface lval.Token(l.newToken(l.Token())); return T_INTERFACE +list lval.Token(l.newToken(l.Token())); return T_LIST +namespace lval.Token(l.newToken(l.Token())); return T_NAMESPACE +private lval.Token(l.newToken(l.Token())); return T_PRIVATE +public lval.Token(l.newToken(l.Token())); return T_PUBLIC +print lval.Token(l.newToken(l.Token())); return T_PRINT +protected lval.Token(l.newToken(l.Token())); return T_PROTECTED +return lval.Token(l.newToken(l.Token())); return T_RETURN +static lval.Token(l.newToken(l.Token())); return T_STATIC +switch lval.Token(l.newToken(l.Token())); return T_SWITCH +throw lval.Token(l.newToken(l.Token())); return T_THROW +trait lval.Token(l.newToken(l.Token())); return T_TRAIT +try lval.Token(l.newToken(l.Token())); return T_TRY +unset lval.Token(l.newToken(l.Token())); return T_UNSET +use lval.Token(l.newToken(l.Token())); return T_USE +var lval.Token(l.newToken(l.Token())); return T_VAR +while lval.Token(l.newToken(l.Token())); return T_WHILE +yield[ \t\n\r]+from[^a-zA-Z0-9_\x80-\xff] lval.Token(l.newToken(l.Token())); return T_YIELD_FROM +yield lval.Token(l.newToken(l.Token())); return T_YIELD +include lval.Token(l.newToken(l.Token())); return T_INCLUDE +include_once lval.Token(l.newToken(l.Token())); return T_INCLUDE_ONCE +require lval.Token(l.newToken(l.Token())); return T_REQUIRE +require_once lval.Token(l.newToken(l.Token())); return T_REQUIRE_ONCE +__CLASS__ lval.Token(l.newToken(l.Token())); return T_CLASS_C +__DIR__ lval.Token(l.newToken(l.Token())); return T_DIR +__FILE__ lval.Token(l.newToken(l.Token())); return T_FILE +__FUNCTION__ lval.Token(l.newToken(l.Token())); return T_FUNC_C +__LINE__ lval.Token(l.newToken(l.Token())); return T_LINE +__NAMESPACE__ lval.Token(l.newToken(l.Token())); return T_NS_C +__METHOD__ lval.Token(l.newToken(l.Token())); return T_METHOD_C +__TRAIT__ lval.Token(l.newToken(l.Token())); return T_TRAIT_C +__halt_compiler lval.Token(l.newToken(l.Token())); return T_HALT_COMPILER +\([ \t]*array[ \t]*\) lval.Token(l.newToken(l.Token())); return T_ARRAY_CAST +\([ \t]*(bool|boolean)[ \t]*\) lval.Token(l.newToken(l.Token())); return T_BOOL_CAST +\([ \t]*(real|double|float)[ \t]*\) lval.Token(l.newToken(l.Token())); return T_DOUBLE_CAST +\([ \t]*(int|integer)[ \t]*\) lval.Token(l.newToken(l.Token())); return T_INT_CAST +\([ \t]*object[ \t]*\) lval.Token(l.newToken(l.Token())); return T_OBJECT_CAST +\([ \t]*string[ \t]*\) lval.Token(l.newToken(l.Token())); return T_STRING_CAST +\([ \t]*unset[ \t]*\) lval.Token(l.newToken(l.Token())); return T_UNSET_CAST +new lval.Token(l.newToken(l.Token())); return T_NEW +and lval.Token(l.newToken(l.Token())); return T_LOGICAL_AND +or lval.Token(l.newToken(l.Token())); return T_LOGICAL_OR +xor lval.Token(l.newToken(l.Token())); return T_LOGICAL_XOR +\\ lval.Token(l.newToken(l.Token())); return T_NS_SEPARATOR +\.\.\. lval.Token(l.newToken(l.Token())); return T_ELLIPSIS; +:: lval.Token(l.newToken(l.Token())); return T_PAAMAYIM_NEKUDOTAYIM; // T_DOUBLE_COLON +&& lval.Token(l.newToken(l.Token())); return T_BOOLEAN_AND +\|\| lval.Token(l.newToken(l.Token())); return T_BOOLEAN_OR +&= lval.Token(l.newToken(l.Token())); return T_AND_EQUAL +\|= lval.Token(l.newToken(l.Token())); return T_OR_EQUAL +\.= lval.Token(l.newToken(l.Token())); return T_CONCAT_EQUAL; +\*= lval.Token(l.newToken(l.Token())); return T_MUL_EQUAL +\*\*= lval.Token(l.newToken(l.Token())); return T_POW_EQUAL +[/]= lval.Token(l.newToken(l.Token())); return T_DIV_EQUAL; +\+= lval.Token(l.newToken(l.Token())); return T_PLUS_EQUAL +-= lval.Token(l.newToken(l.Token())); return T_MINUS_EQUAL +\^= lval.Token(l.newToken(l.Token())); return T_XOR_EQUAL +%= lval.Token(l.newToken(l.Token())); return T_MOD_EQUAL +-- lval.Token(l.newToken(l.Token())); return T_DEC; +\+\+ lval.Token(l.newToken(l.Token())); return T_INC +=> lval.Token(l.newToken(l.Token())); return T_DOUBLE_ARROW; +\<=\> lval.Token(l.newToken(l.Token())); return T_SPACESHIP +\!=|\<\> lval.Token(l.newToken(l.Token())); return T_IS_NOT_EQUAL +\!== lval.Token(l.newToken(l.Token())); return T_IS_NOT_IDENTICAL +== lval.Token(l.newToken(l.Token())); return T_IS_EQUAL +=== lval.Token(l.newToken(l.Token())); return T_IS_IDENTICAL +\<\<= lval.Token(l.newToken(l.Token())); return T_SL_EQUAL +\>\>= lval.Token(l.newToken(l.Token())); return T_SR_EQUAL +\>= lval.Token(l.newToken(l.Token())); return T_IS_GREATER_OR_EQUAL +\<= lval.Token(l.newToken(l.Token())); return T_IS_SMALLER_OR_EQUAL +\*\* lval.Token(l.newToken(l.Token())); return T_POW +\<\< lval.Token(l.newToken(l.Token())); return T_SL +\>\> lval.Token(l.newToken(l.Token())); return T_SR +\?\? lval.Token(l.newToken(l.Token())); return T_COALESCE +(#|[/][/]).*{NEW_LINE} lval.Token(l.newToken(l.Token()));// return T_COMMENT; // TODO: handle ?> +([/][*])|([/][*][*]) + tb := l.Token() + is_doc_comment := false + if len(tb) > 2 { + is_doc_comment = true + l.PhpDocComment = "" + } + + for { + if c == -1 { + break; // TODO: Unterminated comment starting line %d + } + + p := c + c = l.Next() + + if rune(p) == '*' && rune(c) == '/' { + c = l.Next() + break; + } + } + + lval.Token(l.newToken(l.Token())) + if is_doc_comment { + l.PhpDocComment = string(l.TokenBytes(nil)) + l.addComment(comment.NewDocComment(string(l.TokenBytes(nil)))) + // return T_DOC_COMMENT + } else { + l.addComment(comment.NewPlainComment(string(l.TokenBytes(nil)))) + // return T_COMMENT + } + +{OPERATORS} lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) + +\{ l.pushState(PHP); lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) +\} l.popState(); lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])); l.PhpDocComment = "" +\${VAR_NAME} lval.Token(l.newToken(l.Token())); return T_VARIABLE +{VAR_NAME} lval.Token(l.newToken(l.Token())); return T_STRING + +-> l.begin(PROPERTY);lval.Token(l.newToken(l.Token())); return T_OBJECT_OPERATOR; +[ \t\n\r]+ lval.Token(l.newToken(l.Token())); return T_WHITESPACE; +-> lval.Token(l.newToken(l.Token())); return T_OBJECT_OPERATOR; +{VAR_NAME} l.begin(PHP);lval.Token(l.newToken(l.Token())); return T_STRING; +. l.ungetChars(1);l.begin(PHP) + +[\']([^\\\']*([\\].)*)*[\'] lval.Token(l.newToken(l.Token())); return T_CONSTANT_ENCAPSED_STRING; + +` l.begin(BACKQUOTE); lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) +` l.begin(PHP); lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) + +[b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])){NEW_LINE} + tb := l.Token() + binPrefix := 0 + if tb[0].Rune == 'b' { + binPrefix = 1 + } + + lblFirst := 3 + binPrefix + lblLast := len(tb)-2 + if tb[lblLast].Rune == '\r' { + lblLast-- + } + + for { + if tb[lblFirst].Rune == ' ' || tb[lblFirst].Rune == '\t' { + lblFirst++ + continue + } + + break + } + + switch tb[lblFirst].Rune { + case '\'' : + lblFirst++ + lblLast-- + l.begin(NOWDOC) + case '"' : + lblFirst++ + lblLast-- + l.begin(HEREDOC) + default: + l.begin(HEREDOC) + } + + heredocLabel = make([]lex.Char, lblLast - lblFirst + 1) + copy(heredocLabel, tb[lblFirst:lblLast+1]) + + ungetCnt := len(heredocLabel) + searchLabelAhead := []lex.Char{} + for i := 0; i < len(heredocLabel); i++ { + if c == -1 { + break; + } + searchLabelAhead = append(searchLabelAhead, l.Lookahead()) + c = l.Next() + } + + if bytes.Equal(l.charsToBytes(heredocLabel), l.charsToBytes(searchLabelAhead)) && ';' == rune(c) { + ungetCnt++ + c = l.Next() + if '\n' == rune(c) || '\r' == rune(c) { + l.begin(HEREDOC_END) + } + } + + l.ungetChars(ungetCnt) + + lval.Token(l.newToken(tb)); + return T_START_HEREDOC + +.|[ \t\n\r] + searchLabel := []byte{} + tb := []lex.Char{} + + for { + if c == -1 { + break; + } + + if '\n' == rune(c) || '\r' == rune(c) { + if bytes.Equal(append(l.charsToBytes(heredocLabel), ';'), searchLabel) { + l.begin(HEREDOC_END) + tb = l.ungetChars(len(heredocLabel)+1) + break; + } + + if bytes.Equal(l.charsToBytes(heredocLabel), searchLabel) { + l.begin(HEREDOC_END) + tb = l.ungetChars(len(heredocLabel)) + break; + } + + searchLabel = []byte{} + } else { + searchLabel = append(searchLabel, byte(rune(c))) + } + + c = l.Next() + } + + lval.Token(l.newToken(tb) ) + return T_ENCAPSED_AND_WHITESPACE + +{VAR_NAME}\; l.begin(PHP);lval.Token(l.newToken(l.ungetChars(1))); return T_END_HEREDOC +{VAR_NAME} l.begin(PHP);lval.Token(l.newToken(l.Token())); return T_END_HEREDOC + +[b]?[\"] + binPrefix := l.Token()[0].Rune == 'b' + + beginString := func() int { + cnt := 1; if (binPrefix) {cnt = 2} + + l.ungetChars(len(l.Token())-cnt) + chars := l.Token()[:cnt] + l.pushState(STRING) + + lval.Token(l.newToken(chars)); return Rune2Class('"') + } + + F:for { + if c == -1 { + break; + } + + switch c { + case '"' : + c = l.Next(); + lval.Token(l.newToken(l.Token())); return T_CONSTANT_ENCAPSED_STRING + break F; + + case '$': + c = l.Next(); + if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { + return beginString() + break F; + } + l.ungetChars(0) + + case '{': + c = l.Next(); + if rune(c) == '$' { + return beginString() + break F; + } + l.ungetChars(0) + + case '\\': + c = l.Next(); + } + + c = l.Next() + } + +\" l.popState(); lval.Token(l.newToken(l.Token())); return Rune2Class(l.Token()[0].Rune) +\{\$ lval.Token(l.newToken(l.ungetChars(1))); l.pushState(PHP); return T_CURLY_OPEN +\$\{ l.pushState(STRING_VAR_NAME); lval.Token(l.newToken(l.Token())); return T_DOLLAR_OPEN_CURLY_BRACES +\$ l.ungetChars(1);l.pushState(STRING_VAR) +.|[ \t\n\r] + F1:for { + if c == -1 { + break; + } + + switch c { + case '"' : + lval.Token(l.newToken(l.Token())); + return T_ENCAPSED_AND_WHITESPACE + break F1; + + case '$': + c = l.Next(); + if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { + l.ungetChars(1) + tb := l.Token() + lval.Token(l.newToken(tb[:len(tb)-1])); + return T_ENCAPSED_AND_WHITESPACE + break F1; + } + l.ungetChars(0) + + case '{': + c = l.Next(); + if rune(c) == '$' { + l.ungetChars(1) + tb := l.Token() + lval.Token(l.newToken(tb[:len(tb)-1])); + return T_ENCAPSED_AND_WHITESPACE + break F1; + } + l.ungetChars(0) + + case '\\': + c = l.Next(); + } + + c = l.Next() + } + +.|[ \t\n\r] + F2:for { + if c == -1 { + break; + } + + switch c { + case '`' : + lval.Token(l.newToken(l.Token())); + return T_ENCAPSED_AND_WHITESPACE + break F2; + + case '$': + c = l.Next(); + if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { + l.ungetChars(1) + tb := l.Token() + lval.Token(l.newToken(tb[:len(tb)-1])); + return T_ENCAPSED_AND_WHITESPACE + break F2; + } + l.ungetChars(0) + + case '{': + c = l.Next(); + if rune(c) == '$' { + l.ungetChars(1) + tb := l.Token() + lval.Token(l.newToken(tb[:len(tb)-1])); + return T_ENCAPSED_AND_WHITESPACE + break F2; + } + l.ungetChars(0) + + case '\\': + c = l.Next(); + } + + c = l.Next() + } + +.|[ \t\n\r] + searchLabel := []byte{} + tb := []lex.Char{} + + HEREDOCFOR:for { + if c == -1 { + break; + } + + switch c { + case '\n': fallthrough + case '\r': + if bytes.Equal(append(l.charsToBytes(heredocLabel), ';'), searchLabel) { + l.begin(HEREDOC_END) + tb = l.ungetChars(len(heredocLabel)+1) + break HEREDOCFOR; + } + + if bytes.Equal(l.charsToBytes(heredocLabel), searchLabel) { + l.begin(HEREDOC_END) + tb = l.ungetChars(len(heredocLabel)) + break HEREDOCFOR; + } + + searchLabel = []byte{} + + case '$': + c = l.Next(); + if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { + tb = l.ungetChars(1) + break HEREDOCFOR; + } + l.ungetChars(0) + searchLabel = []byte{} + + case '{': + c = l.Next(); + if rune(c) == '$' { + tb = l.ungetChars(1) + break HEREDOCFOR; + } + l.ungetChars(0) + searchLabel = []byte{} + + case '\\': + c = l.Next(); + searchLabel = []byte{} + + default: + searchLabel = append(searchLabel, byte(rune(c))) + } + + c = l.Next() + } + + lval.Token(l.newToken(tb)); + return T_ENCAPSED_AND_WHITESPACE + +\${VAR_NAME} lval.Token(l.newToken(l.Token())); return T_VARIABLE +->{VAR_NAME} lval.Token(l.newToken(l.ungetChars(len(l.Token())-2))); return T_OBJECT_OPERATOR +{VAR_NAME} l.popState();lval.Token(l.newToken(l.Token())); return T_STRING +\[ l.pushState(STRING_VAR_INDEX);lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) +.|[ \t\n\r] l.ungetChars(1);l.popState() + +{LNUM}|{HNUM}|{BNUM} lval.Token(l.newToken(l.Token())); return T_NUM_STRING +\${VAR_NAME} lval.Token(l.newToken(l.Token())); return T_VARIABLE +{VAR_NAME} lval.Token(l.newToken(l.Token())); return T_STRING +\] l.popState(); l.popState();lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) +[ \n\r\t\\'#] l.popState(); l.popState();lval.Token(l.newToken(l.Token())); return T_ENCAPSED_AND_WHITESPACE +{OPERATORS} lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) +. lval.Token(l.newToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) + +{VAR_NAME}[\[\}] l.popState();l.pushState(PHP);lval.Token(l.newToken(l.ungetChars(1))); return T_STRING_VARNAME +. l.ungetChars(1);l.popState();l.pushState(PHP) + +%% + if c, ok := l.Abort(); ok { return int(c) } + goto yyAction +} \ No newline at end of file From 1a045403dbdc91d79a194d1894fb296dbba1a5dd Mon Sep 17 00:00:00 2001 From: z7zmey Date: Thu, 25 Jan 2018 17:42:15 +0200 Subject: [PATCH 02/31] refactor php7parser --- Makefile | 4 +- main.go | 4 +- parser/php7.go => php7parser/parser.go | 978 ++++++++++++------------- parser/php7.y => php7parser/parser.y | 4 +- 4 files changed, 495 insertions(+), 495 deletions(-) rename parser/php7.go => php7parser/parser.go (91%) rename parser/php7.y => php7parser/parser.y (99%) diff --git a/Makefile b/Makefile index 9a03906..a32f6a8 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ PHPFILE=example.php -all: ./parser/php7.go ./scanner/scanner.go +all: ./php7parser/parser.go ./scanner/scanner.go rm -f y.output gofmt -l -s -w *.go go build @@ -14,5 +14,5 @@ test: all ./scanner/scanner.go: ./scanner/scanner.l golex -o $@ $< -./parser/php7.go: ./parser/php7.y +./php7parser/parser.go: ./php7parser/parser.y goyacc -o $@ $< diff --git a/main.go b/main.go index b582146..d2fbf52 100644 --- a/main.go +++ b/main.go @@ -8,7 +8,7 @@ import ( "path/filepath" "github.com/yookoala/realpath" - "github.com/z7zmey/php-parser/parser" + php7parser "github.com/z7zmey/php-parser/php7parser" ) func main() { @@ -23,7 +23,7 @@ func main() { fmt.Printf("==> %s\n", path) src, _ := os.Open(string(path)) - nodes, comments, positions := parser.ParsePhp7(src, path) + nodes, comments, positions := php7parser.Parse(src, path) visitor := Dumper{ Indent: " | ", diff --git a/parser/php7.go b/php7parser/parser.go similarity index 91% rename from parser/php7.go rename to php7parser/parser.go index 5fb4108..ab155d0 100644 --- a/parser/php7.go +++ b/php7parser/parser.go @@ -1,9 +1,9 @@ -//line parser/php7.y:2 -package parser +//line php7parser/parser.y:2 +package php7parser import __yyfmt__ "fmt" -//line parser/php7.y:2 +//line php7parser/parser.y:2 import ( "bufio" goToken "go/token" @@ -53,7 +53,7 @@ func newLexer(src io.Reader, fName string) *lexer { return &lexer{scanner.Lexer{lx, []int{0}, "", nil}} } -func ParsePhp7(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { +func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { yyDebug = 0 yyErrorVerbose = true rootnode = stmt.NewStmtList([]node.Node{}) //reset @@ -89,7 +89,7 @@ type boolWithToken struct { token *token.Token } -//line parser/php7.y:91 +//line php7parser/parser.y:91 type yySymType struct { yys int node node.Node @@ -413,7 +413,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line parser/php7.y:2654 +//line php7parser/parser.y:2654 //line yacctab:1 var yyExca = [...]int{ @@ -2122,482 +2122,482 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:321 + //line php7parser/parser.y:321 { rootnode = stmt.NewStmtList(yyDollar[1].list) positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:328 + //line php7parser/parser.y:328 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:329 + //line php7parser/parser.y:329 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:330 + //line php7parser/parser.y:330 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:331 + //line php7parser/parser.y:331 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:332 + //line php7parser/parser.y:332 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:333 + //line php7parser/parser.y:333 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:334 + //line php7parser/parser.y:334 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:338 + //line php7parser/parser.y:338 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:339 + //line php7parser/parser.y:339 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:339 + //line php7parser/parser.y:339 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:339 + //line php7parser/parser.y:339 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:339 + //line php7parser/parser.y:339 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:339 + //line php7parser/parser.y:339 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:339 + //line php7parser/parser.y:339 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:343 + //line php7parser/parser.y:343 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:344 + //line php7parser/parser.y:344 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:348 + //line php7parser/parser.y:348 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:349 + //line php7parser/parser.y:349 { yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:354 + //line php7parser/parser.y:354 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2606,7 +2606,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:361 + //line php7parser/parser.y:361 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2615,7 +2615,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:371 + //line php7parser/parser.y:371 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2623,7 +2623,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:377 + //line php7parser/parser.y:377 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -2631,7 +2631,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:383 + //line php7parser/parser.y:383 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -2639,43 +2639,43 @@ yydefault: } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:391 + //line php7parser/parser.y:391 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:392 + //line php7parser/parser.y:392 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:393 + //line php7parser/parser.y:393 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:394 + //line php7parser/parser.y:394 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:395 + //line php7parser/parser.y:395 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:396 + //line php7parser/parser.y:396 { yyVAL.node = stmt.NewHaltCompiler() } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:398 + //line php7parser/parser.y:398 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2687,7 +2687,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:408 + //line php7parser/parser.y:408 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2699,7 +2699,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:418 + //line php7parser/parser.y:418 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2707,19 +2707,19 @@ yydefault: } case 94: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:423 + //line php7parser/parser.y:423 { yyVAL.node = yyDollar[2].node } case 95: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:424 + //line php7parser/parser.y:424 { yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) } case 96: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:426 + //line php7parser/parser.y:426 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2727,13 +2727,13 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:431 + //line php7parser/parser.y:431 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } case 98: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:433 + //line php7parser/parser.y:433 { yyVAL.node = stmt.NewConstList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2741,7 +2741,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:442 + //line php7parser/parser.y:442 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2749,7 +2749,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:448 + //line php7parser/parser.y:448 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2757,7 +2757,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:457 + //line php7parser/parser.y:457 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2769,7 +2769,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:467 + //line php7parser/parser.y:467 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2781,7 +2781,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:480 + //line php7parser/parser.y:480 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2793,7 +2793,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:490 + //line php7parser/parser.y:490 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2805,55 +2805,55 @@ yydefault: } case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:508 + //line php7parser/parser.y:508 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:509 + //line php7parser/parser.y:509 { yyVAL.list = []node.Node{yyDollar[1].node} } case 109: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:514 + //line php7parser/parser.y:514 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:515 + //line php7parser/parser.y:515 { yyVAL.list = []node.Node{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:519 + //line php7parser/parser.y:519 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:520 + //line php7parser/parser.y:520 { yyVAL.list = []node.Node{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:524 + //line php7parser/parser.y:524 { yyVAL.node = yyDollar[1].node } case 114: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:525 + //line php7parser/parser.y:525 { yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } case 115: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:530 + //line php7parser/parser.y:530 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2865,7 +2865,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:540 + //line php7parser/parser.y:540 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2880,73 +2880,73 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:555 + //line php7parser/parser.y:555 { yyVAL.node = yyDollar[1].node } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:556 + //line php7parser/parser.y:556 { yyVAL.node = yyDollar[2].node } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:560 + //line php7parser/parser.y:560 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 120: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:561 + //line php7parser/parser.y:561 { yyVAL.list = []node.Node{yyDollar[1].node} } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:565 + //line php7parser/parser.y:565 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 122: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:566 + //line php7parser/parser.y:566 { yyVAL.list = []node.Node{} } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:570 + //line php7parser/parser.y:570 { yyVAL.node = yyDollar[1].node } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:571 + //line php7parser/parser.y:571 { yyVAL.node = yyDollar[1].node } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:572 + //line php7parser/parser.y:572 { yyVAL.node = yyDollar[1].node } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:573 + //line php7parser/parser.y:573 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:574 + //line php7parser/parser.y:574 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:576 + //line php7parser/parser.y:576 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2954,7 +2954,7 @@ yydefault: } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:584 + //line php7parser/parser.y:584 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2962,19 +2962,19 @@ yydefault: } case 130: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:589 + //line php7parser/parser.y:589 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:590 + //line php7parser/parser.y:590 { yyVAL.node = yyDollar[1].node } case 132: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:592 + //line php7parser/parser.y:592 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2982,7 +2982,7 @@ yydefault: } case 133: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:598 + //line php7parser/parser.y:598 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) @@ -2990,7 +2990,7 @@ yydefault: } case 134: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:604 + //line php7parser/parser.y:604 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2998,7 +2998,7 @@ yydefault: } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:610 + //line php7parser/parser.y:610 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) @@ -3006,7 +3006,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:616 + //line php7parser/parser.y:616 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3014,7 +3014,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:622 + //line php7parser/parser.y:622 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3022,7 +3022,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:628 + //line php7parser/parser.y:628 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3030,7 +3030,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:634 + //line php7parser/parser.y:634 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3038,7 +3038,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:640 + //line php7parser/parser.y:640 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3046,7 +3046,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:646 + //line php7parser/parser.y:646 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3054,7 +3054,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:652 + //line php7parser/parser.y:652 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3062,7 +3062,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:658 + //line php7parser/parser.y:658 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -3070,7 +3070,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:664 + //line php7parser/parser.y:664 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) @@ -3078,7 +3078,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:670 + //line php7parser/parser.y:670 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) @@ -3086,7 +3086,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:676 + //line php7parser/parser.y:676 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -3094,7 +3094,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:682 + //line php7parser/parser.y:682 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3102,7 +3102,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:688 + //line php7parser/parser.y:688 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3110,7 +3110,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:694 + //line php7parser/parser.y:694 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3124,7 +3124,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:706 + //line php7parser/parser.y:706 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3132,7 +3132,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:712 + //line php7parser/parser.y:712 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3144,7 +3144,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:722 + //line php7parser/parser.y:722 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3156,13 +3156,13 @@ yydefault: } case 153: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:733 + //line php7parser/parser.y:733 { yyVAL.list = []node.Node{} } case 154: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:735 + //line php7parser/parser.y:735 { identifier := node.NewIdentifier(yyDollar[5].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) @@ -3178,25 +3178,25 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:750 + //line php7parser/parser.y:750 { yyVAL.list = []node.Node{yyDollar[1].node} } case 156: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:751 + //line php7parser/parser.y:751 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:755 + //line php7parser/parser.y:755 { yyVAL.node = nil } case 158: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:757 + //line php7parser/parser.y:757 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3204,25 +3204,25 @@ yydefault: } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:765 + //line php7parser/parser.y:765 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:766 + //line php7parser/parser.y:766 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:770 + //line php7parser/parser.y:770 { yyVAL.node = yyDollar[1].node } case 162: yyDollar = yyS[yypt-11 : yypt+1] - //line parser/php7.y:775 + //line php7parser/parser.y:775 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3234,31 +3234,31 @@ yydefault: } case 163: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:787 + //line php7parser/parser.y:787 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 164: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:788 + //line php7parser/parser.y:788 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:792 + //line php7parser/parser.y:792 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:793 + //line php7parser/parser.y:793 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: yyDollar = yyS[yypt-9 : yypt+1] - //line parser/php7.y:798 + //line php7parser/parser.y:798 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3270,7 +3270,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-8 : yypt+1] - //line parser/php7.y:808 + //line php7parser/parser.y:808 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3282,19 +3282,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:820 + //line php7parser/parser.y:820 { yyVAL.list = []node.Node{yyDollar[1].node} } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:821 + //line php7parser/parser.y:821 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:826 + //line php7parser/parser.y:826 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3302,7 +3302,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:832 + //line php7parser/parser.y:832 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3310,7 +3310,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:841 + //line php7parser/parser.y:841 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3322,7 +3322,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:854 + //line php7parser/parser.y:854 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3334,55 +3334,55 @@ yydefault: } case 175: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:866 + //line php7parser/parser.y:866 { yyVAL.node = nil } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:867 + //line php7parser/parser.y:867 { yyVAL.node = yyDollar[2].node } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:871 + //line php7parser/parser.y:871 { yyVAL.list = nil } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:872 + //line php7parser/parser.y:872 { yyVAL.list = yyDollar[2].list } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:876 + //line php7parser/parser.y:876 { yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:877 + //line php7parser/parser.y:877 { yyVAL.list = yyDollar[2].list } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:881 + //line php7parser/parser.y:881 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:882 + //line php7parser/parser.y:882 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:884 + //line php7parser/parser.y:884 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3391,7 +3391,7 @@ yydefault: } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:891 + //line php7parser/parser.y:891 { list := expr.NewShortList(yyDollar[2].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3400,13 +3400,13 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:900 + //line php7parser/parser.y:900 { yyVAL.node = yyDollar[1].node } case 186: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:902 + //line php7parser/parser.y:902 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3414,13 +3414,13 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:910 + //line php7parser/parser.y:910 { yyVAL.node = yyDollar[1].node } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:912 + //line php7parser/parser.y:912 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3428,13 +3428,13 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:920 + //line php7parser/parser.y:920 { yyVAL.node = yyDollar[1].node } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:922 + //line php7parser/parser.y:922 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3442,37 +3442,37 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:930 + //line php7parser/parser.y:930 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:931 + //line php7parser/parser.y:931 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:932 + //line php7parser/parser.y:932 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:933 + //line php7parser/parser.y:933 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:937 + //line php7parser/parser.y:937 { yyVAL.list = []node.Node{} } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:939 + //line php7parser/parser.y:939 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3481,7 +3481,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:946 + //line php7parser/parser.y:946 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3490,13 +3490,13 @@ yydefault: } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:960 + //line php7parser/parser.y:960 { yyVAL.node = yyDollar[1].node } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:962 + //line php7parser/parser.y:962 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3504,7 +3504,7 @@ yydefault: } case 202: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:971 + //line php7parser/parser.y:971 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3512,7 +3512,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:977 + //line php7parser/parser.y:977 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) @@ -3523,13 +3523,13 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:988 + //line php7parser/parser.y:988 { yyVAL.node = yyDollar[1].node } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:990 + //line php7parser/parser.y:990 { _else := stmt.NewElse(yyDollar[3].node) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) @@ -3540,7 +3540,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:1002 + //line php7parser/parser.y:1002 { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) @@ -3552,7 +3552,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-7 : yypt+1] - //line parser/php7.y:1012 + //line php7parser/parser.y:1012 { stmts := stmt.NewStmtList(yyDollar[7].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) @@ -3565,14 +3565,14 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1026 + //line php7parser/parser.y:1026 { yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:1031 + //line php7parser/parser.y:1031 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -3586,31 +3586,31 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1045 + //line php7parser/parser.y:1045 { yyVAL.list = yyDollar[1].list } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1046 + //line php7parser/parser.y:1046 { yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1050 + //line php7parser/parser.y:1050 { yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1051 + //line php7parser/parser.y:1051 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 214: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1056 + //line php7parser/parser.y:1056 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3640,7 +3640,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:1084 + //line php7parser/parser.y:1084 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3670,25 +3670,25 @@ yydefault: } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1114 + //line php7parser/parser.y:1114 { yyVAL.node = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1115 + //line php7parser/parser.y:1115 { yyVAL.node = yyDollar[1].node } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1119 + //line php7parser/parser.y:1119 { yyVAL.node = yyDollar[1].node } case 219: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1121 + //line php7parser/parser.y:1121 { yyVAL.node = node.NewNullable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3696,7 +3696,7 @@ yydefault: } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1130 + //line php7parser/parser.y:1130 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3704,7 +3704,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1136 + //line php7parser/parser.y:1136 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3712,49 +3712,49 @@ yydefault: } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1141 + //line php7parser/parser.y:1141 { yyVAL.node = yyDollar[1].node } case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1145 + //line php7parser/parser.y:1145 { yyVAL.node = nil } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1146 + //line php7parser/parser.y:1146 { yyVAL.node = yyDollar[2].node } case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1150 + //line php7parser/parser.y:1150 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1151 + //line php7parser/parser.y:1151 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1155 + //line php7parser/parser.y:1155 { yyVAL.list = []node.Node{yyDollar[1].node} } case 228: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1156 + //line php7parser/parser.y:1156 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1161 + //line php7parser/parser.y:1161 { yyVAL.node = node.NewArgument(yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3762,7 +3762,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1167 + //line php7parser/parser.y:1167 { yyVAL.node = node.NewArgument(yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3770,37 +3770,37 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1175 + //line php7parser/parser.y:1175 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1176 + //line php7parser/parser.y:1176 { yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1180 + //line php7parser/parser.y:1180 { yyVAL.node = yyDollar[1].node } case 234: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1184 + //line php7parser/parser.y:1184 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1185 + //line php7parser/parser.y:1185 { yyVAL.list = []node.Node{yyDollar[1].node} } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1190 + //line php7parser/parser.y:1190 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3815,7 +3815,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1203 + //line php7parser/parser.y:1203 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3830,19 +3830,19 @@ yydefault: } case 238: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1218 + //line php7parser/parser.y:1218 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1219 + //line php7parser/parser.y:1219 { yyVAL.list = []node.Node{} } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1224 + //line php7parser/parser.y:1224 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3850,7 +3850,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1230 + //line php7parser/parser.y:1230 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) @@ -3858,7 +3858,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1236 + //line php7parser/parser.y:1236 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3866,7 +3866,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-10 : yypt+1] - //line parser/php7.y:1242 + //line php7parser/parser.y:1242 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3878,61 +3878,61 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1254 + //line php7parser/parser.y:1254 { yyVAL.list = []node.Node{yyDollar[1].node} } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1255 + //line php7parser/parser.y:1255 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1259 + //line php7parser/parser.y:1259 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1260 + //line php7parser/parser.y:1260 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1261 + //line php7parser/parser.y:1261 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1265 + //line php7parser/parser.y:1265 { yyVAL.list = []node.Node{yyDollar[1].node} } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1266 + //line php7parser/parser.y:1266 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1270 + //line php7parser/parser.y:1270 { yyVAL.node = yyDollar[1].node } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1271 + //line php7parser/parser.y:1271 { yyVAL.node = yyDollar[1].node } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1276 + //line php7parser/parser.y:1276 { name := name.NewName(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3944,7 +3944,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1289 + //line php7parser/parser.y:1289 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3956,7 +3956,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1299 + //line php7parser/parser.y:1299 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3968,7 +3968,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1309 + //line php7parser/parser.y:1309 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3980,7 +3980,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1319 + //line php7parser/parser.y:1319 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3988,7 +3988,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1328 + //line php7parser/parser.y:1328 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4000,13 +4000,13 @@ yydefault: } case 259: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1337 + //line php7parser/parser.y:1337 { yyVAL.node = yyDollar[1].node } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1342 + //line php7parser/parser.y:1342 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4018,25 +4018,25 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1354 + //line php7parser/parser.y:1354 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1355 + //line php7parser/parser.y:1355 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1359 + //line php7parser/parser.y:1359 { yyVAL.list = yyDollar[1].list } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1361 + //line php7parser/parser.y:1361 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4045,31 +4045,31 @@ yydefault: } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1370 + //line php7parser/parser.y:1370 { yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1371 + //line php7parser/parser.y:1371 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1375 + //line php7parser/parser.y:1375 { yyVAL.list = []node.Node{yyDollar[1].node} } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1376 + //line php7parser/parser.y:1376 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1381 + //line php7parser/parser.y:1381 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4077,7 +4077,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1387 + //line php7parser/parser.y:1387 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4085,7 +4085,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1393 + //line php7parser/parser.y:1393 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4093,7 +4093,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1399 + //line php7parser/parser.y:1399 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4101,7 +4101,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1405 + //line php7parser/parser.y:1405 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4109,7 +4109,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1411 + //line php7parser/parser.y:1411 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4117,19 +4117,19 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1419 + //line php7parser/parser.y:1419 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1420 + //line php7parser/parser.y:1420 { yyVAL.list = []node.Node{yyDollar[1].node} } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1425 + //line php7parser/parser.y:1425 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4144,7 +4144,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1438 + //line php7parser/parser.y:1438 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4159,19 +4159,19 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1453 + //line php7parser/parser.y:1453 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1454 + //line php7parser/parser.y:1454 { yyVAL.list = []node.Node{yyDollar[1].node} } case 281: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1459 + //line php7parser/parser.y:1459 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4183,7 +4183,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1472 + //line php7parser/parser.y:1472 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4195,49 +4195,49 @@ yydefault: } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1484 + //line php7parser/parser.y:1484 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1485 + //line php7parser/parser.y:1485 { yyVAL.list = []node.Node{yyDollar[1].node} } case 285: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1489 + //line php7parser/parser.y:1489 { yyVAL.node = yyDollar[1].node } case 286: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1493 + //line php7parser/parser.y:1493 { yyVAL.list = nil } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1494 + //line php7parser/parser.y:1494 { yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1497 + //line php7parser/parser.y:1497 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1498 + //line php7parser/parser.y:1498 { yyVAL.list = []node.Node{yyDollar[1].node} } case 290: yyDollar = yyS[yypt-8 : yypt+1] - //line parser/php7.y:1503 + //line php7parser/parser.y:1503 { if yyDollar[2].nodesWithEndToken != nil { yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) @@ -4251,7 +4251,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1518 + //line php7parser/parser.y:1518 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4265,13 +4265,13 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1529 + //line php7parser/parser.y:1529 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:1534 + //line php7parser/parser.y:1534 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4283,7 +4283,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:1544 + //line php7parser/parser.y:1544 { shortList := expr.NewShortList(yyDollar[2].list) positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4295,7 +4295,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1554 + //line php7parser/parser.y:1554 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4303,7 +4303,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1560 + //line php7parser/parser.y:1560 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4311,7 +4311,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1566 + //line php7parser/parser.y:1566 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4319,7 +4319,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1572 + //line php7parser/parser.y:1572 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4327,7 +4327,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1578 + //line php7parser/parser.y:1578 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4335,7 +4335,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1584 + //line php7parser/parser.y:1584 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4343,7 +4343,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1590 + //line php7parser/parser.y:1590 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4351,7 +4351,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1596 + //line php7parser/parser.y:1596 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4359,7 +4359,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1602 + //line php7parser/parser.y:1602 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4367,7 +4367,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1608 + //line php7parser/parser.y:1608 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4375,7 +4375,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1614 + //line php7parser/parser.y:1614 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4383,7 +4383,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1620 + //line php7parser/parser.y:1620 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4391,7 +4391,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1626 + //line php7parser/parser.y:1626 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4399,7 +4399,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1632 + //line php7parser/parser.y:1632 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4407,7 +4407,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1638 + //line php7parser/parser.y:1638 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4415,7 +4415,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1644 + //line php7parser/parser.y:1644 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4423,7 +4423,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1650 + //line php7parser/parser.y:1650 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4431,7 +4431,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1656 + //line php7parser/parser.y:1656 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4439,7 +4439,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1662 + //line php7parser/parser.y:1662 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4447,7 +4447,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1668 + //line php7parser/parser.y:1668 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4455,7 +4455,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1674 + //line php7parser/parser.y:1674 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4463,7 +4463,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1680 + //line php7parser/parser.y:1680 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4471,7 +4471,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1686 + //line php7parser/parser.y:1686 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4479,7 +4479,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1692 + //line php7parser/parser.y:1692 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4487,7 +4487,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1698 + //line php7parser/parser.y:1698 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4495,7 +4495,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1704 + //line php7parser/parser.y:1704 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4503,7 +4503,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1710 + //line php7parser/parser.y:1710 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4511,7 +4511,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1716 + //line php7parser/parser.y:1716 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4519,7 +4519,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1722 + //line php7parser/parser.y:1722 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4527,7 +4527,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1728 + //line php7parser/parser.y:1728 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4535,7 +4535,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1734 + //line php7parser/parser.y:1734 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4543,7 +4543,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1740 + //line php7parser/parser.y:1740 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4551,7 +4551,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1746 + //line php7parser/parser.y:1746 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4559,7 +4559,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1752 + //line php7parser/parser.y:1752 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4567,7 +4567,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1758 + //line php7parser/parser.y:1758 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4575,7 +4575,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1764 + //line php7parser/parser.y:1764 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4583,7 +4583,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1770 + //line php7parser/parser.y:1770 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4591,7 +4591,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1776 + //line php7parser/parser.y:1776 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4599,7 +4599,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1782 + //line php7parser/parser.y:1782 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4607,7 +4607,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1788 + //line php7parser/parser.y:1788 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4615,7 +4615,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1794 + //line php7parser/parser.y:1794 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4623,7 +4623,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1800 + //line php7parser/parser.y:1800 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4631,7 +4631,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1806 + //line php7parser/parser.y:1806 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4639,7 +4639,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1812 + //line php7parser/parser.y:1812 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4647,7 +4647,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1818 + //line php7parser/parser.y:1818 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4655,7 +4655,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1824 + //line php7parser/parser.y:1824 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4663,7 +4663,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1830 + //line php7parser/parser.y:1830 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4671,7 +4671,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1836 + //line php7parser/parser.y:1836 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4679,7 +4679,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1842 + //line php7parser/parser.y:1842 { yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4687,7 +4687,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1848 + //line php7parser/parser.y:1848 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4695,19 +4695,19 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1853 + //line php7parser/parser.y:1853 { yyVAL.node = yyDollar[2].node } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1854 + //line php7parser/parser.y:1854 { yyVAL.node = yyDollar[1].node } case 347: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:1856 + //line php7parser/parser.y:1856 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4715,7 +4715,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1862 + //line php7parser/parser.y:1862 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4723,7 +4723,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1868 + //line php7parser/parser.y:1868 { yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4731,13 +4731,13 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1873 + //line php7parser/parser.y:1873 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1875 + //line php7parser/parser.y:1875 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4745,7 +4745,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1881 + //line php7parser/parser.y:1881 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4753,7 +4753,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1887 + //line php7parser/parser.y:1887 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4761,7 +4761,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1893 + //line php7parser/parser.y:1893 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4769,7 +4769,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1899 + //line php7parser/parser.y:1899 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4777,7 +4777,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1905 + //line php7parser/parser.y:1905 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4785,7 +4785,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1911 + //line php7parser/parser.y:1911 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4793,7 +4793,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1917 + //line php7parser/parser.y:1917 { yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4801,7 +4801,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1923 + //line php7parser/parser.y:1923 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4809,13 +4809,13 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1928 + //line php7parser/parser.y:1928 { yyVAL.node = yyDollar[1].node } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1930 + //line php7parser/parser.y:1930 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4823,7 +4823,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1936 + //line php7parser/parser.y:1936 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4831,7 +4831,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1942 + //line php7parser/parser.y:1942 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4839,7 +4839,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1948 + //line php7parser/parser.y:1948 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4847,7 +4847,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1954 + //line php7parser/parser.y:1954 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4855,7 +4855,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:1960 + //line php7parser/parser.y:1960 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4863,7 +4863,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-11 : yypt+1] - //line parser/php7.y:1966 + //line php7parser/parser.y:1966 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) @@ -4872,7 +4872,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-12 : yypt+1] - //line parser/php7.y:1973 + //line php7parser/parser.y:1973 { yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) @@ -4881,50 +4881,50 @@ yydefault: } case 369: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1982 + //line php7parser/parser.y:1982 { yyVAL.str = yylex.(*lexer).PhpDocComment yylex.(*lexer).PhpDocComment = "" } case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1986 + //line php7parser/parser.y:1986 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1987 + //line php7parser/parser.y:1987 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:1991 + //line php7parser/parser.y:1991 { yyVAL.list = []node.Node{} } case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:1992 + //line php7parser/parser.y:1992 { yyVAL.list = yyDollar[3].list } case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:1996 + //line php7parser/parser.y:1996 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:1997 + //line php7parser/parser.y:1997 { yyVAL.list = []node.Node{yyDollar[1].node} } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2002 + //line php7parser/parser.y:2002 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4939,7 +4939,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2015 + //line php7parser/parser.y:2015 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4954,7 +4954,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2031 + //line php7parser/parser.y:2031 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4962,7 +4962,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2037 + //line php7parser/parser.y:2037 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4970,7 +4970,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2043 + //line php7parser/parser.y:2043 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4978,7 +4978,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2049 + //line php7parser/parser.y:2049 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4986,7 +4986,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2058 + //line php7parser/parser.y:2058 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4994,67 +4994,67 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2063 + //line php7parser/parser.y:2063 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2067 + //line php7parser/parser.y:2067 { yyVAL.node = yyDollar[1].node } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2068 + //line php7parser/parser.y:2068 { yyVAL.node = yyDollar[1].node } case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2072 + //line php7parser/parser.y:2072 { yyVAL.node = nil } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2073 + //line php7parser/parser.y:2073 { yyVAL.node = yyDollar[2].node } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2077 + //line php7parser/parser.y:2077 { yyVAL.list = []node.Node{} } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2078 + //line php7parser/parser.y:2078 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2079 + //line php7parser/parser.y:2079 { yyVAL.list = yyDollar[1].list } case 391: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2083 + //line php7parser/parser.y:2083 { yyVAL.nodesWithEndToken = nil } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2084 + //line php7parser/parser.y:2084 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2089 + //line php7parser/parser.y:2089 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5062,7 +5062,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2095 + //line php7parser/parser.y:2095 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5070,7 +5070,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2101 + //line php7parser/parser.y:2101 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5078,7 +5078,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2110 + //line php7parser/parser.y:2110 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5086,7 +5086,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2116 + //line php7parser/parser.y:2116 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5094,7 +5094,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2122 + //line php7parser/parser.y:2122 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5102,7 +5102,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2128 + //line php7parser/parser.y:2128 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5110,7 +5110,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2134 + //line php7parser/parser.y:2134 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5118,7 +5118,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2140 + //line php7parser/parser.y:2140 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5126,7 +5126,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2146 + //line php7parser/parser.y:2146 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5134,7 +5134,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2152 + //line php7parser/parser.y:2152 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5142,7 +5142,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2158 + //line php7parser/parser.y:2158 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5150,7 +5150,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2164 + //line php7parser/parser.y:2164 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5158,7 +5158,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2170 + //line php7parser/parser.y:2170 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5166,7 +5166,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2175 + //line php7parser/parser.y:2175 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5174,7 +5174,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2181 + //line php7parser/parser.y:2181 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5182,7 +5182,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2187 + //line php7parser/parser.y:2187 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5190,19 +5190,19 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2192 + //line php7parser/parser.y:2192 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2193 + //line php7parser/parser.y:2193 { yyVAL.node = yyDollar[1].node } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2198 + //line php7parser/parser.y:2198 { yyVAL.node = expr.NewConstFetch(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5210,7 +5210,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2204 + //line php7parser/parser.y:2204 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5222,7 +5222,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2214 + //line php7parser/parser.y:2214 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5234,79 +5234,79 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2226 + //line php7parser/parser.y:2226 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2227 + //line php7parser/parser.y:2227 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2231 + //line php7parser/parser.y:2231 { yyVAL.node = nil } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2232 + //line php7parser/parser.y:2232 { yyVAL.node = yyDollar[1].node } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2236 + //line php7parser/parser.y:2236 { yyVAL.node = yyDollar[1].node } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2240 + //line php7parser/parser.y:2240 { yyVAL.node = yyDollar[1].node } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2241 + //line php7parser/parser.y:2241 { yyVAL.node = yyDollar[2].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2242 + //line php7parser/parser.y:2242 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2246 + //line php7parser/parser.y:2246 { yyVAL.node = yyDollar[1].node } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2247 + //line php7parser/parser.y:2247 { yyVAL.node = yyDollar[2].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2248 + //line php7parser/parser.y:2248 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2252 + //line php7parser/parser.y:2252 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2254 + //line php7parser/parser.y:2254 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5314,7 +5314,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2260 + //line php7parser/parser.y:2260 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5322,7 +5322,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2266 + //line php7parser/parser.y:2266 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5330,7 +5330,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2272 + //line php7parser/parser.y:2272 { yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5338,25 +5338,25 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2277 + //line php7parser/parser.y:2277 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2281 + //line php7parser/parser.y:2281 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2282 + //line php7parser/parser.y:2282 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2284 + //line php7parser/parser.y:2284 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5364,7 +5364,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2293 + //line php7parser/parser.y:2293 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5376,7 +5376,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2303 + //line php7parser/parser.y:2303 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5384,7 +5384,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2309 + //line php7parser/parser.y:2309 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5392,7 +5392,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2318 + //line php7parser/parser.y:2318 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5400,7 +5400,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2324 + //line php7parser/parser.y:2324 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5408,13 +5408,13 @@ yydefault: } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2332 + //line php7parser/parser.y:2332 { yyVAL.node = yyDollar[1].node } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2334 + //line php7parser/parser.y:2334 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5422,7 +5422,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2340 + //line php7parser/parser.y:2340 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5430,7 +5430,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2346 + //line php7parser/parser.y:2346 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5438,7 +5438,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2352 + //line php7parser/parser.y:2352 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5446,7 +5446,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2358 + //line php7parser/parser.y:2358 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5454,7 +5454,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2367 + //line php7parser/parser.y:2367 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5462,19 +5462,19 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2372 + //line php7parser/parser.y:2372 { yyVAL.node = yyDollar[2].node } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2373 + //line php7parser/parser.y:2373 { yyVAL.node = yyDollar[1].node } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2378 + //line php7parser/parser.y:2378 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5482,19 +5482,19 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2383 + //line php7parser/parser.y:2383 { yyVAL.node = yyDollar[2].node } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2384 + //line php7parser/parser.y:2384 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2389 + //line php7parser/parser.y:2389 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] @@ -5504,31 +5504,31 @@ yydefault: } case 453: yyDollar = yyS[yypt-0 : yypt+1] - //line parser/php7.y:2399 + //line php7parser/parser.y:2399 { yyVAL.node = nil } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2400 + //line php7parser/parser.y:2400 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2405 + //line php7parser/parser.y:2405 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2406 + //line php7parser/parser.y:2406 { yyVAL.list = []node.Node{yyDollar[1].node} } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2411 + //line php7parser/parser.y:2411 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5536,7 +5536,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2417 + //line php7parser/parser.y:2417 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5544,7 +5544,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2423 + //line php7parser/parser.y:2423 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5552,7 +5552,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2429 + //line php7parser/parser.y:2429 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5560,7 +5560,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:2435 + //line php7parser/parser.y:2435 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list) @@ -5573,7 +5573,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2446 + //line php7parser/parser.y:2446 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list) @@ -5586,13 +5586,13 @@ yydefault: } case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2459 + //line php7parser/parser.y:2459 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2461 + //line php7parser/parser.y:2461 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5601,13 +5601,13 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2467 + //line php7parser/parser.y:2467 { yyVAL.list = []node.Node{yyDollar[1].node} } case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2469 + //line php7parser/parser.y:2469 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5616,7 +5616,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2479 + //line php7parser/parser.y:2479 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5628,7 +5628,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2489 + //line php7parser/parser.y:2489 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5643,7 +5643,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2502 + //line php7parser/parser.y:2502 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5661,7 +5661,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2518 + //line php7parser/parser.y:2518 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5669,7 +5669,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2524 + //line php7parser/parser.y:2524 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5681,7 +5681,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-6 : yypt+1] - //line parser/php7.y:2534 + //line php7parser/parser.y:2534 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5696,13 +5696,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2547 + //line php7parser/parser.y:2547 { yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2551 + //line php7parser/parser.y:2551 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5710,7 +5710,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2557 + //line php7parser/parser.y:2557 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5724,7 +5724,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2569 + //line php7parser/parser.y:2569 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { @@ -5744,7 +5744,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2587 + //line php7parser/parser.y:2587 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5756,7 +5756,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line parser/php7.y:2600 + //line php7parser/parser.y:2600 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -5764,7 +5764,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2606 + //line php7parser/parser.y:2606 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5772,7 +5772,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2612 + //line php7parser/parser.y:2612 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5780,7 +5780,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2618 + //line php7parser/parser.y:2618 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5788,7 +5788,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-4 : yypt+1] - //line parser/php7.y:2624 + //line php7parser/parser.y:2624 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5796,7 +5796,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2630 + //line php7parser/parser.y:2630 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5804,7 +5804,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line parser/php7.y:2636 + //line php7parser/parser.y:2636 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5812,19 +5812,19 @@ yydefault: } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2644 + //line php7parser/parser.y:2644 { yyVAL.list = []node.Node{yyDollar[1].node} } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line parser/php7.y:2645 + //line php7parser/parser.y:2645 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line parser/php7.y:2649 + //line php7parser/parser.y:2649 { yyVAL.node = yyDollar[1].node } diff --git a/parser/php7.y b/php7parser/parser.y similarity index 99% rename from parser/php7.y rename to php7parser/parser.y index 35c6ba8..eb719c1 100644 --- a/parser/php7.y +++ b/php7parser/parser.y @@ -1,5 +1,5 @@ %{ -package parser +package php7parser import ( "io" @@ -50,7 +50,7 @@ func newLexer(src io.Reader, fName string) *lexer { return &lexer{scanner.Lexer{lx, []int{0}, "", nil}} } -func ParsePhp7(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { +func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { yyDebug = 0 yyErrorVerbose = true rootnode = stmt.NewStmtList([]node.Node{}) //reset From e1993b7b5cb1e7d81179cc2250a5afb83f690504 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Fri, 26 Jan 2018 15:24:56 +0200 Subject: [PATCH 03/31] prepare php5 parser files --- Makefile | 7 +- main.go | 4 +- php5/lexer.go | 41 + php5/parser.go | 52 + php7parser/parser.go => php5/php5.go | 1046 +++-- php7parser/parser.y => php5/php5.y | 72 +- php7/lexer.go | 41 + php7/parser.go | 52 + php7/php7.go | 5763 ++++++++++++++++++++++++++ php7/php7.y | 2585 ++++++++++++ 10 files changed, 9030 insertions(+), 633 deletions(-) create mode 100644 php5/lexer.go create mode 100644 php5/parser.go rename php7parser/parser.go => php5/php5.go (90%) rename php7parser/parser.y => php5/php5.y (98%) create mode 100644 php7/lexer.go create mode 100644 php7/parser.go create mode 100644 php7/php7.go create mode 100644 php7/php7.y diff --git a/Makefile b/Makefile index a32f6a8..db2c383 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ PHPFILE=example.php -all: ./php7parser/parser.go ./scanner/scanner.go +all: ./php5/php5.go ./php7/php7.go ./scanner/scanner.go rm -f y.output gofmt -l -s -w *.go go build @@ -14,5 +14,8 @@ test: all ./scanner/scanner.go: ./scanner/scanner.l golex -o $@ $< -./php7parser/parser.go: ./php7parser/parser.y +./php5/php5.go: ./php5/php5.y + goyacc -o $@ $< + +./php7/php7.go: ./php7/php7.y goyacc -o $@ $< diff --git a/main.go b/main.go index d2fbf52..34ea872 100644 --- a/main.go +++ b/main.go @@ -8,7 +8,7 @@ import ( "path/filepath" "github.com/yookoala/realpath" - php7parser "github.com/z7zmey/php-parser/php7parser" + "github.com/z7zmey/php-parser/php5" ) func main() { @@ -23,7 +23,7 @@ func main() { fmt.Printf("==> %s\n", path) src, _ := os.Open(string(path)) - nodes, comments, positions := php7parser.Parse(src, path) + nodes, comments, positions := php5.Parse(src, path) visitor := Dumper{ Indent: " | ", diff --git a/php5/lexer.go b/php5/lexer.go new file mode 100644 index 0000000..fa55a16 --- /dev/null +++ b/php5/lexer.go @@ -0,0 +1,41 @@ +package php5 + +import ( + "bufio" + goToken "go/token" + "io" + + "github.com/cznic/golex/lex" + + "github.com/z7zmey/php-parser/scanner" + "github.com/z7zmey/php-parser/token" +) + +type lexer struct { + scanner.Lexer +} + +func (l *lexer) Lex(lval *yySymType) int { + return l.Lexer.Lex(lval) +} + +func (lval *yySymType) Token(t token.Token) { + lval.token = t +} + +func newLexer(src io.Reader, fName string) *lexer { + file := goToken.NewFileSet().AddFile(fName, -1, 1<<31-1) + lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(scanner.Rune2Class)) + if err != nil { + panic(err) + } + + return &lexer{ + scanner.Lexer{ + Lexer: lx, + StateStack: []int{0}, + PhpDocComment: "", + Comments: nil, + }, + } +} diff --git a/php5/parser.go b/php5/parser.go new file mode 100644 index 0000000..ecfeac5 --- /dev/null +++ b/php5/parser.go @@ -0,0 +1,52 @@ +package php5 + +import ( + "io" + + "github.com/z7zmey/php-parser/comment" + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/position" + "github.com/z7zmey/php-parser/token" +) + +var rootnode node.Node +var comments comment.Comments +var positions position.Positions +var positionBuilder position.Builder + +func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { + yyDebug = 0 + yyErrorVerbose = true + rootnode = stmt.NewStmtList([]node.Node{}) //reset + comments = comment.Comments{} + positions = position.Positions{} + positionBuilder = position.Builder{&positions} + yyParse(newLexer(src, fName)) + return rootnode, comments, positions +} + +func ListGetFirstNodeComments(list []node.Node) []comment.Comment { + if len(list) == 0 { + return nil + } + + node := list[0] + + return comments[node] +} + +type foreachVariable struct { + node node.Node + byRef bool +} + +type nodesWithEndToken struct { + nodes []node.Node + endToken token.Token +} + +type boolWithToken struct { + value bool + token *token.Token +} \ No newline at end of file diff --git a/php7parser/parser.go b/php5/php5.go similarity index 90% rename from php7parser/parser.go rename to php5/php5.go index ab155d0..072af6c 100644 --- a/php7parser/parser.go +++ b/php5/php5.go @@ -1,19 +1,13 @@ -//line php7parser/parser.y:2 -package php7parser +//line php5/php5.y:2 +package php5 import __yyfmt__ "fmt" -//line php7parser/parser.y:2 +//line php5/php5.y:2 import ( - "bufio" - goToken "go/token" - "io" "strconv" "strings" - "github.com/cznic/golex/lex" - - "github.com/z7zmey/php-parser/comment" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/node/expr/assign_op" @@ -22,74 +16,10 @@ import ( "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/position" - "github.com/z7zmey/php-parser/scanner" "github.com/z7zmey/php-parser/token" ) -var rootnode node.Node -var comments comment.Comments -var positions position.Positions -var positionBuilder position.Builder - -type lexer struct { - scanner.Lexer -} - -func (l *lexer) Lex(lval *yySymType) int { - return l.Lexer.Lex(lval) -} - -func (lval *yySymType) Token(t token.Token) { - lval.token = t -} - -func newLexer(src io.Reader, fName string) *lexer { - file := goToken.NewFileSet().AddFile(fName, -1, 1<<31-1) - lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(scanner.Rune2Class)) - if err != nil { - panic(err) - } - return &lexer{scanner.Lexer{lx, []int{0}, "", nil}} -} - -func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { - yyDebug = 0 - yyErrorVerbose = true - rootnode = stmt.NewStmtList([]node.Node{}) //reset - comments = comment.Comments{} - positions = position.Positions{} - positionBuilder = position.Builder{&positions} - yyParse(newLexer(src, fName)) - return rootnode, comments, positions -} - -func ListGetFirstNodeComments(list []node.Node) []comment.Comment { - if len(list) == 0 { - return nil - } - - node := list[0] - - return comments[node] -} - -type foreachVariable struct { - node node.Node - byRef bool -} - -type nodesWithEndToken struct { - nodes []node.Node - endToken token.Token -} - -type boolWithToken struct { - value bool - token *token.Token -} - -//line php7parser/parser.y:91 +//line php5/php5.y:21 type yySymType struct { yys int node node.Node @@ -413,7 +343,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php7parser/parser.y:2654 +//line php5/php5.y:2584 //line yacctab:1 var yyExca = [...]int{ @@ -2122,482 +2052,482 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:321 + //line php5/php5.y:251 { rootnode = stmt.NewStmtList(yyDollar[1].list) positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:328 + //line php5/php5.y:258 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:329 + //line php5/php5.y:259 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:330 + //line php5/php5.y:260 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:331 + //line php5/php5.y:261 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:332 + //line php5/php5.y:262 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:333 + //line php5/php5.y:263 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:334 + //line php5/php5.y:264 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:338 + //line php5/php5.y:268 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:339 + //line php5/php5.y:269 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:339 + //line php5/php5.y:269 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:339 + //line php5/php5.y:269 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:339 + //line php5/php5.y:269 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:339 + //line php5/php5.y:269 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:339 + //line php5/php5.y:269 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:343 + //line php5/php5.y:273 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:344 + //line php5/php5.y:274 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:348 + //line php5/php5.y:278 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:349 + //line php5/php5.y:279 { yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:354 + //line php5/php5.y:284 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2606,7 +2536,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:361 + //line php5/php5.y:291 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2615,7 +2545,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:371 + //line php5/php5.y:301 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2623,7 +2553,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:377 + //line php5/php5.y:307 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -2631,7 +2561,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:383 + //line php5/php5.y:313 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -2639,43 +2569,43 @@ yydefault: } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:391 + //line php5/php5.y:321 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:392 + //line php5/php5.y:322 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:393 + //line php5/php5.y:323 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:394 + //line php5/php5.y:324 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:395 + //line php5/php5.y:325 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:396 + //line php5/php5.y:326 { yyVAL.node = stmt.NewHaltCompiler() } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:398 + //line php5/php5.y:328 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2687,7 +2617,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:408 + //line php5/php5.y:338 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2699,7 +2629,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:418 + //line php5/php5.y:348 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2707,19 +2637,19 @@ yydefault: } case 94: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:423 + //line php5/php5.y:353 { yyVAL.node = yyDollar[2].node } case 95: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:424 + //line php5/php5.y:354 { yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) } case 96: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:426 + //line php5/php5.y:356 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2727,13 +2657,13 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:431 + //line php5/php5.y:361 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } case 98: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:433 + //line php5/php5.y:363 { yyVAL.node = stmt.NewConstList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2741,7 +2671,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:442 + //line php5/php5.y:372 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2749,7 +2679,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:448 + //line php5/php5.y:378 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2757,7 +2687,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:457 + //line php5/php5.y:387 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2769,7 +2699,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-7 : yypt+1] - //line php7parser/parser.y:467 + //line php5/php5.y:397 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2781,7 +2711,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:480 + //line php5/php5.y:410 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2793,7 +2723,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - //line php7parser/parser.y:490 + //line php5/php5.y:420 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2805,55 +2735,55 @@ yydefault: } case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:508 + //line php5/php5.y:438 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:509 + //line php5/php5.y:439 { yyVAL.list = []node.Node{yyDollar[1].node} } case 109: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:514 + //line php5/php5.y:444 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:515 + //line php5/php5.y:445 { yyVAL.list = []node.Node{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:519 + //line php5/php5.y:449 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:520 + //line php5/php5.y:450 { yyVAL.list = []node.Node{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:524 + //line php5/php5.y:454 { yyVAL.node = yyDollar[1].node } case 114: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:525 + //line php5/php5.y:455 { yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } case 115: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:530 + //line php5/php5.y:460 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2865,7 +2795,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:540 + //line php5/php5.y:470 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2880,73 +2810,73 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:555 + //line php5/php5.y:485 { yyVAL.node = yyDollar[1].node } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:556 + //line php5/php5.y:486 { yyVAL.node = yyDollar[2].node } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:560 + //line php5/php5.y:490 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 120: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:561 + //line php5/php5.y:491 { yyVAL.list = []node.Node{yyDollar[1].node} } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:565 + //line php5/php5.y:495 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 122: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:566 + //line php5/php5.y:496 { yyVAL.list = []node.Node{} } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:570 + //line php5/php5.y:500 { yyVAL.node = yyDollar[1].node } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:571 + //line php5/php5.y:501 { yyVAL.node = yyDollar[1].node } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:572 + //line php5/php5.y:502 { yyVAL.node = yyDollar[1].node } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:573 + //line php5/php5.y:503 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:574 + //line php5/php5.y:504 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:576 + //line php5/php5.y:506 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2954,7 +2884,7 @@ yydefault: } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:584 + //line php5/php5.y:514 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2962,19 +2892,19 @@ yydefault: } case 130: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:589 + //line php5/php5.y:519 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:590 + //line php5/php5.y:520 { yyVAL.node = yyDollar[1].node } case 132: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:592 + //line php5/php5.y:522 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2982,7 +2912,7 @@ yydefault: } case 133: yyDollar = yyS[yypt-7 : yypt+1] - //line php7parser/parser.y:598 + //line php5/php5.y:528 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) @@ -2990,7 +2920,7 @@ yydefault: } case 134: yyDollar = yyS[yypt-9 : yypt+1] - //line php7parser/parser.y:604 + //line php5/php5.y:534 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2998,7 +2928,7 @@ yydefault: } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:610 + //line php5/php5.y:540 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) @@ -3006,7 +2936,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:616 + //line php5/php5.y:546 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3014,7 +2944,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:622 + //line php5/php5.y:552 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3022,7 +2952,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:628 + //line php5/php5.y:558 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3030,7 +2960,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:634 + //line php5/php5.y:564 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3038,7 +2968,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:640 + //line php5/php5.y:570 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3046,7 +2976,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:646 + //line php5/php5.y:576 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3054,7 +2984,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:652 + //line php5/php5.y:582 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3062,7 +2992,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:658 + //line php5/php5.y:588 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -3070,7 +3000,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:664 + //line php5/php5.y:594 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) @@ -3078,7 +3008,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-7 : yypt+1] - //line php7parser/parser.y:670 + //line php5/php5.y:600 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) @@ -3086,7 +3016,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-9 : yypt+1] - //line php7parser/parser.y:676 + //line php5/php5.y:606 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -3094,7 +3024,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:682 + //line php5/php5.y:612 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3102,7 +3032,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:688 + //line php5/php5.y:618 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3110,7 +3040,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:694 + //line php5/php5.y:624 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3124,7 +3054,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:706 + //line php5/php5.y:636 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3132,7 +3062,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:712 + //line php5/php5.y:642 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3144,7 +3074,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:722 + //line php5/php5.y:652 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3156,13 +3086,13 @@ yydefault: } case 153: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:733 + //line php5/php5.y:663 { yyVAL.list = []node.Node{} } case 154: yyDollar = yyS[yypt-9 : yypt+1] - //line php7parser/parser.y:735 + //line php5/php5.y:665 { identifier := node.NewIdentifier(yyDollar[5].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) @@ -3178,25 +3108,25 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:750 + //line php5/php5.y:680 { yyVAL.list = []node.Node{yyDollar[1].node} } case 156: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:751 + //line php5/php5.y:681 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:755 + //line php5/php5.y:685 { yyVAL.node = nil } case 158: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:757 + //line php5/php5.y:687 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3204,25 +3134,25 @@ yydefault: } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:765 + //line php5/php5.y:695 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:766 + //line php5/php5.y:696 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:770 + //line php5/php5.y:700 { yyVAL.node = yyDollar[1].node } case 162: yyDollar = yyS[yypt-11 : yypt+1] - //line php7parser/parser.y:775 + //line php5/php5.y:705 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3234,31 +3164,31 @@ yydefault: } case 163: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:787 + //line php5/php5.y:717 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 164: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:788 + //line php5/php5.y:718 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:792 + //line php5/php5.y:722 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:793 + //line php5/php5.y:723 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: yyDollar = yyS[yypt-9 : yypt+1] - //line php7parser/parser.y:798 + //line php5/php5.y:728 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3270,7 +3200,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-8 : yypt+1] - //line php7parser/parser.y:808 + //line php5/php5.y:738 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3282,19 +3212,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:820 + //line php5/php5.y:750 { yyVAL.list = []node.Node{yyDollar[1].node} } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:821 + //line php5/php5.y:751 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:826 + //line php5/php5.y:756 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3302,7 +3232,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:832 + //line php5/php5.y:762 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3310,7 +3240,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:841 + //line php5/php5.y:771 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3322,7 +3252,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-7 : yypt+1] - //line php7parser/parser.y:854 + //line php5/php5.y:784 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3334,55 +3264,55 @@ yydefault: } case 175: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:866 + //line php5/php5.y:796 { yyVAL.node = nil } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:867 + //line php5/php5.y:797 { yyVAL.node = yyDollar[2].node } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:871 + //line php5/php5.y:801 { yyVAL.list = nil } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:872 + //line php5/php5.y:802 { yyVAL.list = yyDollar[2].list } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:876 + //line php5/php5.y:806 { yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:877 + //line php5/php5.y:807 { yyVAL.list = yyDollar[2].list } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:881 + //line php5/php5.y:811 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:882 + //line php5/php5.y:812 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:884 + //line php5/php5.y:814 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3391,7 +3321,7 @@ yydefault: } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:891 + //line php5/php5.y:821 { list := expr.NewShortList(yyDollar[2].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3400,13 +3330,13 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:900 + //line php5/php5.y:830 { yyVAL.node = yyDollar[1].node } case 186: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:902 + //line php5/php5.y:832 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3414,13 +3344,13 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:910 + //line php5/php5.y:840 { yyVAL.node = yyDollar[1].node } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:912 + //line php5/php5.y:842 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3428,13 +3358,13 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:920 + //line php5/php5.y:850 { yyVAL.node = yyDollar[1].node } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:922 + //line php5/php5.y:852 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3442,37 +3372,37 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:930 + //line php5/php5.y:860 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:931 + //line php5/php5.y:861 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:932 + //line php5/php5.y:862 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:933 + //line php5/php5.y:863 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:937 + //line php5/php5.y:867 { yyVAL.list = []node.Node{} } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:939 + //line php5/php5.y:869 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3481,7 +3411,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:946 + //line php5/php5.y:876 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3490,13 +3420,13 @@ yydefault: } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:960 + //line php5/php5.y:890 { yyVAL.node = yyDollar[1].node } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:962 + //line php5/php5.y:892 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3504,7 +3434,7 @@ yydefault: } case 202: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:971 + //line php5/php5.y:901 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3512,7 +3442,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:977 + //line php5/php5.y:907 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) @@ -3523,13 +3453,13 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:988 + //line php5/php5.y:918 { yyVAL.node = yyDollar[1].node } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:990 + //line php5/php5.y:920 { _else := stmt.NewElse(yyDollar[3].node) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) @@ -3540,7 +3470,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:1002 + //line php5/php5.y:932 { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) @@ -3552,7 +3482,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-7 : yypt+1] - //line php7parser/parser.y:1012 + //line php5/php5.y:942 { stmts := stmt.NewStmtList(yyDollar[7].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) @@ -3565,14 +3495,14 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1026 + //line php5/php5.y:956 { yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:1031 + //line php5/php5.y:961 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -3586,31 +3516,31 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1045 + //line php5/php5.y:975 { yyVAL.list = yyDollar[1].list } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1046 + //line php5/php5.y:976 { yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1050 + //line php5/php5.y:980 { yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1051 + //line php5/php5.y:981 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 214: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1056 + //line php5/php5.y:986 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3640,7 +3570,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:1084 + //line php5/php5.y:1014 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3670,25 +3600,25 @@ yydefault: } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1114 + //line php5/php5.y:1044 { yyVAL.node = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1115 + //line php5/php5.y:1045 { yyVAL.node = yyDollar[1].node } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1119 + //line php5/php5.y:1049 { yyVAL.node = yyDollar[1].node } case 219: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1121 + //line php5/php5.y:1051 { yyVAL.node = node.NewNullable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3696,7 +3626,7 @@ yydefault: } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1130 + //line php5/php5.y:1060 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3704,7 +3634,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1136 + //line php5/php5.y:1066 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3712,49 +3642,49 @@ yydefault: } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1141 + //line php5/php5.y:1071 { yyVAL.node = yyDollar[1].node } case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1145 + //line php5/php5.y:1075 { yyVAL.node = nil } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1146 + //line php5/php5.y:1076 { yyVAL.node = yyDollar[2].node } case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1150 + //line php5/php5.y:1080 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1151 + //line php5/php5.y:1081 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1155 + //line php5/php5.y:1085 { yyVAL.list = []node.Node{yyDollar[1].node} } case 228: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1156 + //line php5/php5.y:1086 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1161 + //line php5/php5.y:1091 { yyVAL.node = node.NewArgument(yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3762,7 +3692,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1167 + //line php5/php5.y:1097 { yyVAL.node = node.NewArgument(yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3770,37 +3700,37 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1175 + //line php5/php5.y:1105 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1176 + //line php5/php5.y:1106 { yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1180 + //line php5/php5.y:1110 { yyVAL.node = yyDollar[1].node } case 234: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1184 + //line php5/php5.y:1114 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1185 + //line php5/php5.y:1115 { yyVAL.list = []node.Node{yyDollar[1].node} } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1190 + //line php5/php5.y:1120 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3815,7 +3745,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1203 + //line php5/php5.y:1133 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3830,19 +3760,19 @@ yydefault: } case 238: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1218 + //line php5/php5.y:1148 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1219 + //line php5/php5.y:1149 { yyVAL.list = []node.Node{} } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1224 + //line php5/php5.y:1154 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3850,7 +3780,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1230 + //line php5/php5.y:1160 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) @@ -3858,7 +3788,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1236 + //line php5/php5.y:1166 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3866,7 +3796,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-10 : yypt+1] - //line php7parser/parser.y:1242 + //line php5/php5.y:1172 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3878,61 +3808,61 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1254 + //line php5/php5.y:1184 { yyVAL.list = []node.Node{yyDollar[1].node} } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1255 + //line php5/php5.y:1185 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1259 + //line php5/php5.y:1189 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1260 + //line php5/php5.y:1190 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1261 + //line php5/php5.y:1191 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1265 + //line php5/php5.y:1195 { yyVAL.list = []node.Node{yyDollar[1].node} } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1266 + //line php5/php5.y:1196 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1270 + //line php5/php5.y:1200 { yyVAL.node = yyDollar[1].node } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1271 + //line php5/php5.y:1201 { yyVAL.node = yyDollar[1].node } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1276 + //line php5/php5.y:1206 { name := name.NewName(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3944,7 +3874,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1289 + //line php5/php5.y:1219 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3956,7 +3886,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1299 + //line php5/php5.y:1229 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3968,7 +3898,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1309 + //line php5/php5.y:1239 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3980,7 +3910,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1319 + //line php5/php5.y:1249 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3988,7 +3918,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1328 + //line php5/php5.y:1258 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4000,13 +3930,13 @@ yydefault: } case 259: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1337 + //line php5/php5.y:1267 { yyVAL.node = yyDollar[1].node } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1342 + //line php5/php5.y:1272 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4018,25 +3948,25 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1354 + //line php5/php5.y:1284 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1355 + //line php5/php5.y:1285 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1359 + //line php5/php5.y:1289 { yyVAL.list = yyDollar[1].list } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1361 + //line php5/php5.y:1291 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4045,31 +3975,31 @@ yydefault: } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1370 + //line php5/php5.y:1300 { yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1371 + //line php5/php5.y:1301 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1375 + //line php5/php5.y:1305 { yyVAL.list = []node.Node{yyDollar[1].node} } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1376 + //line php5/php5.y:1306 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1381 + //line php5/php5.y:1311 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4077,7 +4007,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1387 + //line php5/php5.y:1317 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4085,7 +4015,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1393 + //line php5/php5.y:1323 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4093,7 +4023,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1399 + //line php5/php5.y:1329 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4101,7 +4031,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1405 + //line php5/php5.y:1335 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4109,7 +4039,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1411 + //line php5/php5.y:1341 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4117,19 +4047,19 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1419 + //line php5/php5.y:1349 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1420 + //line php5/php5.y:1350 { yyVAL.list = []node.Node{yyDollar[1].node} } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1425 + //line php5/php5.y:1355 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4144,7 +4074,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1438 + //line php5/php5.y:1368 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4159,19 +4089,19 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1453 + //line php5/php5.y:1383 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1454 + //line php5/php5.y:1384 { yyVAL.list = []node.Node{yyDollar[1].node} } case 281: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1459 + //line php5/php5.y:1389 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4183,7 +4113,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1472 + //line php5/php5.y:1402 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4195,49 +4125,49 @@ yydefault: } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1484 + //line php5/php5.y:1414 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1485 + //line php5/php5.y:1415 { yyVAL.list = []node.Node{yyDollar[1].node} } case 285: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1489 + //line php5/php5.y:1419 { yyVAL.node = yyDollar[1].node } case 286: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1493 + //line php5/php5.y:1423 { yyVAL.list = nil } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1494 + //line php5/php5.y:1424 { yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1497 + //line php5/php5.y:1427 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1498 + //line php5/php5.y:1428 { yyVAL.list = []node.Node{yyDollar[1].node} } case 290: yyDollar = yyS[yypt-8 : yypt+1] - //line php7parser/parser.y:1503 + //line php5/php5.y:1433 { if yyDollar[2].nodesWithEndToken != nil { yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) @@ -4251,7 +4181,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1518 + //line php5/php5.y:1448 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4265,13 +4195,13 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1529 + //line php5/php5.y:1459 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:1534 + //line php5/php5.y:1464 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4283,7 +4213,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:1544 + //line php5/php5.y:1474 { shortList := expr.NewShortList(yyDollar[2].list) positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4295,7 +4225,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1554 + //line php5/php5.y:1484 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4303,7 +4233,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1560 + //line php5/php5.y:1490 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4311,7 +4241,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1566 + //line php5/php5.y:1496 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4319,7 +4249,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1572 + //line php5/php5.y:1502 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4327,7 +4257,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1578 + //line php5/php5.y:1508 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4335,7 +4265,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1584 + //line php5/php5.y:1514 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4343,7 +4273,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1590 + //line php5/php5.y:1520 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4351,7 +4281,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1596 + //line php5/php5.y:1526 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4359,7 +4289,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1602 + //line php5/php5.y:1532 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4367,7 +4297,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1608 + //line php5/php5.y:1538 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4375,7 +4305,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1614 + //line php5/php5.y:1544 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4383,7 +4313,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1620 + //line php5/php5.y:1550 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4391,7 +4321,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1626 + //line php5/php5.y:1556 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4399,7 +4329,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1632 + //line php5/php5.y:1562 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4407,7 +4337,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1638 + //line php5/php5.y:1568 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4415,7 +4345,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1644 + //line php5/php5.y:1574 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4423,7 +4353,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1650 + //line php5/php5.y:1580 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4431,7 +4361,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1656 + //line php5/php5.y:1586 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4439,7 +4369,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1662 + //line php5/php5.y:1592 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4447,7 +4377,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1668 + //line php5/php5.y:1598 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4455,7 +4385,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1674 + //line php5/php5.y:1604 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4463,7 +4393,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1680 + //line php5/php5.y:1610 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4471,7 +4401,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1686 + //line php5/php5.y:1616 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4479,7 +4409,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1692 + //line php5/php5.y:1622 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4487,7 +4417,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1698 + //line php5/php5.y:1628 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4495,7 +4425,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1704 + //line php5/php5.y:1634 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4503,7 +4433,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1710 + //line php5/php5.y:1640 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4511,7 +4441,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1716 + //line php5/php5.y:1646 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4519,7 +4449,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1722 + //line php5/php5.y:1652 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4527,7 +4457,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1728 + //line php5/php5.y:1658 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4535,7 +4465,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1734 + //line php5/php5.y:1664 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4543,7 +4473,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1740 + //line php5/php5.y:1670 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4551,7 +4481,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1746 + //line php5/php5.y:1676 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4559,7 +4489,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1752 + //line php5/php5.y:1682 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4567,7 +4497,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1758 + //line php5/php5.y:1688 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4575,7 +4505,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1764 + //line php5/php5.y:1694 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4583,7 +4513,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1770 + //line php5/php5.y:1700 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4591,7 +4521,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1776 + //line php5/php5.y:1706 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4599,7 +4529,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1782 + //line php5/php5.y:1712 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4607,7 +4537,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1788 + //line php5/php5.y:1718 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4615,7 +4545,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1794 + //line php5/php5.y:1724 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4623,7 +4553,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1800 + //line php5/php5.y:1730 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4631,7 +4561,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1806 + //line php5/php5.y:1736 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4639,7 +4569,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1812 + //line php5/php5.y:1742 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4647,7 +4577,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1818 + //line php5/php5.y:1748 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4655,7 +4585,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1824 + //line php5/php5.y:1754 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4663,7 +4593,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1830 + //line php5/php5.y:1760 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4671,7 +4601,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1836 + //line php5/php5.y:1766 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4679,7 +4609,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1842 + //line php5/php5.y:1772 { yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4687,7 +4617,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1848 + //line php5/php5.y:1778 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4695,19 +4625,19 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1853 + //line php5/php5.y:1783 { yyVAL.node = yyDollar[2].node } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1854 + //line php5/php5.y:1784 { yyVAL.node = yyDollar[1].node } case 347: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:1856 + //line php5/php5.y:1786 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4715,7 +4645,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1862 + //line php5/php5.y:1792 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4723,7 +4653,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1868 + //line php5/php5.y:1798 { yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4731,13 +4661,13 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1873 + //line php5/php5.y:1803 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1875 + //line php5/php5.y:1805 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4745,7 +4675,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1881 + //line php5/php5.y:1811 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4753,7 +4683,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1887 + //line php5/php5.y:1817 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4761,7 +4691,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1893 + //line php5/php5.y:1823 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4769,7 +4699,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1899 + //line php5/php5.y:1829 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4777,7 +4707,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1905 + //line php5/php5.y:1835 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4785,7 +4715,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1911 + //line php5/php5.y:1841 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4793,7 +4723,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1917 + //line php5/php5.y:1847 { yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4801,7 +4731,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1923 + //line php5/php5.y:1853 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4809,13 +4739,13 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1928 + //line php5/php5.y:1858 { yyVAL.node = yyDollar[1].node } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1930 + //line php5/php5.y:1860 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4823,7 +4753,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1936 + //line php5/php5.y:1866 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4831,7 +4761,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1942 + //line php5/php5.y:1872 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4839,7 +4769,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1948 + //line php5/php5.y:1878 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4847,7 +4777,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1954 + //line php5/php5.y:1884 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4855,7 +4785,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:1960 + //line php5/php5.y:1890 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4863,7 +4793,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-11 : yypt+1] - //line php7parser/parser.y:1966 + //line php5/php5.y:1896 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) @@ -4872,7 +4802,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-12 : yypt+1] - //line php7parser/parser.y:1973 + //line php5/php5.y:1903 { yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) @@ -4881,50 +4811,50 @@ yydefault: } case 369: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1982 + //line php5/php5.y:1912 { yyVAL.str = yylex.(*lexer).PhpDocComment yylex.(*lexer).PhpDocComment = "" } case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1986 + //line php5/php5.y:1916 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1987 + //line php5/php5.y:1917 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:1991 + //line php5/php5.y:1921 { yyVAL.list = []node.Node{} } case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:1992 + //line php5/php5.y:1922 { yyVAL.list = yyDollar[3].list } case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:1996 + //line php5/php5.y:1926 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:1997 + //line php5/php5.y:1927 { yyVAL.list = []node.Node{yyDollar[1].node} } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2002 + //line php5/php5.y:1932 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4939,7 +4869,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2015 + //line php5/php5.y:1945 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4954,7 +4884,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2031 + //line php5/php5.y:1961 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4962,7 +4892,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2037 + //line php5/php5.y:1967 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4970,7 +4900,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2043 + //line php5/php5.y:1973 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4978,7 +4908,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2049 + //line php5/php5.y:1979 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4986,7 +4916,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2058 + //line php5/php5.y:1988 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4994,67 +4924,67 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2063 + //line php5/php5.y:1993 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2067 + //line php5/php5.y:1997 { yyVAL.node = yyDollar[1].node } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2068 + //line php5/php5.y:1998 { yyVAL.node = yyDollar[1].node } case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:2072 + //line php5/php5.y:2002 { yyVAL.node = nil } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2073 + //line php5/php5.y:2003 { yyVAL.node = yyDollar[2].node } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:2077 + //line php5/php5.y:2007 { yyVAL.list = []node.Node{} } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2078 + //line php5/php5.y:2008 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2079 + //line php5/php5.y:2009 { yyVAL.list = yyDollar[1].list } case 391: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:2083 + //line php5/php5.y:2013 { yyVAL.nodesWithEndToken = nil } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2084 + //line php5/php5.y:2014 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2089 + //line php5/php5.y:2019 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5062,7 +4992,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2095 + //line php5/php5.y:2025 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5070,7 +5000,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2101 + //line php5/php5.y:2031 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5078,7 +5008,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2110 + //line php5/php5.y:2040 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5086,7 +5016,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2116 + //line php5/php5.y:2046 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5094,7 +5024,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2122 + //line php5/php5.y:2052 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5102,7 +5032,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2128 + //line php5/php5.y:2058 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5110,7 +5040,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2134 + //line php5/php5.y:2064 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5118,7 +5048,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2140 + //line php5/php5.y:2070 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5126,7 +5056,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2146 + //line php5/php5.y:2076 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5134,7 +5064,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2152 + //line php5/php5.y:2082 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5142,7 +5072,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2158 + //line php5/php5.y:2088 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5150,7 +5080,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2164 + //line php5/php5.y:2094 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5158,7 +5088,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2170 + //line php5/php5.y:2100 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5166,7 +5096,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2175 + //line php5/php5.y:2105 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5174,7 +5104,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2181 + //line php5/php5.y:2111 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5182,7 +5112,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2187 + //line php5/php5.y:2117 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5190,19 +5120,19 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2192 + //line php5/php5.y:2122 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2193 + //line php5/php5.y:2123 { yyVAL.node = yyDollar[1].node } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2198 + //line php5/php5.y:2128 { yyVAL.node = expr.NewConstFetch(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5210,7 +5140,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2204 + //line php5/php5.y:2134 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5222,7 +5152,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2214 + //line php5/php5.y:2144 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5234,79 +5164,79 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2226 + //line php5/php5.y:2156 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2227 + //line php5/php5.y:2157 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:2231 + //line php5/php5.y:2161 { yyVAL.node = nil } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2232 + //line php5/php5.y:2162 { yyVAL.node = yyDollar[1].node } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2236 + //line php5/php5.y:2166 { yyVAL.node = yyDollar[1].node } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2240 + //line php5/php5.y:2170 { yyVAL.node = yyDollar[1].node } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2241 + //line php5/php5.y:2171 { yyVAL.node = yyDollar[2].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2242 + //line php5/php5.y:2172 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2246 + //line php5/php5.y:2176 { yyVAL.node = yyDollar[1].node } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2247 + //line php5/php5.y:2177 { yyVAL.node = yyDollar[2].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2248 + //line php5/php5.y:2178 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2252 + //line php5/php5.y:2182 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2254 + //line php5/php5.y:2184 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5314,7 +5244,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2260 + //line php5/php5.y:2190 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5322,7 +5252,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2266 + //line php5/php5.y:2196 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5330,7 +5260,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2272 + //line php5/php5.y:2202 { yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5338,25 +5268,25 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2277 + //line php5/php5.y:2207 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2281 + //line php5/php5.y:2211 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2282 + //line php5/php5.y:2212 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2284 + //line php5/php5.y:2214 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5364,7 +5294,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2293 + //line php5/php5.y:2223 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5376,7 +5306,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2303 + //line php5/php5.y:2233 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5384,7 +5314,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2309 + //line php5/php5.y:2239 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5392,7 +5322,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2318 + //line php5/php5.y:2248 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5400,7 +5330,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2324 + //line php5/php5.y:2254 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5408,13 +5338,13 @@ yydefault: } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2332 + //line php5/php5.y:2262 { yyVAL.node = yyDollar[1].node } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2334 + //line php5/php5.y:2264 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5422,7 +5352,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2340 + //line php5/php5.y:2270 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5430,7 +5360,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2346 + //line php5/php5.y:2276 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5438,7 +5368,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2352 + //line php5/php5.y:2282 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5446,7 +5376,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2358 + //line php5/php5.y:2288 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5454,7 +5384,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2367 + //line php5/php5.y:2297 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5462,19 +5392,19 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2372 + //line php5/php5.y:2302 { yyVAL.node = yyDollar[2].node } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2373 + //line php5/php5.y:2303 { yyVAL.node = yyDollar[1].node } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2378 + //line php5/php5.y:2308 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5482,19 +5412,19 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2383 + //line php5/php5.y:2313 { yyVAL.node = yyDollar[2].node } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2384 + //line php5/php5.y:2314 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2389 + //line php5/php5.y:2319 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] @@ -5504,31 +5434,31 @@ yydefault: } case 453: yyDollar = yyS[yypt-0 : yypt+1] - //line php7parser/parser.y:2399 + //line php5/php5.y:2329 { yyVAL.node = nil } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2400 + //line php5/php5.y:2330 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2405 + //line php5/php5.y:2335 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2406 + //line php5/php5.y:2336 { yyVAL.list = []node.Node{yyDollar[1].node} } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2411 + //line php5/php5.y:2341 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5536,7 +5466,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2417 + //line php5/php5.y:2347 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5544,7 +5474,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2423 + //line php5/php5.y:2353 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5552,7 +5482,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2429 + //line php5/php5.y:2359 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5560,7 +5490,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:2435 + //line php5/php5.y:2365 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list) @@ -5573,7 +5503,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2446 + //line php5/php5.y:2376 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list) @@ -5586,13 +5516,13 @@ yydefault: } case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2459 + //line php5/php5.y:2389 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2461 + //line php5/php5.y:2391 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5601,13 +5531,13 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2467 + //line php5/php5.y:2397 { yyVAL.list = []node.Node{yyDollar[1].node} } case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2469 + //line php5/php5.y:2399 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5616,7 +5546,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2479 + //line php5/php5.y:2409 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5628,7 +5558,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2489 + //line php5/php5.y:2419 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5643,7 +5573,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2502 + //line php5/php5.y:2432 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5661,7 +5591,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2518 + //line php5/php5.y:2448 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5669,7 +5599,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2524 + //line php5/php5.y:2454 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5681,7 +5611,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-6 : yypt+1] - //line php7parser/parser.y:2534 + //line php5/php5.y:2464 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5696,13 +5626,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2547 + //line php5/php5.y:2477 { yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2551 + //line php5/php5.y:2481 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5710,7 +5640,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2557 + //line php5/php5.y:2487 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5724,7 +5654,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2569 + //line php5/php5.y:2499 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { @@ -5744,7 +5674,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2587 + //line php5/php5.y:2517 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5756,7 +5686,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line php7parser/parser.y:2600 + //line php5/php5.y:2530 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -5764,7 +5694,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2606 + //line php5/php5.y:2536 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5772,7 +5702,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2612 + //line php5/php5.y:2542 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5780,7 +5710,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2618 + //line php5/php5.y:2548 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5788,7 +5718,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-4 : yypt+1] - //line php7parser/parser.y:2624 + //line php5/php5.y:2554 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5796,7 +5726,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2630 + //line php5/php5.y:2560 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5804,7 +5734,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line php7parser/parser.y:2636 + //line php5/php5.y:2566 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5812,19 +5742,19 @@ yydefault: } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2644 + //line php5/php5.y:2574 { yyVAL.list = []node.Node{yyDollar[1].node} } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line php7parser/parser.y:2645 + //line php5/php5.y:2575 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php7parser/parser.y:2649 + //line php5/php5.y:2579 { yyVAL.node = yyDollar[1].node } diff --git a/php7parser/parser.y b/php5/php5.y similarity index 98% rename from php7parser/parser.y rename to php5/php5.y index eb719c1..51fe9cd 100644 --- a/php7parser/parser.y +++ b/php5/php5.y @@ -1,14 +1,9 @@ %{ -package php7parser +package php5 import ( - "io" "strings" "strconv" - "bufio" - goToken "go/token" - - "github.com/cznic/golex/lex" "github.com/z7zmey/php-parser/token" "github.com/z7zmey/php-parser/node" @@ -19,73 +14,8 @@ import ( "github.com/z7zmey/php-parser/node/expr/assign_op" "github.com/z7zmey/php-parser/node/expr/binary_op" "github.com/z7zmey/php-parser/node/expr/cast" - "github.com/z7zmey/php-parser/comment" - "github.com/z7zmey/php-parser/position" - "github.com/z7zmey/php-parser/scanner" ) -var rootnode node.Node -var comments comment.Comments -var positions position.Positions -var positionBuilder position.Builder - -type lexer struct { - scanner.Lexer -} - -func (l *lexer) Lex(lval *yySymType) int { - return l.Lexer.Lex(lval) -} - -func (lval *yySymType) Token(t token.Token) { - lval.token = t -} - -func newLexer(src io.Reader, fName string) *lexer { - file := goToken.NewFileSet().AddFile(fName, -1, 1<<31-1) - lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(scanner.Rune2Class)) - if err != nil { - panic(err) - } - return &lexer{scanner.Lexer{lx, []int{0}, "", nil}} -} - -func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { - yyDebug = 0 - yyErrorVerbose = true - rootnode = stmt.NewStmtList([]node.Node{}) //reset - comments = comment.Comments{} - positions = position.Positions{} - positionBuilder = position.Builder{&positions} - yyParse(newLexer(src, fName)) - return rootnode, comments, positions -} - -func ListGetFirstNodeComments(list []node.Node) []comment.Comment { - if len(list) == 0 { - return nil - } - - node := list[0] - - return comments[node] -} - -type foreachVariable struct { - node node.Node - byRef bool -} - -type nodesWithEndToken struct { - nodes []node.Node - endToken token.Token -} - -type boolWithToken struct { - value bool - token *token.Token -} - %} %union{ diff --git a/php7/lexer.go b/php7/lexer.go new file mode 100644 index 0000000..02dfd5f --- /dev/null +++ b/php7/lexer.go @@ -0,0 +1,41 @@ +package php7 + +import ( + "bufio" + goToken "go/token" + "io" + + "github.com/cznic/golex/lex" + + "github.com/z7zmey/php-parser/scanner" + "github.com/z7zmey/php-parser/token" +) + +type lexer struct { + scanner.Lexer +} + +func (l *lexer) Lex(lval *yySymType) int { + return l.Lexer.Lex(lval) +} + +func (lval *yySymType) Token(t token.Token) { + lval.token = t +} + +func newLexer(src io.Reader, fName string) *lexer { + file := goToken.NewFileSet().AddFile(fName, -1, 1<<31-1) + lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(scanner.Rune2Class)) + if err != nil { + panic(err) + } + + return &lexer{ + scanner.Lexer{ + Lexer: lx, + StateStack: []int{0}, + PhpDocComment: "", + Comments: nil, + }, + } +} diff --git a/php7/parser.go b/php7/parser.go new file mode 100644 index 0000000..ec04bb5 --- /dev/null +++ b/php7/parser.go @@ -0,0 +1,52 @@ +package php7 + +import ( + "io" + + "github.com/z7zmey/php-parser/comment" + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/position" + "github.com/z7zmey/php-parser/token" +) + +var rootnode node.Node +var comments comment.Comments +var positions position.Positions +var positionBuilder position.Builder + +func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { + yyDebug = 0 + yyErrorVerbose = true + rootnode = stmt.NewStmtList([]node.Node{}) //reset + comments = comment.Comments{} + positions = position.Positions{} + positionBuilder = position.Builder{&positions} + yyParse(newLexer(src, fName)) + return rootnode, comments, positions +} + +func ListGetFirstNodeComments(list []node.Node) []comment.Comment { + if len(list) == 0 { + return nil + } + + node := list[0] + + return comments[node] +} + +type foreachVariable struct { + node node.Node + byRef bool +} + +type nodesWithEndToken struct { + nodes []node.Node + endToken token.Token +} + +type boolWithToken struct { + value bool + token *token.Token +} \ No newline at end of file diff --git a/php7/php7.go b/php7/php7.go new file mode 100644 index 0000000..7a73b61 --- /dev/null +++ b/php7/php7.go @@ -0,0 +1,5763 @@ +//line php7/php7.y:2 +package php7 + +import __yyfmt__ "fmt" + +//line php7/php7.y:2 +import ( + "strconv" + "strings" + + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node/expr" + "github.com/z7zmey/php-parser/node/expr/assign_op" + "github.com/z7zmey/php-parser/node/expr/binary_op" + "github.com/z7zmey/php-parser/node/expr/cast" + "github.com/z7zmey/php-parser/node/name" + "github.com/z7zmey/php-parser/node/scalar" + "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/token" +) + +//line php7/php7.y:21 +type yySymType struct { + yys int + node node.Node + token token.Token + boolWithToken boolWithToken + list []node.Node + foreachVariable foreachVariable + nodesWithEndToken *nodesWithEndToken + str string +} + +const T_INCLUDE = 57346 +const T_INCLUDE_ONCE = 57347 +const T_EVAL = 57348 +const T_REQUIRE = 57349 +const T_REQUIRE_ONCE = 57350 +const T_LOGICAL_OR = 57351 +const T_LOGICAL_XOR = 57352 +const T_LOGICAL_AND = 57353 +const T_PRINT = 57354 +const T_YIELD = 57355 +const T_DOUBLE_ARROW = 57356 +const T_YIELD_FROM = 57357 +const T_PLUS_EQUAL = 57358 +const T_MINUS_EQUAL = 57359 +const T_MUL_EQUAL = 57360 +const T_DIV_EQUAL = 57361 +const T_CONCAT_EQUAL = 57362 +const T_MOD_EQUAL = 57363 +const T_AND_EQUAL = 57364 +const T_OR_EQUAL = 57365 +const T_XOR_EQUAL = 57366 +const T_SL_EQUAL = 57367 +const T_SR_EQUAL = 57368 +const T_POW_EQUAL = 57369 +const T_COALESCE = 57370 +const T_BOOLEAN_OR = 57371 +const T_BOOLEAN_AND = 57372 +const T_IS_EQUAL = 57373 +const T_IS_NOT_EQUAL = 57374 +const T_IS_IDENTICAL = 57375 +const T_IS_NOT_IDENTICAL = 57376 +const T_SPACESHIP = 57377 +const T_IS_SMALLER_OR_EQUAL = 57378 +const T_IS_GREATER_OR_EQUAL = 57379 +const T_SL = 57380 +const T_SR = 57381 +const T_INSTANCEOF = 57382 +const T_INC = 57383 +const T_DEC = 57384 +const T_INT_CAST = 57385 +const T_DOUBLE_CAST = 57386 +const T_STRING_CAST = 57387 +const T_ARRAY_CAST = 57388 +const T_OBJECT_CAST = 57389 +const T_BOOL_CAST = 57390 +const T_UNSET_CAST = 57391 +const T_POW = 57392 +const T_NEW = 57393 +const T_CLONE = 57394 +const T_NOELSE = 57395 +const T_ELSEIF = 57396 +const T_ELSE = 57397 +const T_ENDIF = 57398 +const T_STATIC = 57399 +const T_ABSTRACT = 57400 +const T_FINAL = 57401 +const T_PRIVATE = 57402 +const T_PROTECTED = 57403 +const T_PUBLIC = 57404 +const T_EXIT = 57405 +const T_IF = 57406 +const T_LNUMBER = 57407 +const T_DNUMBER = 57408 +const T_STRING = 57409 +const T_STRING_VARNAME = 57410 +const T_VARIABLE = 57411 +const T_NUM_STRING = 57412 +const T_INLINE_HTML = 57413 +const T_CHARACTER = 57414 +const T_BAD_CHARACTER = 57415 +const T_ENCAPSED_AND_WHITESPACE = 57416 +const T_CONSTANT_ENCAPSED_STRING = 57417 +const T_ECHO = 57418 +const T_DO = 57419 +const T_WHILE = 57420 +const T_ENDWHILE = 57421 +const T_FOR = 57422 +const T_ENDFOR = 57423 +const T_FOREACH = 57424 +const T_ENDFOREACH = 57425 +const T_DECLARE = 57426 +const T_ENDDECLARE = 57427 +const T_AS = 57428 +const T_SWITCH = 57429 +const T_ENDSWITCH = 57430 +const T_CASE = 57431 +const T_DEFAULT = 57432 +const T_BREAK = 57433 +const T_CONTINUE = 57434 +const T_GOTO = 57435 +const T_FUNCTION = 57436 +const T_CONST = 57437 +const T_RETURN = 57438 +const T_TRY = 57439 +const T_CATCH = 57440 +const T_FINALLY = 57441 +const T_THROW = 57442 +const T_USE = 57443 +const T_INSTEADOF = 57444 +const T_GLOBAL = 57445 +const T_VAR = 57446 +const T_UNSET = 57447 +const T_ISSET = 57448 +const T_EMPTY = 57449 +const T_HALT_COMPILER = 57450 +const T_CLASS = 57451 +const T_TRAIT = 57452 +const T_INTERFACE = 57453 +const T_EXTENDS = 57454 +const T_IMPLEMENTS = 57455 +const T_OBJECT_OPERATOR = 57456 +const T_LIST = 57457 +const T_ARRAY = 57458 +const T_CALLABLE = 57459 +const T_CLASS_C = 57460 +const T_TRAIT_C = 57461 +const T_METHOD_C = 57462 +const T_FUNC_C = 57463 +const T_LINE = 57464 +const T_FILE = 57465 +const T_COMMENT = 57466 +const T_DOC_COMMENT = 57467 +const T_OPEN_TAG = 57468 +const T_OPEN_TAG_WITH_ECHO = 57469 +const T_CLOSE_TAG = 57470 +const T_WHITESPACE = 57471 +const T_START_HEREDOC = 57472 +const T_END_HEREDOC = 57473 +const T_DOLLAR_OPEN_CURLY_BRACES = 57474 +const T_CURLY_OPEN = 57475 +const T_PAAMAYIM_NEKUDOTAYIM = 57476 +const T_NAMESPACE = 57477 +const T_NS_C = 57478 +const T_DIR = 57479 +const T_NS_SEPARATOR = 57480 +const T_ELLIPSIS = 57481 + +var yyToknames = [...]string{ + "$end", + "error", + "$unk", + "T_INCLUDE", + "T_INCLUDE_ONCE", + "T_EVAL", + "T_REQUIRE", + "T_REQUIRE_ONCE", + "','", + "T_LOGICAL_OR", + "T_LOGICAL_XOR", + "T_LOGICAL_AND", + "T_PRINT", + "T_YIELD", + "T_DOUBLE_ARROW", + "T_YIELD_FROM", + "'='", + "T_PLUS_EQUAL", + "T_MINUS_EQUAL", + "T_MUL_EQUAL", + "T_DIV_EQUAL", + "T_CONCAT_EQUAL", + "T_MOD_EQUAL", + "T_AND_EQUAL", + "T_OR_EQUAL", + "T_XOR_EQUAL", + "T_SL_EQUAL", + "T_SR_EQUAL", + "T_POW_EQUAL", + "'?'", + "':'", + "T_COALESCE", + "T_BOOLEAN_OR", + "T_BOOLEAN_AND", + "'|'", + "'^'", + "'&'", + "T_IS_EQUAL", + "T_IS_NOT_EQUAL", + "T_IS_IDENTICAL", + "T_IS_NOT_IDENTICAL", + "T_SPACESHIP", + "'<'", + "T_IS_SMALLER_OR_EQUAL", + "'>'", + "T_IS_GREATER_OR_EQUAL", + "T_SL", + "T_SR", + "'+'", + "'-'", + "'.'", + "'*'", + "'/'", + "'%'", + "'!'", + "T_INSTANCEOF", + "'~'", + "T_INC", + "T_DEC", + "T_INT_CAST", + "T_DOUBLE_CAST", + "T_STRING_CAST", + "T_ARRAY_CAST", + "T_OBJECT_CAST", + "T_BOOL_CAST", + "T_UNSET_CAST", + "'@'", + "T_POW", + "'['", + "T_NEW", + "T_CLONE", + "T_NOELSE", + "T_ELSEIF", + "T_ELSE", + "T_ENDIF", + "T_STATIC", + "T_ABSTRACT", + "T_FINAL", + "T_PRIVATE", + "T_PROTECTED", + "T_PUBLIC", + "T_EXIT", + "T_IF", + "T_LNUMBER", + "T_DNUMBER", + "T_STRING", + "T_STRING_VARNAME", + "T_VARIABLE", + "T_NUM_STRING", + "T_INLINE_HTML", + "T_CHARACTER", + "T_BAD_CHARACTER", + "T_ENCAPSED_AND_WHITESPACE", + "T_CONSTANT_ENCAPSED_STRING", + "T_ECHO", + "T_DO", + "T_WHILE", + "T_ENDWHILE", + "T_FOR", + "T_ENDFOR", + "T_FOREACH", + "T_ENDFOREACH", + "T_DECLARE", + "T_ENDDECLARE", + "T_AS", + "T_SWITCH", + "T_ENDSWITCH", + "T_CASE", + "T_DEFAULT", + "T_BREAK", + "T_CONTINUE", + "T_GOTO", + "T_FUNCTION", + "T_CONST", + "T_RETURN", + "T_TRY", + "T_CATCH", + "T_FINALLY", + "T_THROW", + "T_USE", + "T_INSTEADOF", + "T_GLOBAL", + "T_VAR", + "T_UNSET", + "T_ISSET", + "T_EMPTY", + "T_HALT_COMPILER", + "T_CLASS", + "T_TRAIT", + "T_INTERFACE", + "T_EXTENDS", + "T_IMPLEMENTS", + "T_OBJECT_OPERATOR", + "T_LIST", + "T_ARRAY", + "T_CALLABLE", + "T_CLASS_C", + "T_TRAIT_C", + "T_METHOD_C", + "T_FUNC_C", + "T_LINE", + "T_FILE", + "T_COMMENT", + "T_DOC_COMMENT", + "T_OPEN_TAG", + "T_OPEN_TAG_WITH_ECHO", + "T_CLOSE_TAG", + "T_WHITESPACE", + "T_START_HEREDOC", + "T_END_HEREDOC", + "T_DOLLAR_OPEN_CURLY_BRACES", + "T_CURLY_OPEN", + "T_PAAMAYIM_NEKUDOTAYIM", + "T_NAMESPACE", + "T_NS_C", + "T_DIR", + "T_NS_SEPARATOR", + "T_ELLIPSIS", + "'\"'", + "'`'", + "'{'", + "'}'", + "';'", + "'('", + "')'", + "']'", + "'$'", +} +var yyStatenames = [...]string{} + +const yyEofCode = 1 +const yyErrCode = 2 +const yyInitialStackSize = 16 + +//line php7/php7.y:2584 + +//line yacctab:1 +var yyExca = [...]int{ + -1, 1, + 1, -1, + -2, 0, + -1, 43, + 69, 420, + 133, 420, + 153, 420, + 161, 420, + -2, 415, + -1, 47, + 164, 423, + -2, 432, + -1, 83, + 69, 422, + 133, 422, + 153, 422, + 161, 422, + 164, 425, + -2, 410, + -1, 106, + 153, 383, + -2, 412, + -1, 228, + 69, 420, + 133, 420, + 153, 420, + 161, 420, + -2, 311, + -1, 231, + 164, 425, + -2, 422, + -1, 234, + 69, 420, + 133, 420, + 153, 420, + 161, 420, + -2, 313, + -1, 352, + 38, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + -2, 335, + -1, 353, + 38, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + -2, 336, + -1, 354, + 38, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + -2, 337, + -1, 355, + 38, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + -2, 338, + -1, 356, + 43, 0, + 44, 0, + 45, 0, + 46, 0, + -2, 339, + -1, 357, + 43, 0, + 44, 0, + 45, 0, + 46, 0, + -2, 340, + -1, 358, + 43, 0, + 44, 0, + 45, 0, + 46, 0, + -2, 341, + -1, 359, + 43, 0, + 44, 0, + 45, 0, + 46, 0, + -2, 342, + -1, 360, + 38, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + -2, 343, + -1, 367, + 9, 161, + 165, 161, + -2, 420, + -1, 411, + 9, 460, + 165, 460, + 166, 460, + -2, 420, + -1, 415, + 69, 421, + 133, 421, + 153, 421, + 161, 421, + 164, 424, + -2, 345, + -1, 429, + 164, 446, + -2, 413, + -1, 430, + 164, 448, + -2, 438, + -1, 509, + 164, 446, + -2, 414, + -1, 510, + 164, 448, + -2, 439, + -1, 569, + 165, 211, + -2, 216, + -1, 594, + 164, 424, + -2, 421, + -1, 646, + 165, 211, + -2, 216, + -1, 651, + 165, 181, + -2, 420, + -1, 659, + 165, 211, + -2, 216, + -1, 684, + 9, 459, + 165, 459, + 166, 459, + -2, 420, + -1, 717, + 165, 182, + -2, 420, + -1, 737, + 88, 263, + -2, 266, + -1, 776, + 165, 181, + -2, 420, + -1, 778, + 165, 184, + -2, 394, + -1, 880, + 105, 76, + -2, 80, + -1, 912, + 165, 211, + -2, 216, +} + +const yyPrivate = 57344 + +const yyLast = 7467 + +var yyAct = [...]int{ + + 27, 129, 823, 836, 660, 859, 374, 576, 739, 434, + 872, 106, 835, 791, 664, 772, 809, 673, 783, 563, + 662, 137, 137, 137, 311, 650, 150, 4, 709, 631, + 698, 665, 530, 630, 185, 366, 320, 512, 376, 220, + 520, 403, 131, 79, 571, 315, 314, 222, 8, 7, + 136, 188, 224, 227, 146, 149, 235, 236, 237, 238, + 239, 127, 142, 240, 241, 242, 243, 244, 245, 246, + 125, 249, 139, 140, 257, 258, 259, 124, 2, 253, + 313, 312, 511, 6, 5, 428, 126, 778, 272, 273, + 891, 275, 276, 691, 687, 263, 268, 229, 229, 608, + 81, 595, 743, 744, 745, 742, 741, 740, 583, 408, + 924, 886, 104, 818, 817, 807, 799, 782, 771, 725, + 307, 110, 715, 696, 694, 686, 675, 648, 636, 626, + 596, 317, 114, 120, 587, 322, 323, 290, 928, 912, + 927, 83, 867, 826, 284, 286, 736, 831, 780, 738, + 718, 104, 685, 335, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 659, + 362, 364, 646, 368, 319, 265, 370, 404, 881, 104, + 268, 105, 305, 810, 294, 231, 231, 331, 285, 78, + 378, 386, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 569, 552, 400, 137, 402, 233, + 224, 382, 550, 143, 282, 229, 232, 766, 767, 301, + 105, 413, 412, 289, 224, 291, 116, 43, 104, 383, + 298, 288, 381, 304, 109, 293, 890, 292, 334, 137, + 743, 744, 745, 742, 741, 740, 423, 287, 330, 407, + 514, 137, 405, 328, 274, 429, 509, 401, 105, 229, + 369, 521, 522, 414, 361, 523, 566, 232, 840, 265, + 839, 812, 307, 527, 269, 108, 531, 116, 224, 104, + 301, 228, 234, 271, 736, 270, 866, 738, 248, 416, + 229, 830, 766, 767, 133, 283, 219, 111, 215, 549, + 183, 427, 182, 181, 230, 135, 232, 105, 134, 4, + 130, 112, 918, 231, 516, 811, 116, 533, 104, 267, + 901, 418, 419, 559, 900, 150, 863, 605, 558, 885, + 8, 7, 848, 819, 517, 813, 806, 763, 508, 750, + 518, 714, 515, 712, 842, 133, 765, 418, 111, 419, + 419, 418, 710, 708, 562, 705, 553, 231, 105, 548, + 305, 538, 536, 535, 384, 6, 5, 372, 269, 542, + 568, 326, 578, 539, 579, 557, 575, 580, 581, 573, + 560, 556, 577, 325, 133, 324, 295, 111, 231, 805, + 802, 645, 333, 666, 800, 759, 586, 105, 606, 907, + 224, 590, 329, 224, 570, 787, 884, 327, 406, 367, + 857, 541, 534, 544, 116, 855, 216, 607, 801, 254, + 604, 534, 610, 788, 420, 534, 306, 534, 781, 731, + 674, 585, 113, 574, 300, 154, 156, 155, 184, 417, + 288, 904, 593, 303, 513, 303, 262, 589, 116, 116, + 261, 430, 510, 411, 116, 179, 609, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 218, 178, 255, 256, 425, 113, 116, 700, 116, 115, + 526, 116, 377, 164, 902, 288, 634, 629, 667, 668, + 628, 572, 545, 667, 668, 137, 614, 380, 217, 743, + 744, 745, 742, 741, 740, 122, 123, 133, 143, 543, + 111, 644, 133, 625, 303, 111, 652, 784, 145, 618, + 254, 903, 303, 303, 318, 420, 611, 861, 254, 623, + 722, 723, 147, 640, 322, 642, 635, 617, 615, 254, + 421, 4, 647, 736, 133, 613, 738, 111, 654, 121, + 76, 77, 299, 688, 254, 232, 638, 145, 671, 277, + 672, 669, 8, 7, 577, 116, 547, 104, 892, 683, + 641, 656, 119, 109, 540, 302, 794, 793, 860, 252, + 649, 754, 525, 255, 256, 829, 689, 679, 229, 229, + 524, 255, 256, 792, 305, 670, 632, 6, 5, 853, + 521, 190, 255, 256, 422, 531, 743, 744, 745, 742, + 741, 740, 827, 653, 108, 229, 278, 255, 256, 147, + 116, 706, 602, 128, 743, 744, 745, 742, 741, 740, + 701, 713, 116, 133, 260, 224, 111, 697, 669, 720, + 695, 546, 693, 230, 724, 544, 105, 544, 704, 534, + 736, 669, 852, 738, 711, 375, 373, 730, 669, 122, + 123, 194, 751, 752, 600, 193, 224, 747, 736, 192, + 254, 738, 746, 186, 719, 420, 229, 164, 729, 699, + 755, 748, 279, 280, 703, 632, 231, 231, 189, 322, + 728, 297, 797, 612, 195, 196, 406, 616, 756, 224, + 598, 254, 601, 599, 761, 753, 281, 814, 766, 767, + 732, 758, 760, 231, 769, 766, 767, 824, 669, 768, + 773, 770, 775, 45, 795, 764, 796, 785, 577, 789, + 544, 798, 254, 255, 256, 544, 544, 251, 777, 749, + 229, 743, 744, 745, 742, 741, 740, 808, 197, 199, + 198, 699, 385, 632, 187, 178, 816, 868, 804, 862, + 682, 191, 833, 822, 255, 256, 825, 164, 588, 332, + 815, 308, 821, 716, 231, 633, 163, 165, 166, 832, + 178, 675, 367, 651, 757, 702, 828, 118, 726, 624, + 619, 847, 164, 564, 554, 255, 256, 409, 849, 841, + 1, 37, 544, 737, 544, 846, 734, 735, 803, 684, + 379, 661, 844, 851, 865, 529, 669, 221, 519, 856, + 858, 869, 773, 365, 878, 864, 837, 882, 883, 871, + 144, 790, 877, 141, 321, 148, 834, 888, 231, 889, + 658, 820, 250, 893, 838, 887, 643, 926, 223, 896, + 42, 41, 894, 15, 14, 878, 897, 597, 266, 544, + 895, 48, 899, 877, 47, 107, 906, 49, 82, 80, + 717, 71, 247, 61, 264, 60, 876, 910, 875, 874, + 873, 733, 44, 911, 663, 721, 655, 843, 917, 920, + 913, 637, 916, 915, 577, 309, 117, 921, 296, 3, + 922, 433, 786, 727, 669, 0, 0, 925, 0, 0, + 929, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 776, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, + 164, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 12, 22, 32, 0, 0, 33, 11, 0, 23, + 0, 28, 85, 86, 9, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 10, 100, 96, 111, 0, 103, 72, 13, 627, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 179, 75, 180, 152, + 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, + 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, + 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 0, 164, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 12, 22, 32, 0, 0, + 33, 11, 0, 23, 0, 28, 85, 86, 9, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 10, 100, 96, 111, 0, + 103, 72, 13, 537, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 180, 152, 153, 157, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, + 0, 0, 0, 0, 55, 56, 0, 0, 164, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 36, 12, + 22, 32, 0, 0, 33, 11, 0, 23, 0, 28, + 85, 86, 9, 38, 39, 40, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 161, 162, + 160, 163, 165, 166, 102, 178, 0, 0, 0, 10, + 100, 96, 111, 0, 103, 72, 13, 164, 31, 59, + 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, + 0, 0, 73, 74, 0, 75, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 164, 0, 0, 0, 57, 0, 58, 53, 54, 62, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 930, 31, 59, 0, 0, 105, 87, 88, 89, + 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, + 0, 157, 159, 158, 171, 172, 169, 170, 177, 173, + 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, + 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 55, 56, 164, 0, 0, 0, 57, 0, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 103, 72, 13, 923, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 164, 0, + 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 919, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 158, 171, + 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, + 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 909, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 171, 172, 169, 170, 177, 173, 174, 175, + 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 0, 55, 56, 0, 0, 0, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, + 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, + 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 103, 72, 13, 908, 31, 59, + 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, + 0, 0, 73, 74, 0, 75, 167, 168, 161, 162, + 160, 163, 165, 166, 0, 178, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 905, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, + 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 200, 201, 202, 203, 205, 206, + 207, 208, 209, 210, 211, 212, 204, 0, 0, 0, + 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 213, 214, 0, 0, 24, + 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 103, 72, 13, 854, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, + 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 850, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 779, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 762, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, + 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, + 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 103, 72, 13, 0, 31, 59, + 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, + 0, 0, 73, 74, 0, 75, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 678, 24, 76, 77, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, + 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 103, 72, 13, 567, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, + 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 310, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, + 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 0, 31, 59, 156, 155, 105, 441, + 442, 443, 444, 445, 0, 446, 447, 448, 484, 485, + 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 449, 0, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 450, 451, 0, 454, 455, + 456, 435, 436, 437, 438, 439, 440, 452, 453, 0, + 0, 432, 0, 104, 0, 0, 0, 0, 0, 0, + 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, + 467, 487, 488, 489, 490, 491, 479, 480, 481, 482, + 483, 468, 469, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 0, 499, 497, 498, 494, 495, 0, 486, + 492, 493, 500, 501, 503, 502, 504, 505, 0, 0, + 0, 0, 0, 87, 88, 89, 90, 91, 0, 496, + 507, 506, 73, 74, 0, 75, 431, 0, 0, 0, + 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, + 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, + 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, + 52, 0, 0, 0, 0, 24, 0, 0, 0, 0, + 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 132, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 0, 0, 0, 0, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, + 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, + 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 845, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, + 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, + 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, + 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, + 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, + 0, 0, 0, 24, 0, 0, 0, 0, 0, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 132, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 0, 0, 0, 0, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, + 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, + 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, + 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, + 51, 84, 52, 0, 0, 0, 0, 24, 0, 0, + 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, + 0, 20, 21, 34, 132, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 0, 0, + 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, + 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, + 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, + 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, + 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, + 0, 24, 0, 0, 0, 0, 0, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 132, 0, + 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, + 85, 86, 0, 0, 0, 0, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 103, 72, 13, 155, 31, 59, + 0, 0, 105, 441, 442, 443, 444, 445, 0, 446, + 447, 448, 484, 485, 0, 179, 0, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 164, 0, 449, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, + 451, 0, 454, 455, 456, 435, 436, 437, 438, 439, + 440, 452, 453, 0, 0, 880, 0, 0, 0, 0, + 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, + 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, + 494, 495, 0, 486, 492, 493, 500, 501, 503, 502, + 504, 505, 441, 442, 443, 444, 445, 426, 446, 447, + 448, 484, 485, 879, 507, 506, 111, 0, 0, 0, + 0, 898, 179, 0, 180, 152, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, + 164, 0, 0, 0, 0, 0, 0, 0, 450, 451, + 0, 454, 455, 456, 435, 436, 437, 438, 439, 440, + 452, 453, 0, 0, 880, 0, 0, 0, 0, 0, + 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, + 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 0, 499, 497, 498, 494, + 495, 0, 486, 492, 493, 500, 501, 503, 502, 504, + 505, 154, 156, 155, 0, 0, 0, 87, 88, 89, + 90, 91, 879, 507, 506, 111, 73, 74, 0, 75, + 870, 179, 0, 180, 152, 153, 157, 159, 158, 171, + 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, + 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, + 0, 0, 55, 56, 0, 0, 0, 0, 57, 164, + 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, + 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, + 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, + 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 707, 133, 100, 96, + 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, + 105, 441, 442, 443, 444, 445, 0, 446, 447, 448, + 484, 485, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 450, 451, 0, + 454, 455, 456, 435, 436, 437, 438, 439, 440, 452, + 453, 0, 0, 432, 0, 0, 0, 0, 0, 0, + 0, 0, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, + 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 0, 499, 497, 498, 494, 495, + 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, + 441, 442, 443, 444, 445, 0, 446, 447, 448, 484, + 485, 496, 507, 506, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 450, 451, 0, 454, + 455, 456, 743, 744, 745, 742, 741, 740, 452, 453, + 0, 0, 914, 0, 0, 0, 0, 0, 0, 0, + 0, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, + 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 0, 499, 497, 498, 494, 495, 0, + 486, 492, 493, 500, 501, 503, 502, 504, 505, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 0, + 496, 507, 506, 73, 74, 0, 75, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, + 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, + 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, + 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, + 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, + 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 0, 133, 100, 96, 111, 532, 103, + 72, 0, 0, 0, 59, 528, 0, 105, 87, 88, + 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, + 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, + 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, + 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, + 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, + 86, 0, 0, 73, 74, 0, 75, 0, 226, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, + 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, + 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, + 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, + 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, + 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, + 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, + 87, 88, 89, 90, 91, 85, 86, 0, 0, 73, + 74, 0, 75, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 591, 133, 100, 96, 111, 532, 103, + 72, 0, 0, 0, 59, 55, 56, 105, 0, 0, + 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, + 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, + 0, 0, 138, 0, 0, 0, 0, 0, 69, 0, + 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, + 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, + 0, 0, 0, 0, 0, 0, 87, 88, 89, 90, + 91, 85, 86, 0, 0, 73, 74, 0, 75, 0, + 592, 108, 0, 101, 97, 98, 99, 94, 95, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 133, 100, 96, 111, 0, 103, 72, 0, 0, 0, + 59, 55, 56, 105, 0, 0, 0, 57, 0, 58, + 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, + 0, 51, 84, 52, 0, 0, 0, 0, 138, 0, + 0, 0, 0, 0, 69, 0, 92, 93, 116, 424, + 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, + 0, 0, 87, 88, 89, 90, 91, 85, 86, 0, + 0, 73, 74, 0, 75, 0, 50, 108, 0, 101, + 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, + 0, 102, 0, 0, 0, 387, 133, 100, 96, 111, + 0, 103, 72, 0, 0, 0, 59, 55, 56, 105, + 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, + 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, + 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, + 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, + 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 0, 0, 87, 88, + 89, 90, 91, 85, 86, 0, 0, 73, 74, 0, + 75, 0, 50, 108, 0, 101, 97, 98, 99, 94, + 95, 0, 0, 0, 0, 363, 0, 102, 0, 0, + 0, 0, 133, 100, 96, 111, 0, 103, 72, 0, + 0, 0, 59, 55, 56, 105, 0, 0, 0, 57, + 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, + 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, + 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, + 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, + 86, 0, 0, 73, 74, 0, 75, 0, 50, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, + 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, + 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, + 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, + 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, + 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, + 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, + 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 154, 156, 155, 102, + 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, + 72, 0, 0, 0, 59, 0, 179, 105, 180, 152, + 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, + 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, + 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, + 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, + 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, + 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, + 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, + 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, + 0, 677, 0, 0, 0, 0, 0, 179, 0, 180, + 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, + 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, + 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, + 0, 0, 0, 0, 0, 164, 0, 0, 676, 0, + 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, + 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, + 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, + 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, + 0, 0, 164, 0, 0, 621, 0, 0, 0, 0, + 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, + 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, + 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, + 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, + 0, 0, 620, 0, 0, 0, 0, 0, 179, 0, + 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, + 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, + 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, + 0, 0, 0, 0, 0, 0, 164, 0, 0, 594, + 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, + 0, 0, 0, 164, 0, 0, 582, 0, 0, 0, + 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, + 156, 155, 0, 0, 0, 0, 0, 0, 0, 0, + 164, 0, 0, 555, 0, 0, 0, 0, 0, 179, + 810, 180, 152, 153, 157, 159, 158, 171, 172, 169, + 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, + 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, + 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, + 551, 0, 0, 0, 0, 0, 179, 0, 180, 152, + 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, + 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, + 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 415, 0, 0, + 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, + 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, + 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, + 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 811, 0, 0, 0, 0, 0, 0, 0, + 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, + 0, 0, 0, 0, 0, 0, 0, 0, 164, 371, + 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, + 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, + 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, + 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, + 0, 0, 0, 0, 0, 164, 151, 0, 0, 0, + 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, + 0, 0, 692, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 154, 156, 155, 0, 0, 0, 0, 0, 0, 690, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, + 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, + 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, + 0, 0, 0, 0, 0, 0, 0, 681, 164, 0, + 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, + 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, + 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, + 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, + 0, 0, 0, 0, 622, 164, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, + 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, + 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, + 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, + 0, 0, 603, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 179, 561, 180, 152, 153, 157, 159, 158, + 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, + 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, + 565, 154, 156, 155, 0, 0, 410, 0, 0, 584, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, + 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, + 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, + 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, + 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, + 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, + 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, + 163, 165, 166, 0, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 164, +} +var yyPact = [...]int{ + + -1000, -1000, 1255, -1000, -1000, -1000, -1000, -1000, -1000, 157, + 338, 412, 557, -1000, -1000, -1000, 156, 4963, 154, 151, + 6270, 6270, 6270, 24, 464, 6270, -1000, 6923, 149, 148, + 146, -1000, 287, 6270, 607, 743, 671, 493, 603, 599, + 595, 641, 695, 2417, -1000, -1000, 144, -1000, -1000, 357, + 142, 5574, 6270, 150, 150, 6270, 6270, 6270, 6270, 6270, + -1000, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 134, + 6270, -1000, 664, 6270, 6270, 6270, -1000, -1000, -1000, 585, + -1000, 307, 303, -1000, 201, 131, 129, 6270, 6270, 100, + 6270, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 486, 633, -1000, 63, 34, 34, 93, -1000, + 293, 554, -28, 554, 84, -1000, -1000, 233, 415, 281, + 438, 554, -1000, -1000, -1000, -1000, 273, -1000, 774, 3387, + 6270, 447, 671, 285, 6270, 6270, 232, 7398, 425, 230, + 218, 254, -1000, -1000, 249, 671, -1000, 772, 239, -1000, + 7398, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, + 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, + 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 240, 6154, + 6270, 150, 6270, 557, -1000, 6876, 214, -1000, 590, -1000, + 589, -1000, 371, -1000, 386, 78, 4963, 75, 211, 741, + 6038, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, + 6270, 6270, 6270, -1000, -1000, 6270, 6270, 6270, 101, 5574, + -57, 808, -1000, -1000, 7351, 150, 68, -1000, -1000, 585, + 6270, -1000, -1000, 5574, -1000, 629, 629, 719, 629, 6782, + 629, 629, 629, 629, 629, 629, 629, -1000, 6270, 629, + 289, 471, 602, -1000, 491, 5922, 150, 1076, 4812, 1076, + 6270, 3715, 3715, 34, -1000, 301, 191, 34, -1000, -1000, + 6270, 6270, 7398, 7398, 6270, 7398, 7398, 460, -1000, 452, + 341, 471, 6270, -1000, -1000, 5410, -1000, 5574, 583, 293, + 210, 293, -1000, -1000, 1091, -1000, 208, 220, 437, 554, + -1000, 372, 351, 575, 429, -1000, -1000, 557, 6270, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 58, 6735, 51, -1000, + 203, 805, 7398, 6688, -1000, -1000, -1000, -1000, 24, -1000, + 551, -1000, 6270, -1000, 6270, 1402, 1566, 3705, 1076, 4665, + 1730, 2054, 1891, 744, 744, 744, 719, 629, 719, 719, + 1349, 1349, 912, 912, 912, 912, 2209, 2209, 2209, 2209, + 912, -1000, 7302, 6270, 1240, 804, -1000, -1000, 7255, 111, + 3223, -1000, -1000, -1000, 50, 371, 379, 410, 282, -1000, + 410, 6270, -1000, 6270, -1000, -1000, 1076, 6270, 1076, 1076, + 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, + 6641, -58, 7207, 34, -1000, 6270, -1000, -31, 771, 5574, + 5806, -1000, 5574, 6594, -65, -1000, -35, -1000, -1000, -1000, + -1000, 634, 556, 7160, 268, 246, 6270, -67, 34, -1000, + -1000, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 34, -1000, + -1000, -1000, -1000, 24, 6270, 6270, 101, 24, 371, 801, + -1000, 7398, 6547, 6500, -1000, -1000, -1000, 7112, -1000, 800, + -1000, 7398, 6270, -36, -1000, -1000, 927, -1000, -1000, -1000, + 349, 350, -1000, 554, 348, 566, -1000, 345, -1000, 7398, + -37, 4515, 6270, 6270, 6270, 370, -1000, -1000, 18, 7398, + -1000, 6270, 1240, -38, 150, 499, 4351, -1000, 15, 373, + 379, -1000, 410, -1000, -1000, 279, 792, -1000, 6453, 6406, + 3059, 2054, 4187, -1000, -1000, -1000, 7065, 763, 6270, -1000, + 7398, 150, -12, -40, -1000, -1000, -1000, -72, -1000, -1000, + 484, -1000, -1000, -1000, -1000, 6270, -1000, 1076, -1000, -1000, + 7017, -1000, -1000, -73, 6970, -1000, -1000, 379, -41, 6270, + -1000, -1000, -1000, -42, 5690, 7398, -1000, -1000, 554, 336, + 796, -1000, -1000, 554, 566, -1000, 202, -1000, -1000, -1000, + 4951, 200, 7398, -1000, 199, 190, 373, 1240, 188, -1000, + -43, 778, 150, -14, 5574, -1000, -1000, -1000, 433, 373, + -46, 799, -1000, 673, -1000, -1000, 378, -1000, -1000, -1000, + -1000, 278, 792, 568, -1000, 410, 4963, 728, 186, -1000, + -1000, -1000, 6270, 1076, -1000, 5574, 763, -1000, -1000, 435, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 795, -1000, + 554, 243, 566, -1000, 796, -1000, 2895, 184, 6270, 194, + -1000, 627, -1000, -47, -1000, 3859, 499, -1000, 5574, -79, + 2731, -1000, -16, 277, -48, 417, 373, 257, -1000, -1000, + 272, -1000, -1000, -1000, 525, 483, 410, 685, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 550, -1000, -1000, -1000, + -1000, 3551, 1076, -49, 242, 267, 238, 554, 795, -1000, + -1000, 237, 183, -1000, -50, -1000, 6270, 162, 119, 182, + 620, 417, -1000, -1000, -1000, -51, -1000, -52, -1000, 180, + 410, -1000, 706, 706, -21, -1000, 544, -1000, -1000, 443, + 138, -1000, 765, 5127, 671, 117, -1000, -1000, 3551, 763, + -1000, -1000, -1000, -1000, 192, -1000, -1000, 4023, 6829, -1000, + -1000, -1000, -1000, -1000, 179, 706, 2567, 3859, -1000, -1000, + 584, -1000, 2403, 264, 373, 259, 510, 762, 174, -1000, + -1000, 525, -1000, 6270, 133, -1000, 760, 5127, -1000, -1000, + 4818, 26, -1000, -1000, -1000, -1000, -1000, 3551, -1000, 255, + 176, -1000, -54, 410, -1000, -1000, -1000, -1000, 81, -1000, + -1000, 500, 6270, -1000, -1000, 7398, -1000, 5127, 6270, -1000, + -1000, 4679, -1000, 171, 167, 383, 436, 298, -1000, 285, + -1000, -1000, 2239, 3551, -1000, -1000, 248, -1000, 2075, 1911, + -1000, 510, -1000, 7398, -1000, -1000, 7398, -25, -1000, -1000, + -1000, -1000, 410, 5266, 5127, 159, 1747, -1000, -1000, -1000, + -1000, -1000, 373, 792, -1000, -1000, 5127, -1000, -1000, -1000, + 1583, -55, -1000, -1000, 706, -23, -1000, -1000, -1000, 1419, + -1000, +} +var yyPgo = [...]int{ + + 0, 923, 922, 51, 9, 921, 3, 919, 11, 24, + 81, 80, 46, 45, 918, 29, 916, 77, 70, 61, + 915, 0, 50, 911, 907, 15, 906, 905, 35, 237, + 38, 20, 904, 32, 902, 62, 54, 901, 10, 900, + 899, 898, 896, 13, 55, 895, 894, 100, 95, 199, + 893, 892, 891, 5, 889, 85, 41, 888, 141, 43, + 887, 885, 884, 881, 878, 79, 877, 874, 873, 871, + 12, 870, 868, 47, 40, 31, 2, 14, 743, 8, + 795, 25, 867, 866, 864, 37, 82, 599, 862, 121, + 861, 860, 856, 86, 855, 36, 854, 853, 30, 33, + 851, 850, 28, 849, 843, 592, 840, 18, 838, 837, + 39, 835, 78, 1, 4, 831, 17, 830, 44, 827, + 826, 823, 7, 821, 6, 820, 19, 16, +} +var yyR1 = [...]int{ + + 0, 125, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, + 5, 5, 5, 5, 5, 5, 6, 6, 112, 112, + 89, 89, 8, 8, 8, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 80, + 80, 14, 14, 16, 16, 126, 126, 99, 99, 98, + 98, 105, 105, 15, 15, 18, 18, 17, 17, 93, + 93, 113, 113, 20, 20, 20, 20, 20, 20, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 91, 91, 90, 90, 27, 27, 104, + 104, 28, 10, 1, 1, 2, 2, 11, 11, 123, + 123, 78, 78, 12, 13, 30, 30, 117, 117, 118, + 118, 81, 81, 81, 81, 24, 24, 25, 25, 26, + 26, 83, 83, 83, 83, 102, 102, 102, 127, 127, + 23, 23, 69, 69, 67, 67, 71, 71, 68, 68, + 114, 114, 115, 115, 31, 31, 32, 32, 77, 77, + 75, 75, 75, 76, 76, 85, 85, 111, 111, 33, + 33, 97, 97, 35, 101, 101, 36, 36, 116, 116, + 37, 37, 37, 37, 122, 122, 84, 84, 84, 103, + 103, 38, 38, 39, 40, 40, 40, 40, 42, 42, + 41, 82, 82, 120, 120, 119, 119, 121, 121, 79, + 79, 79, 79, 79, 79, 100, 100, 43, 43, 92, + 92, 70, 19, 94, 94, 44, 95, 95, 96, 96, + 46, 45, 45, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 124, + 3, 3, 107, 107, 106, 106, 53, 53, 54, 54, + 54, 54, 47, 47, 48, 48, 51, 51, 88, 88, + 88, 86, 86, 58, 58, 58, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 59, 59, 59, 21, 21, 22, 22, 57, + 60, 60, 60, 61, 61, 61, 62, 62, 62, 62, + 62, 62, 29, 29, 29, 49, 49, 49, 63, 63, + 64, 64, 64, 64, 64, 64, 55, 55, 55, 56, + 56, 56, 110, 73, 73, 109, 109, 72, 72, 72, + 72, 72, 72, 87, 87, 87, 87, 65, 65, 65, + 65, 65, 65, 65, 66, 66, 66, 66, 50, 50, + 50, 50, 50, 50, 50, 108, 108, 74, +} +var yyR2 = [...]int{ + + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, + 1, 3, 1, 3, 2, 1, 1, 1, 1, 1, + 4, 3, 5, 4, 3, 4, 3, 4, 3, 1, + 1, 6, 7, 6, 7, 0, 1, 3, 1, 3, + 1, 3, 1, 1, 2, 1, 3, 1, 2, 3, + 1, 2, 0, 1, 1, 1, 1, 1, 4, 3, + 1, 1, 5, 7, 9, 5, 3, 3, 3, 3, + 3, 3, 1, 2, 6, 7, 9, 5, 1, 6, + 3, 3, 2, 0, 9, 1, 3, 0, 4, 1, + 3, 1, 11, 0, 1, 0, 1, 9, 8, 1, + 2, 1, 1, 6, 7, 0, 2, 0, 2, 0, + 2, 1, 2, 4, 3, 1, 4, 1, 4, 1, + 4, 3, 4, 4, 5, 0, 5, 4, 1, 1, + 1, 4, 5, 6, 1, 3, 6, 7, 3, 6, + 1, 0, 1, 3, 4, 6, 0, 1, 1, 2, + 1, 1, 1, 0, 2, 2, 4, 1, 3, 1, + 2, 3, 1, 1, 3, 1, 1, 3, 2, 0, + 3, 4, 3, 10, 1, 3, 1, 2, 3, 1, + 2, 2, 2, 3, 3, 3, 4, 3, 1, 1, + 3, 1, 3, 1, 1, 0, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 3, 1, 2, 4, 3, + 1, 4, 4, 3, 1, 1, 0, 1, 3, 1, + 8, 3, 2, 6, 5, 3, 4, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 5, 4, 3, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 3, 2, 1, 2, 4, 2, 11, 12, 0, + 0, 1, 0, 4, 3, 1, 1, 2, 2, 4, + 4, 2, 1, 1, 1, 1, 0, 3, 0, 1, + 1, 0, 1, 4, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 2, 3, 3, + 1, 1, 1, 3, 3, 1, 1, 0, 1, 1, + 1, 3, 1, 1, 3, 1, 1, 4, 4, 4, + 4, 1, 1, 1, 3, 1, 4, 2, 3, 3, + 1, 4, 4, 3, 3, 3, 1, 3, 1, 1, + 3, 1, 1, 0, 1, 3, 1, 3, 1, 4, + 2, 6, 4, 2, 2, 1, 2, 1, 4, 3, + 3, 3, 6, 3, 1, 1, 2, 1, 5, 4, + 2, 2, 4, 2, 2, 1, 3, 1, +} +var yyChk = [...]int{ + + -1000, -125, -112, -7, -9, -10, -11, -12, -13, 127, + 154, 120, 114, 161, -67, -68, 97, 96, 99, 106, + 110, 111, 115, 122, 76, 95, 90, -21, 124, 101, + 103, 163, 116, 119, 112, 86, 113, -123, 128, 129, + 130, -69, -71, -29, -34, -78, 83, -62, -63, -60, + 134, 69, 71, 58, 59, 49, 50, 55, 57, 164, + -45, -50, 60, 61, 62, 63, 64, 65, 66, 82, + 67, -52, 160, 13, 14, 16, 77, 78, -49, -59, + -54, -47, -57, -58, 70, 125, 126, 4, 5, 6, + 7, 8, 84, 85, 141, 142, 156, 138, 139, 140, + 155, 137, 149, 159, 88, 167, -8, -61, 135, 94, + -89, 157, 164, 157, -89, 161, 86, -16, -80, -105, + -89, 157, 113, 114, -17, -18, -93, -19, 86, -113, + 164, -9, 113, 154, 164, 164, -22, -21, 76, -22, + -22, -97, -35, -49, -101, 113, -36, 88, -94, -44, + -21, 163, 33, 34, 10, 12, 11, 35, 37, 36, + 51, 49, 50, 52, 68, 53, 54, 47, 48, 40, + 41, 38, 39, 43, 44, 45, 46, 42, 56, 30, + 32, 164, 164, 164, 161, -21, 86, 31, -3, 37, + 128, -78, 86, 86, 86, 73, 74, 73, 75, 74, + 17, 18, 19, 20, 29, 21, 22, 23, 24, 25, + 26, 27, 28, 58, 59, 164, 69, 161, 133, 164, + -110, -109, -73, -72, -21, 37, 134, -21, -29, -59, + 164, -58, 76, 69, -29, -21, -21, -21, -21, -21, + -21, -21, -21, -21, -21, -21, -21, -51, 164, -21, + -88, 93, -87, -65, 88, 151, 152, -21, -21, -21, + 69, 153, 153, -48, -46, -47, -64, 128, -8, -49, + 164, 164, -21, -21, 164, -21, -21, 93, 150, -87, + -87, 93, 161, -49, -85, 164, -85, 164, 157, -89, + 165, -89, 163, 161, -112, 163, -14, -105, -89, 157, + 163, 9, 157, 105, -89, -18, 163, 9, 17, -20, + 162, -9, -10, -11, -12, -13, 127, -21, 97, -3, + -95, -96, -21, -21, 163, 163, 163, 163, 9, 163, + 9, -3, 17, 163, 9, -21, -21, -21, -21, -21, + -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, + -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, + -21, -48, -21, 31, -21, -104, -28, -29, -21, -93, + -113, 163, 163, 86, -124, 86, -30, 131, -124, -117, + 131, 164, -9, 164, 163, 31, -21, 37, -21, -21, + -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, + -21, -22, -21, -56, 86, 161, -49, -110, 166, 9, + 15, -29, 164, -21, -110, 165, -22, 160, -65, -65, + 93, 69, 133, -21, 87, -29, 15, -22, -55, -6, + -49, 161, 86, -5, -4, 76, 77, 78, 79, 80, + 81, 4, 5, 6, 7, 8, 10, 11, 12, 56, + 70, 71, 82, 83, 73, 74, 75, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 111, + 112, 113, 114, 115, 13, 14, 134, 106, 107, 108, + 109, 110, 135, 136, 131, 132, 154, 129, 130, 128, + 137, 138, 140, 139, 141, 142, 156, 155, -55, -6, + -49, -86, -85, 153, 69, 161, 133, 153, -86, -108, + -74, -21, -21, -21, 150, 150, 159, -21, 165, -111, + -33, -21, 158, -110, 86, 163, -112, 162, 163, 163, + 157, -89, -17, 157, -89, 161, 86, 157, -19, -21, + 164, 165, 164, 163, 9, 165, -35, -36, -124, -21, + -44, 31, -21, -126, 9, 105, 165, 162, -124, 164, + -30, -118, 132, -8, 161, -124, -122, -8, -21, -21, + -113, -21, 165, 166, 162, -85, -21, 165, 17, -73, + -21, 37, 134, -110, 165, 166, 165, -66, 86, 89, + 50, 88, 86, 162, 162, 69, 162, -21, 166, -85, + -21, -85, -49, -22, -21, -56, -49, -30, -126, 9, + 165, 165, 162, -126, 9, -21, 165, 162, 161, 157, + -99, -15, -18, -80, 161, -124, 165, -23, -9, 31, + -21, -95, -21, -83, 161, 31, 164, -21, 165, -28, + -81, -29, 37, 134, 69, -26, -9, 31, -91, 164, + -114, -115, -31, -32, -77, -75, 30, 135, 136, -8, + -118, -124, -122, -116, 161, 9, 165, 165, 75, -9, + 31, 162, 17, -21, -29, 164, 165, 166, 89, -21, + 162, 166, 162, -118, 165, -74, 165, -33, -98, -18, + 161, -126, 9, -18, -99, 163, -113, 165, 163, -102, + 163, -102, 163, -114, 163, 165, 15, -29, 164, -110, + -113, -27, 117, 118, -114, 165, 9, -1, 37, -75, + -124, 161, 162, -37, -120, -119, 120, -121, 123, -79, + 81, 80, 79, 76, 77, 78, -116, -8, -9, 31, + 163, -113, -21, -110, 166, -124, -126, 9, -98, 162, + -15, -126, 98, 163, -95, 162, 108, 109, -102, 107, + -102, 165, -25, -9, 31, -81, -29, -110, 166, 104, + 164, 161, 165, -107, 120, -31, -2, 158, 161, -116, + -100, -43, 88, 114, 113, -122, -79, 162, -113, 165, + 162, 161, 162, -18, -126, 162, 163, 165, -21, -127, + 31, 163, 162, 163, 107, -107, -113, 165, 165, 163, + -90, -8, -113, -76, 31, -76, 164, 88, -116, 162, + 163, 9, -124, 17, -92, -70, -6, -3, -84, 163, + 161, -116, 162, -24, -9, 31, -127, -113, 163, -76, + 102, -25, 88, 35, 162, 161, -77, 161, -106, -53, + 88, 37, 17, 162, -43, -21, 163, 9, 17, -6, + 162, -103, -38, -39, -40, -41, -42, -8, -6, 154, + 86, 162, -113, -113, 161, 163, 165, -8, -113, -113, + 165, 9, 88, -21, -124, -70, -21, -124, 162, -38, + 163, 163, 121, 105, 153, 100, -113, 161, 162, 162, + -53, -124, 164, -122, 86, -4, -79, -6, 163, 162, + -113, -114, -6, 162, 165, -76, -82, 163, 161, -113, + 162, +} +var yyDef = [...]int{ + + 79, -2, 1, 78, 85, 86, 87, 88, 89, 0, + 0, 0, 0, 122, 130, 131, 0, 0, 0, 0, + 417, 417, 417, 0, 382, 0, 142, 0, 0, 0, + 0, 148, 0, 0, 0, 80, 370, 0, 0, 0, + 0, 204, 0, -2, 416, 169, 0, -2, 433, 419, + 0, 453, 0, 0, 0, 0, 0, 0, 0, 0, + 346, 350, 0, 0, 0, 0, 0, 0, 0, 386, + 0, 360, 388, 0, 363, 0, 171, 172, 426, 411, + 431, 0, 0, -2, 0, 0, 0, 0, 0, 0, + 0, 0, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 0, 0, 435, 0, -2, 0, 0, 395, + 82, 0, 0, 0, 0, 79, 80, 0, 0, 0, + 115, 0, 99, 100, 112, 117, 0, 120, 0, 0, + 0, 0, 370, 0, 286, 0, 0, 418, 382, 0, + 0, 0, 232, 233, 0, 370, 235, 236, 0, 284, + 285, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 122, 0, 0, 152, 369, 371, + 0, 170, 175, 369, 177, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 310, 312, 0, 417, 0, 0, 453, + 0, 452, 456, 454, 458, 0, 0, 297, -2, 0, + 0, -2, 382, 453, -2, 331, 332, 333, 334, 0, + 351, 352, 353, 354, 355, 356, 357, 358, 417, 359, + 0, 389, 390, 465, 467, 0, 0, 362, 364, 366, + 417, 0, 0, 391, 292, 384, 385, 391, 383, 440, + 0, 0, 480, 481, 0, 483, 484, 0, 407, 0, + 0, 0, 0, 437, 378, 0, 381, 453, 0, 84, + 0, 83, 91, 79, 0, 94, 0, 0, 115, 0, + 96, 0, 0, 0, 115, 118, 98, 0, 0, 121, + 129, 123, 124, 125, 126, 127, 0, 0, 0, 369, + 0, 287, 289, 0, 136, 137, 138, 139, 0, 140, + 0, 369, 0, 141, 0, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, -2, -2, -2, -2, -2, -2, -2, -2, + -2, 344, 0, 0, 349, 105, 159, -2, 0, 0, + 0, 150, 151, 369, 0, 175, 179, 0, 0, 369, + 0, 0, 205, 0, 208, 122, 295, 0, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 0, 0, 0, 434, 449, 0, 451, 0, 394, 453, + 0, -2, 453, 0, 0, -2, 0, 361, 466, 463, + 464, 0, 0, 0, 0, 420, 0, 0, 0, -2, + -2, 0, 76, 77, 69, 70, 71, 72, 73, 74, + 75, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 0, -2, + -2, 291, 392, 0, 417, 0, 0, 0, 175, 105, + 485, 487, 0, 0, 406, 409, 408, 0, 225, 105, + 227, 229, 0, 0, 81, 90, 0, 93, 95, 97, + 0, 115, 111, 0, 115, 0, 116, 0, 119, 369, + 0, 0, 0, 286, 0, 0, 231, 234, 0, 237, + 283, 0, 348, 0, 106, 0, 0, 153, 0, -2, + 179, 369, 0, 176, 239, 0, 178, 244, 0, 0, + 0, 296, 0, 427, 429, 430, 0, 0, 0, 455, + 457, 0, 0, 0, -2, 394, 387, 0, 474, 475, + 0, 477, 469, 470, 471, 0, 473, 365, 428, 379, + 0, 380, 444, 0, 0, 443, 445, 179, 0, 106, + 479, 482, 436, 0, 106, 230, 393, 92, 0, 0, + 105, 108, 113, 0, 0, 282, 0, 132, 200, 122, + 0, 0, 288, 135, 195, 195, -2, 347, 0, 160, + 0, -2, 0, 0, 453, 147, 189, 122, 157, -2, + 0, 210, 212, 163, 217, 218, 0, 220, 221, 222, + 369, 0, 180, 265, 239, 0, 0, 0, 0, 202, + 122, 450, 0, 294, -2, 453, 462, 468, 476, 0, + 447, 441, 442, 369, 478, 486, 226, 228, 105, 110, + 0, 0, 106, 114, 105, 128, 0, 0, 286, 0, + 195, 0, 195, 0, 144, 0, 0, -2, 453, 0, + 0, 149, 0, 0, 0, 372, 216, 165, 164, 219, + 0, 239, 173, 238, 0, 0, 0, -2, 264, 267, + 269, 270, 271, 272, 273, 274, 265, 245, 203, 122, + 209, 206, 293, 0, 0, 0, 0, 106, 105, 103, + 107, 0, 0, 133, 0, 191, 0, 0, 0, 0, + 0, 372, 145, 187, 122, 0, -2, 0, -2, 0, + 0, 122, 223, 223, 0, 213, 0, 166, 239, 265, + 0, 276, 369, 0, 370, 0, 268, 174, 207, 461, + 472, 239, 101, 109, 0, 104, 201, 0, 0, 122, + 198, 199, 192, 193, 0, 223, 0, 0, 183, 190, + 0, 155, 0, 0, 0, 0, 0, 214, 265, 168, + 240, 0, 277, 0, 0, 280, 0, 0, 242, 246, + 0, 265, 102, 134, 185, 122, 122, 197, 194, 0, + 0, 146, 0, 0, 158, 122, 224, 122, 0, 375, + 376, 0, 0, 167, 275, 369, 241, 0, 0, 369, + 247, 0, 249, 0, 0, 259, 0, 0, 258, 57, + -2, 290, 0, 196, 122, 188, 0, 156, 0, 0, + 373, 0, 377, 215, 278, 279, 369, 0, 248, 250, + 251, 252, 0, 0, 0, 0, 0, 122, 162, 367, + 374, 281, -2, 253, 254, 255, 257, 260, 186, 368, + 0, 0, 256, 154, 223, 0, 243, 261, 122, 0, + 262, +} +var yyTok1 = [...]int{ + + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 55, 159, 3, 167, 54, 37, 3, + 164, 165, 52, 49, 9, 50, 51, 53, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 31, 163, + 43, 17, 45, 30, 67, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 69, 3, 166, 36, 3, 160, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 161, 35, 162, 57, +} +var yyTok2 = [...]int{ + + 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, + 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 32, 33, 34, 38, + 39, 40, 41, 42, 44, 46, 47, 48, 56, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, +} +var yyTok3 = [...]int{ + 0, +} + +var yyErrorMessages = [...]struct { + state int + token int + msg string +}{} + +//line yaccpar:1 + +/* parser for yacc output */ + +var ( + yyDebug = 0 + yyErrorVerbose = false +) + +type yyLexer interface { + Lex(lval *yySymType) int + Error(s string) +} + +type yyParser interface { + Parse(yyLexer) int + Lookahead() int +} + +type yyParserImpl struct { + lval yySymType + stack [yyInitialStackSize]yySymType + char int +} + +func (p *yyParserImpl) Lookahead() int { + return p.char +} + +func yyNewParser() yyParser { + return &yyParserImpl{} +} + +const yyFlag = -1000 + +func yyTokname(c int) string { + if c >= 1 && c-1 < len(yyToknames) { + if yyToknames[c-1] != "" { + return yyToknames[c-1] + } + } + return __yyfmt__.Sprintf("tok-%v", c) +} + +func yyStatname(s int) string { + if s >= 0 && s < len(yyStatenames) { + if yyStatenames[s] != "" { + return yyStatenames[s] + } + } + return __yyfmt__.Sprintf("state-%v", s) +} + +func yyErrorMessage(state, lookAhead int) string { + const TOKSTART = 4 + + if !yyErrorVerbose { + return "syntax error" + } + + for _, e := range yyErrorMessages { + if e.state == state && e.token == lookAhead { + return "syntax error: " + e.msg + } + } + + res := "syntax error: unexpected " + yyTokname(lookAhead) + + // To match Bison, suggest at most four expected tokens. + expected := make([]int, 0, 4) + + // Look for shiftable tokens. + base := yyPact[state] + for tok := TOKSTART; tok-1 < len(yyToknames); tok++ { + if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok { + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + } + + if yyDef[state] == -2 { + i := 0 + for yyExca[i] != -1 || yyExca[i+1] != state { + i += 2 + } + + // Look for tokens that we accept or reduce. + for i += 2; yyExca[i] >= 0; i += 2 { + tok := yyExca[i] + if tok < TOKSTART || yyExca[i+1] == 0 { + continue + } + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + + // If the default action is to accept or reduce, give up. + if yyExca[i+1] != 0 { + return res + } + } + + for i, tok := range expected { + if i == 0 { + res += ", expecting " + } else { + res += " or " + } + res += yyTokname(tok) + } + return res +} + +func yylex1(lex yyLexer, lval *yySymType) (char, token int) { + token = 0 + char = lex.Lex(lval) + if char <= 0 { + token = yyTok1[0] + goto out + } + if char < len(yyTok1) { + token = yyTok1[char] + goto out + } + if char >= yyPrivate { + if char < yyPrivate+len(yyTok2) { + token = yyTok2[char-yyPrivate] + goto out + } + } + for i := 0; i < len(yyTok3); i += 2 { + token = yyTok3[i+0] + if token == char { + token = yyTok3[i+1] + goto out + } + } + +out: + if token == 0 { + token = yyTok2[1] /* unknown char */ + } + if yyDebug >= 3 { + __yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char)) + } + return char, token +} + +func yyParse(yylex yyLexer) int { + return yyNewParser().Parse(yylex) +} + +func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int { + var yyn int + var yyVAL yySymType + var yyDollar []yySymType + _ = yyDollar // silence set and not used + yyS := yyrcvr.stack[:] + + Nerrs := 0 /* number of errors */ + Errflag := 0 /* error recovery flag */ + yystate := 0 + yyrcvr.char = -1 + yytoken := -1 // yyrcvr.char translated into internal numbering + defer func() { + // Make sure we report no lookahead when not parsing. + yystate = -1 + yyrcvr.char = -1 + yytoken = -1 + }() + yyp := -1 + goto yystack + +ret0: + return 0 + +ret1: + return 1 + +yystack: + /* put a state and value onto the stack */ + if yyDebug >= 4 { + __yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate)) + } + + yyp++ + if yyp >= len(yyS) { + nyys := make([]yySymType, len(yyS)*2) + copy(nyys, yyS) + yyS = nyys + } + yyS[yyp] = yyVAL + yyS[yyp].yys = yystate + +yynewstate: + yyn = yyPact[yystate] + if yyn <= yyFlag { + goto yydefault /* simple state */ + } + if yyrcvr.char < 0 { + yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) + } + yyn += yytoken + if yyn < 0 || yyn >= yyLast { + goto yydefault + } + yyn = yyAct[yyn] + if yyChk[yyn] == yytoken { /* valid shift */ + yyrcvr.char = -1 + yytoken = -1 + yyVAL = yyrcvr.lval + yystate = yyn + if Errflag > 0 { + Errflag-- + } + goto yystack + } + +yydefault: + /* default state action */ + yyn = yyDef[yystate] + if yyn == -2 { + if yyrcvr.char < 0 { + yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) + } + + /* look through exception table */ + xi := 0 + for { + if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate { + break + } + xi += 2 + } + for xi += 2; ; xi += 2 { + yyn = yyExca[xi+0] + if yyn < 0 || yyn == yytoken { + break + } + } + yyn = yyExca[xi+1] + if yyn < 0 { + goto ret0 + } + } + if yyn == 0 { + /* error ... attempt to resume parsing */ + switch Errflag { + case 0: /* brand new error */ + yylex.Error(yyErrorMessage(yystate, yytoken)) + Nerrs++ + if yyDebug >= 1 { + __yyfmt__.Printf("%s", yyStatname(yystate)) + __yyfmt__.Printf(" saw %s\n", yyTokname(yytoken)) + } + fallthrough + + case 1, 2: /* incompletely recovered error ... try again */ + Errflag = 3 + + /* find a state where "error" is a legal shift action */ + for yyp >= 0 { + yyn = yyPact[yyS[yyp].yys] + yyErrCode + if yyn >= 0 && yyn < yyLast { + yystate = yyAct[yyn] /* simulate a shift of "error" */ + if yyChk[yystate] == yyErrCode { + goto yystack + } + } + + /* the current p has no shift on "error", pop stack */ + if yyDebug >= 2 { + __yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys) + } + yyp-- + } + /* there is no state on the stack with an error shift ... abort */ + goto ret1 + + case 3: /* no shift yet; clobber input char */ + if yyDebug >= 2 { + __yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken)) + } + if yytoken == yyEofCode { + goto ret1 + } + yyrcvr.char = -1 + yytoken = -1 + goto yynewstate /* try again in the same state */ + } + } + + /* reduction by production yyn */ + if yyDebug >= 2 { + __yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate)) + } + + yynt := yyn + yypt := yyp + _ = yypt // guard against "declared and not used" + + yyp -= yyR2[yyn] + // yyp is now the index of $0. Perform the default action. Iff the + // reduced production is ε, $1 is possibly out of range. + if yyp+1 >= len(yyS) { + nyys := make([]yySymType, len(yyS)*2) + copy(nyys, yyS) + yyS = nyys + } + yyVAL = yyS[yyp+1] + + /* consult goto table to find next state */ + yyn = yyR1[yyn] + yyg := yyPgo[yyn] + yyj := yyg + yyS[yyp].yys + 1 + + if yyj >= yyLast { + yystate = yyAct[yyg] + } else { + yystate = yyAct[yyj] + if yyChk[yystate] != -yyn { + yystate = yyAct[yyg] + } + } + // dummy call; replaced with literal code + switch yynt { + + case 1: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:251 + { + rootnode = stmt.NewStmtList(yyDollar[1].list) + positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + } + case 2: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 3: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 4: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 5: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 6: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 7: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 8: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 9: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:258 + { + yyVAL.token = yyDollar[1].token + } + case 10: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 11: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 12: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 13: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 14: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 15: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 16: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 17: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 18: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 19: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 20: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 21: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:259 + { + yyVAL.token = yyDollar[1].token + } + case 22: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 23: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 24: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 25: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 26: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 27: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 28: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 29: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 30: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 31: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:260 + { + yyVAL.token = yyDollar[1].token + } + case 32: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 33: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 34: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 35: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 36: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 37: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 38: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 39: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 40: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 41: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:261 + { + yyVAL.token = yyDollar[1].token + } + case 42: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 43: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 44: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 45: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 46: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 47: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 48: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 49: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 50: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 51: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 52: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:262 + { + yyVAL.token = yyDollar[1].token + } + case 53: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 54: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 55: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 56: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 57: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 58: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 59: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 60: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:263 + { + yyVAL.token = yyDollar[1].token + } + case 61: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 62: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 63: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 64: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 65: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 66: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 67: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 68: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:264 + { + yyVAL.token = yyDollar[1].token + } + case 69: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:268 + { + yyVAL.token = yyDollar[1].token + } + case 70: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:269 + { + yyVAL.token = yyDollar[1].token + } + case 71: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:269 + { + yyVAL.token = yyDollar[1].token + } + case 72: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:269 + { + yyVAL.token = yyDollar[1].token + } + case 73: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:269 + { + yyVAL.token = yyDollar[1].token + } + case 74: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:269 + { + yyVAL.token = yyDollar[1].token + } + case 75: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:269 + { + yyVAL.token = yyDollar[1].token + } + case 76: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:273 + { + yyVAL.token = yyDollar[1].token + } + case 77: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:274 + { + yyVAL.token = yyDollar[1].token + } + case 78: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:278 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 79: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:279 + { + yyVAL.list = []node.Node{} + } + case 80: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:284 + { + namePart := name.NewNamePart(yyDollar[1].token.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.list = []node.Node{namePart} + comments.AddComments(namePart, yyDollar[1].token.Comments()) + } + case 81: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:291 + { + namePart := name.NewNamePart(yyDollar[3].token.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.list = append(yyDollar[1].list, namePart) + comments.AddComments(namePart, yyDollar[3].token.Comments()) + } + case 82: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:301 + { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 83: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:307 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 84: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:313 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 85: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:321 + { + yyVAL.node = yyDollar[1].node + } + case 86: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:322 + { + yyVAL.node = yyDollar[1].node + } + case 87: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:323 + { + yyVAL.node = yyDollar[1].node + } + case 88: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:324 + { + yyVAL.node = yyDollar[1].node + } + case 89: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:325 + { + yyVAL.node = yyDollar[1].node + } + case 90: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:326 + { + yyVAL.node = stmt.NewHaltCompiler() + } + case 91: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:328 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewNamespace(name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 92: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:338 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewNamespace(name, yyDollar[4].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 93: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:348 + { + yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 94: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:353 + { + yyVAL.node = yyDollar[2].node + } + case 95: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:354 + { + yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) + } + case 96: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:356 + { + yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 97: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:361 + { + yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) + } + case 98: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:363 + { + yyVAL.node = stmt.NewConstList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 99: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:372 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 100: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:378 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 101: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:387 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 102: + yyDollar = yyS[yypt-7 : yypt+1] + //line php7/php7.y:397 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 103: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:410 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 104: + yyDollar = yyS[yypt-7 : yypt+1] + //line php7/php7.y:420 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 107: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:438 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 108: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:439 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 109: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:444 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 110: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:445 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 111: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:449 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 112: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:450 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 113: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:454 + { + yyVAL.node = yyDollar[1].node + } + case 114: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:455 + { + yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) + } + case 115: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:460 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 116: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:470 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewUse(nil, name, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 117: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:485 + { + yyVAL.node = yyDollar[1].node + } + case 118: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:486 + { + yyVAL.node = yyDollar[2].node + } + case 119: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:490 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 120: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:491 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 121: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:495 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 122: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:496 + { + yyVAL.list = []node.Node{} + } + case 123: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:500 + { + yyVAL.node = yyDollar[1].node + } + case 124: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:501 + { + yyVAL.node = yyDollar[1].node + } + case 125: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:502 + { + yyVAL.node = yyDollar[1].node + } + case 126: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:503 + { + yyVAL.node = yyDollar[1].node + } + case 127: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:504 + { + yyVAL.node = yyDollar[1].node + } + case 128: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:506 + { + yyVAL.node = stmt.NewHaltCompiler() + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 129: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:514 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 130: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:519 + { + yyVAL.node = yyDollar[1].node + } + case 131: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:520 + { + yyVAL.node = yyDollar[1].node + } + case 132: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:522 + { + yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[3].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 133: + yyDollar = yyS[yypt-7 : yypt+1] + //line php7/php7.y:528 + { + yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 134: + yyDollar = yyS[yypt-9 : yypt+1] + //line php7/php7.y:534 + { + yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 135: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:540 + { + yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 136: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:546 + { + yyVAL.node = stmt.NewBreak(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 137: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:552 + { + yyVAL.node = stmt.NewContinue(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 138: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:558 + { + yyVAL.node = stmt.NewReturn(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 139: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:564 + { + yyVAL.node = stmt.NewGlobal(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 140: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:570 + { + yyVAL.node = stmt.NewStatic(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 141: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:576 + { + yyVAL.node = stmt.NewEcho(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 142: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:582 + { + yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 143: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:588 + { + yyVAL.node = stmt.NewExpression(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 144: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:594 + { + yyVAL.node = stmt.NewUnset(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 145: + yyDollar = yyS[yypt-7 : yypt+1] + //line php7/php7.y:600 + { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 146: + yyDollar = yyS[yypt-9 : yypt+1] + //line php7/php7.y:606 + { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 147: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:612 + { + yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 148: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:618 + { + yyVAL.node = stmt.NewNop() + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 149: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:624 + { + if yyDollar[6].node == nil { + yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list)) + } else { + yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) + } + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 150: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:636 + { + yyVAL.node = stmt.NewThrow(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 151: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:642 + { + label := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = stmt.NewGoto(label) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + + comments.AddComments(label, yyDollar[2].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 152: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:652 + { + label := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewLabel(label) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + + comments.AddComments(label, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 153: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:663 + { + yyVAL.list = []node.Node{} + } + case 154: + yyDollar = yyS[yypt-9 : yypt+1] + //line php7/php7.y:665 + { + identifier := node.NewIdentifier(yyDollar[5].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[5].token)) + catch := stmt.NewCatch(yyDollar[4].list, variable, yyDollar[8].list) + positions.AddPosition(catch, positionBuilder.NewTokensPosition(yyDollar[2].token, yyDollar[9].token)) + yyVAL.list = append(yyDollar[1].list, catch) + + comments.AddComments(identifier, yyDollar[5].token.Comments()) + comments.AddComments(variable, yyDollar[5].token.Comments()) + comments.AddComments(catch, yyDollar[2].token.Comments()) + } + case 155: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:680 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 156: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:681 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 157: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:685 + { + yyVAL.node = nil + } + case 158: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:687 + { + yyVAL.node = stmt.NewFinally(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 159: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:695 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 160: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:696 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 161: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:700 + { + yyVAL.node = yyDollar[1].node + } + case 162: + yyDollar = yyS[yypt-11 : yypt+1] + //line php7/php7.y:705 + { + name := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list, yyDollar[4].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) + + comments.AddComments(name, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 163: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:717 + { + yyVAL.boolWithToken = boolWithToken{false, nil} + } + case 164: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:718 + { + yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} + } + case 165: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:722 + { + yyVAL.boolWithToken = boolWithToken{false, nil} + } + case 166: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:723 + { + yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} + } + case 167: + yyDollar = yyS[yypt-9 : yypt+1] + //line php7/php7.y:728 + { + name := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewClass(name, yyDollar[1].list, nil, yyDollar[4].node, yyDollar[5].list, yyDollar[8].list, yyDollar[6].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token)) + + comments.AddComments(name, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 168: + yyDollar = yyS[yypt-8 : yypt+1] + //line php7/php7.y:738 + { + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = stmt.NewClass(name, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) + + comments.AddComments(name, yyDollar[2].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 169: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:750 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 170: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:751 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 171: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:756 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 172: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:762 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 173: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:771 + { + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = stmt.NewTrait(name, yyDollar[5].list, yyDollar[3].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) + + comments.AddComments(name, yyDollar[2].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 174: + yyDollar = yyS[yypt-7 : yypt+1] + //line php7/php7.y:784 + { + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = stmt.NewInterface(name, yyDollar[3].list, yyDollar[6].list, yyDollar[4].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + + comments.AddComments(name, yyDollar[2].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 175: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:796 + { + yyVAL.node = nil + } + case 176: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:797 + { + yyVAL.node = yyDollar[2].node + } + case 177: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:801 + { + yyVAL.list = nil + } + case 178: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:802 + { + yyVAL.list = yyDollar[2].list + } + case 179: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:806 + { + yyVAL.list = nil + } + case 180: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:807 + { + yyVAL.list = yyDollar[2].list + } + case 181: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:811 + { + yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} + } + case 182: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:812 + { + yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} + } + case 183: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:814 + { + list := expr.NewList(yyDollar[3].list) + positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + yyVAL.foreachVariable = foreachVariable{list, false} + comments.AddComments(list, yyDollar[1].token.Comments()) + } + case 184: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:821 + { + list := expr.NewShortList(yyDollar[2].list) + positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + yyVAL.foreachVariable = foreachVariable{list, false} + comments.AddComments(list, yyDollar[1].token.Comments()) + } + case 185: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:830 + { + yyVAL.node = yyDollar[1].node + } + case 186: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:832 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 187: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:840 + { + yyVAL.node = yyDollar[1].node + } + case 188: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:842 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 189: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:850 + { + yyVAL.node = yyDollar[1].node + } + case 190: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:852 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 191: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:860 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} + } + case 192: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:861 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} + } + case 193: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:862 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} + } + case 194: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:863 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} + } + case 195: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:867 + { + yyVAL.list = []node.Node{} + } + case 196: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:869 + { + _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) + positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) + yyVAL.list = append(yyDollar[1].list, _case) + comments.AddComments(_case, yyDollar[2].token.Comments()) + } + case 197: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:876 + { + _default := stmt.NewDefault(yyDollar[4].list) + positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) + yyVAL.list = append(yyDollar[1].list, _default) + comments.AddComments(_default, yyDollar[2].token.Comments()) + } + case 200: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:890 + { + yyVAL.node = yyDollar[1].node + } + case 201: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:892 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 202: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:901 + { + yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 203: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:907 + { + _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) + yyVAL.node = yyDollar[1].node.(*stmt.If).AddElseIf(_elseIf) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) + + comments.AddComments(_elseIf, yyDollar[2].token.Comments()) + } + case 204: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:918 + { + yyVAL.node = yyDollar[1].node + } + case 205: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:920 + { + _else := stmt.NewElse(yyDollar[3].node) + positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) + yyVAL.node = yyDollar[1].node.(*stmt.If).SetElse(_else) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + + comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) + } + case 206: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:932 + { + stmts := stmt.NewStmtList(yyDollar[6].list) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) + yyVAL.node = stmt.NewAltIf(yyDollar[3].node, stmts) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list)) + + comments.AddComments(stmts, yyDollar[5].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 207: + yyDollar = yyS[yypt-7 : yypt+1] + //line php7/php7.y:942 + { + stmts := stmt.NewStmtList(yyDollar[7].list) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) + _elseIf := stmt.NewAltElseIf(yyDollar[4].node, stmts) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list)) + yyVAL.node = yyDollar[1].node.(*stmt.AltIf).AddElseIf(_elseIf) + + comments.AddComments(stmts, yyDollar[6].token.Comments()) + comments.AddComments(_elseIf, yyDollar[2].token.Comments()) + } + case 208: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:956 + { + yyVAL.node = yyDollar[1].node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + } + case 209: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:961 + { + stmts := stmt.NewStmtList(yyDollar[4].list) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) + _else := stmt.NewAltElse(stmts) + positions.AddPosition(_else, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) + yyVAL.node = yyDollar[1].node.(*stmt.AltIf).SetElse(_else) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token)) + + comments.AddComments(stmts, yyDollar[3].token.Comments()) + comments.AddComments(_else, yyDollar[2].token.Comments()) + } + case 210: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:975 + { + yyVAL.list = yyDollar[1].list + } + case 211: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:976 + { + yyVAL.list = nil + } + case 212: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:980 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 213: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:981 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 214: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:986 + { + identifier := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) + + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + + if yyDollar[1].node != nil { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } else if yyDollar[2].boolWithToken.value == true { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[2].boolWithToken.token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) + } else if yyDollar[3].boolWithToken.value == true { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[3].boolWithToken.token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) + } else { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + } + } + case 215: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:1014 + { + identifier := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) + + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + + if yyDollar[1].node != nil { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } else if yyDollar[2].boolWithToken.value == true { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[2].boolWithToken.token, yyDollar[6].node)) + comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) + } else if yyDollar[3].boolWithToken.value == true { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[3].boolWithToken.token, yyDollar[6].node)) + comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) + } else { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node)) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + } + } + case 216: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1044 + { + yyVAL.node = nil + } + case 217: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1045 + { + yyVAL.node = yyDollar[1].node + } + case 218: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1049 + { + yyVAL.node = yyDollar[1].node + } + case 219: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1051 + { + yyVAL.node = node.NewNullable(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 220: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1060 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 221: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1066 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 222: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1071 + { + yyVAL.node = yyDollar[1].node + } + case 223: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1075 + { + yyVAL.node = nil + } + case 224: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1076 + { + yyVAL.node = yyDollar[2].node + } + case 225: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1080 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} + } + case 226: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1081 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} + } + case 227: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1085 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 228: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1086 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 229: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1091 + { + yyVAL.node = node.NewArgument(yyDollar[1].node, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 230: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1097 + { + yyVAL.node = node.NewArgument(yyDollar[2].node, true) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 231: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1105 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 232: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1106 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 233: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1110 + { + yyVAL.node = yyDollar[1].node + } + case 234: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1114 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 235: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1115 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 236: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1120 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewStaticVar(variable, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 237: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1133 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewStaticVar(variable, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 238: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1148 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 239: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1149 + { + yyVAL.list = []node.Node{} + } + case 240: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1154 + { + yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 241: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1160 + { + yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 242: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1166 + { + yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 243: + yyDollar = yyS[yypt-10 : yypt+1] + //line php7/php7.y:1172 + { + name := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) + yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[7].list, yyDollar[9].node, yyDollar[10].nodesWithEndToken.nodes, yyDollar[5].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[10].nodesWithEndToken.endToken)) + + comments.AddComments(name, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 244: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1184 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 245: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1185 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 246: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1189 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} + } + case 247: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1190 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} + } + case 248: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1191 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} + } + case 249: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1195 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 250: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1196 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 251: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1200 + { + yyVAL.node = yyDollar[1].node + } + case 252: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1201 + { + yyVAL.node = yyDollar[1].node + } + case 253: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1206 + { + name := name.NewName(yyDollar[3].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) + yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, name) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[3].list)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 254: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1219 + { + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 255: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1229 + { + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 256: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1239 + { + alias := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + + comments.AddComments(alias, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 257: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1249 + { + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 258: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1258 + { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewTraitMethodRef(nil, name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 259: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1267 + { + yyVAL.node = yyDollar[1].node + } + case 260: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1272 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewTraitMethodRef(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 261: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1284 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} + } + case 262: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1285 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} + } + case 263: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1289 + { + yyVAL.list = yyDollar[1].list + } + case 264: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1291 + { + modifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.list = []node.Node{modifier} + comments.AddComments(modifier, yyDollar[1].token.Comments()) + } + case 265: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1300 + { + yyVAL.list = nil + } + case 266: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1301 + { + yyVAL.list = yyDollar[1].list + } + case 267: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1305 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 268: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1306 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 269: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1311 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 270: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1317 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 271: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1323 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 272: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1329 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 273: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1335 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 274: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1341 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 275: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1349 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 276: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1350 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 277: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1355 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewProperty(variable, nil, yyDollar[2].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 278: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1368 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewProperty(variable, yyDollar[3].node, yyDollar[4].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 279: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1383 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 280: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1384 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 281: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1389 + { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 282: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1402 + { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 283: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1414 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 284: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1415 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 285: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1419 + { + yyVAL.node = yyDollar[1].node + } + case 286: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1423 + { + yyVAL.list = nil + } + case 287: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1424 + { + yyVAL.list = yyDollar[1].list + } + case 288: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1427 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 289: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1428 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 290: + yyDollar = yyS[yypt-8 : yypt+1] + //line php7/php7.y:1433 + { + if yyDollar[2].nodesWithEndToken != nil { + yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) + } else { + yyVAL.node = stmt.NewClass(nil, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) + } + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 291: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1448 + { + if yyDollar[3].nodesWithEndToken != nil { + yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) + } else { + yyVAL.node = expr.NewNew(yyDollar[2].node, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + } + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 292: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1459 + { + yyVAL.node = expr.NewNew(yyDollar[2].node, nil) + } + case 293: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:1464 + { + list := expr.NewList(yyDollar[3].list) + positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + yyVAL.node = assign_op.NewAssign(list, yyDollar[6].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) + + comments.AddComments(list, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 294: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:1474 + { + shortList := expr.NewShortList(yyDollar[2].list) + positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + yyVAL.node = assign_op.NewAssign(shortList, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) + + comments.AddComments(shortList, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 295: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1484 + { + yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 296: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1490 + { + yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 297: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1496 + { + yyVAL.node = expr.NewClone(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 298: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1502 + { + yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 299: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1508 + { + yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 300: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1514 + { + yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 301: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1520 + { + yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 302: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1526 + { + yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 303: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1532 + { + yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 304: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1538 + { + yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 305: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1544 + { + yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 306: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1550 + { + yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 307: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1556 + { + yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 308: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1562 + { + yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 309: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1568 + { + yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 310: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1574 + { + yyVAL.node = expr.NewPostInc(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 311: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1580 + { + yyVAL.node = expr.NewPreInc(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 312: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1586 + { + yyVAL.node = expr.NewPostDec(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 313: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1592 + { + yyVAL.node = expr.NewPreDec(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 314: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1598 + { + yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 315: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1604 + { + yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 316: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1610 + { + yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 317: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1616 + { + yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 318: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1622 + { + yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 319: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1628 + { + yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 320: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1634 + { + yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 321: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1640 + { + yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 322: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1646 + { + yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 323: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1652 + { + yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 324: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1658 + { + yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 325: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1664 + { + yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 326: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1670 + { + yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 327: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1676 + { + yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 328: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1682 + { + yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 329: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1688 + { + yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 330: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1694 + { + yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 331: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1700 + { + yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 332: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1706 + { + yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 333: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1712 + { + yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 334: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1718 + { + yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 335: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1724 + { + yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 336: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1730 + { + yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 337: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1736 + { + yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 338: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1742 + { + yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 339: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1748 + { + yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 340: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1754 + { + yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 341: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1760 + { + yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 342: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1766 + { + yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 343: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1772 + { + yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 344: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1778 + { + yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 345: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1783 + { + yyVAL.node = yyDollar[2].node + } + case 346: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1784 + { + yyVAL.node = yyDollar[1].node + } + case 347: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:1786 + { + yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 348: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1792 + { + yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 349: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1798 + { + yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 350: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1803 + { + yyVAL.node = yyDollar[1].node + } + case 351: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1805 + { + yyVAL.node = cast.NewCastInt(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 352: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1811 + { + yyVAL.node = cast.NewCastDouble(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 353: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1817 + { + yyVAL.node = cast.NewCastString(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 354: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1823 + { + yyVAL.node = cast.NewCastArray(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 355: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1829 + { + yyVAL.node = cast.NewCastObject(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 356: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1835 + { + yyVAL.node = cast.NewCastBool(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 357: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1841 + { + yyVAL.node = cast.NewCastUnset(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 358: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1847 + { + yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 359: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1853 + { + yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 360: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1858 + { + yyVAL.node = yyDollar[1].node + } + case 361: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1860 + { + yyVAL.node = expr.NewShellExec(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 362: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1866 + { + yyVAL.node = expr.NewPrint(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 363: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1872 + { + yyVAL.node = expr.NewYield(nil, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 364: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1878 + { + yyVAL.node = expr.NewYield(nil, yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 365: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1884 + { + yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 366: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1890 + { + yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 367: + yyDollar = yyS[yypt-11 : yypt+1] + //line php7/php7.y:1896 + { + yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 368: + yyDollar = yyS[yypt-12 : yypt+1] + //line php7/php7.y:1903 + { + yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 369: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1912 + { + yyVAL.str = yylex.(*lexer).PhpDocComment + yylex.(*lexer).PhpDocComment = "" + } + case 370: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1916 + { + yyVAL.boolWithToken = boolWithToken{false, nil} + } + case 371: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1917 + { + yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} + } + case 372: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1921 + { + yyVAL.list = []node.Node{} + } + case 373: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1922 + { + yyVAL.list = yyDollar[3].list + } + case 374: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1926 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 375: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1927 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 376: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1932 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewClusureUse(variable, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 377: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1945 + { + identifier := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = expr.NewClusureUse(variable, true) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + + comments.AddComments(identifier, yyDollar[2].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 378: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1961 + { + yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 379: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1967 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 380: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1973 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 381: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1979 + { + yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 382: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1988 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 383: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1993 + { + yyVAL.node = yyDollar[1].node + } + case 384: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1997 + { + yyVAL.node = yyDollar[1].node + } + case 385: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1998 + { + yyVAL.node = yyDollar[1].node + } + case 386: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:2002 + { + yyVAL.node = nil + } + case 387: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2003 + { + yyVAL.node = yyDollar[2].node + } + case 388: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:2007 + { + yyVAL.list = []node.Node{} + } + case 389: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2008 + { + yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} + } + case 390: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2009 + { + yyVAL.list = yyDollar[1].list + } + case 391: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:2013 + { + yyVAL.nodesWithEndToken = nil + } + case 392: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2014 + { + yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken + } + case 393: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2019 + { + yyVAL.node = expr.NewArray(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 394: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2025 + { + yyVAL.node = expr.NewShortArray(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 395: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2031 + { + yyVAL.node = scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 396: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2040 + { + yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 397: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2046 + { + yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 398: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2052 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 399: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2058 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 400: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2064 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 401: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2070 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 402: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2076 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 403: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2082 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 404: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2088 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 405: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2094 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 406: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2100 + { + yyVAL.node = scalar.NewString(yyDollar[2].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 407: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2105 + { + yyVAL.node = scalar.NewEncapsed(nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 408: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2111 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 409: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2117 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 410: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2122 + { + yyVAL.node = yyDollar[1].node + } + case 411: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2123 + { + yyVAL.node = yyDollar[1].node + } + case 412: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2128 + { + yyVAL.node = expr.NewConstFetch(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 413: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2134 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 414: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2144 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 415: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2156 + { + yyVAL.node = yyDollar[1].node + } + case 416: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2157 + { + yyVAL.node = yyDollar[1].node + } + case 417: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:2161 + { + yyVAL.node = nil + } + case 418: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2162 + { + yyVAL.node = yyDollar[1].node + } + case 419: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2166 + { + yyVAL.node = yyDollar[1].node + } + case 420: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2170 + { + yyVAL.node = yyDollar[1].node + } + case 421: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2171 + { + yyVAL.node = yyDollar[2].node + } + case 422: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2172 + { + yyVAL.node = yyDollar[1].node + } + case 423: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2176 + { + yyVAL.node = yyDollar[1].node + } + case 424: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2177 + { + yyVAL.node = yyDollar[2].node + } + case 425: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2178 + { + yyVAL.node = yyDollar[1].node + } + case 426: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2182 + { + yyVAL.node = yyDollar[1].node + } + case 427: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2184 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 428: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2190 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 429: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2196 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 430: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2202 + { + yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 431: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2207 + { + yyVAL.node = yyDollar[1].node + } + case 432: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2211 + { + yyVAL.node = yyDollar[1].node + } + case 433: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2212 + { + yyVAL.node = yyDollar[1].node + } + case 434: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2214 + { + yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 435: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2223 + { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 436: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2233 + { + yyVAL.node = expr.NewVariable(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 437: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2239 + { + yyVAL.node = expr.NewVariable(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 438: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2248 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 439: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2254 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 440: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2262 + { + yyVAL.node = yyDollar[1].node + } + case 441: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2264 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 442: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2270 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 443: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2276 + { + yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 444: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2282 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 445: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2288 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 446: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2297 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 447: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2302 + { + yyVAL.node = yyDollar[2].node + } + case 448: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2303 + { + yyVAL.node = yyDollar[1].node + } + case 449: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2308 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 450: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2313 + { + yyVAL.node = yyDollar[2].node + } + case 451: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2314 + { + yyVAL.node = yyDollar[1].node + } + case 452: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2319 + { + if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { + yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] + } else { + yyVAL.list = yyDollar[1].list + } + } + case 453: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:2329 + { + yyVAL.node = nil + } + case 454: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2330 + { + yyVAL.node = yyDollar[1].node + } + case 455: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2335 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 456: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2336 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 457: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2341 + { + yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 458: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2347 + { + yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 459: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2353 + { + yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 460: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2359 + { + yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 461: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:2365 + { + // TODO: Cannot use list() as standalone expression + list := expr.NewList(yyDollar[5].list) + positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[3].token, yyDollar[6].token)) + yyVAL.node = expr.NewArrayItem(yyDollar[1].node, list, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token)) + + comments.AddComments(list, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 462: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2376 + { + // TODO: Cannot use list() as standalone expression + list := expr.NewList(yyDollar[3].list) + positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + yyVAL.node = expr.NewArrayItem(nil, list, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + + comments.AddComments(list, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 463: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2389 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 464: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2391 + { + encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.list = append(yyDollar[1].list, encapsed) + comments.AddComments(encapsed, yyDollar[2].token.Comments()) + } + case 465: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2397 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 466: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2399 + { + encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.list = []node.Node{encapsed, yyDollar[2].node} + comments.AddComments(encapsed, yyDollar[1].token.Comments()) + } + case 467: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2409 + { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 468: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2419 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 469: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2432 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fetch := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(fetch, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewPropertyFetch(variable, fetch) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(fetch, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 470: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2448 + { + yyVAL.node = expr.NewVariable(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 471: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2454 + { + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = expr.NewVariable(name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + + comments.AddComments(name, yyDollar[2].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 472: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:2464 + { + identifier := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) + + comments.AddComments(identifier, yyDollar[2].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 473: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2477 + { + yyVAL.node = yyDollar[2].node + } + case 474: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2481 + { + yyVAL.node = scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 475: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2487 + { + // TODO: add option to handle 64 bit integer + if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { + yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + } else { + yyVAL.node = scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + } + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 476: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2499 + { + // TODO: add option to handle 64 bit integer + if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { + lnumber := scalar.NewLnumber(yyDollar[2].token.Value) + positions.AddPosition(lnumber, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + yyVAL.node = expr.NewUnaryMinus(lnumber) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + + comments.AddComments(lnumber, yyDollar[1].token.Comments()) + } else { + yyDollar[2].token.Value = "-" + yyDollar[2].token.Value + yyVAL.node = scalar.NewString(yyDollar[2].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + } + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 477: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2517 + { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(identifier) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 478: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:2530 + { + yyVAL.node = expr.NewIsset(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 479: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2536 + { + yyVAL.node = expr.NewEmpty(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 480: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2542 + { + yyVAL.node = expr.NewInclude(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 481: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2548 + { + yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 482: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2554 + { + yyVAL.node = expr.NewEval(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 483: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2560 + { + yyVAL.node = expr.NewRequire(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 484: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:2566 + { + yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 485: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2574 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 486: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2575 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 487: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2579 + { + yyVAL.node = yyDollar[1].node + } + } + goto yystack /* stack new state and value */ +} diff --git a/php7/php7.y b/php7/php7.y new file mode 100644 index 0000000..be633d5 --- /dev/null +++ b/php7/php7.y @@ -0,0 +1,2585 @@ +%{ +package php7 + +import ( + "strings" + "strconv" + + "github.com/z7zmey/php-parser/token" + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node/scalar" + "github.com/z7zmey/php-parser/node/name" + "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/node/expr" + "github.com/z7zmey/php-parser/node/expr/assign_op" + "github.com/z7zmey/php-parser/node/expr/binary_op" + "github.com/z7zmey/php-parser/node/expr/cast" +) + +%} + +%union{ + node node.Node + token token.Token + boolWithToken boolWithToken + list []node.Node + foreachVariable foreachVariable + nodesWithEndToken *nodesWithEndToken + str string +} + +%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE +%left ',' +%left T_LOGICAL_OR +%left T_LOGICAL_XOR +%left T_LOGICAL_AND +%right T_PRINT +%right T_YIELD +%right T_DOUBLE_ARROW +%right T_YIELD_FROM +%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL +%left '?' ':' +%right T_COALESCE +%left T_BOOLEAN_OR +%left T_BOOLEAN_AND +%left '|' +%left '^' +%left '&' +%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP +%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL +%left T_SL T_SR +%left '+' '-' '.' +%left '*' '/' '%' +%right '!' +%nonassoc T_INSTANCEOF +%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' +%right T_POW +%right '[' +%nonassoc T_NEW T_CLONE +%left T_NOELSE +%left T_ELSEIF +%left T_ELSE +%left T_ENDIF +%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC + +%type $unk +%token T_INCLUDE +%token T_INCLUDE_ONCE +%token T_EXIT +%token T_IF +%token T_LNUMBER +%token T_DNUMBER +%token T_STRING +%token T_STRING_VARNAME +%token T_VARIABLE +%token T_NUM_STRING +%token T_INLINE_HTML +%token T_CHARACTER +%token T_BAD_CHARACTER +%token T_ENCAPSED_AND_WHITESPACE +%token T_CONSTANT_ENCAPSED_STRING +%token T_ECHO +%token T_DO +%token T_WHILE +%token T_ENDWHILE +%token T_FOR +%token T_ENDFOR +%token T_FOREACH +%token T_ENDFOREACH +%token T_DECLARE +%token T_ENDDECLARE +%token T_AS +%token T_SWITCH +%token T_ENDSWITCH +%token T_CASE +%token T_DEFAULT +%token T_BREAK +%token T_CONTINUE +%token T_GOTO +%token T_FUNCTION +%token T_CONST +%token T_RETURN +%token T_TRY +%token T_CATCH +%token T_FINALLY +%token T_THROW +%token T_USE +%token T_INSTEADOF +%token T_GLOBAL +%token T_VAR +%token T_UNSET +%token T_ISSET +%token T_EMPTY +%token T_HALT_COMPILER +%token T_CLASS +%token T_TRAIT +%token T_INTERFACE +%token T_EXTENDS +%token T_IMPLEMENTS +%token T_OBJECT_OPERATOR +%token T_DOUBLE_ARROW +%token T_LIST +%token T_ARRAY +%token T_CALLABLE +%token T_CLASS_C +%token T_TRAIT_C +%token T_METHOD_C +%token T_FUNC_C +%token T_LINE +%token T_FILE +%token T_COMMENT +%token T_DOC_COMMENT +%token T_OPEN_TAG +%token T_OPEN_TAG_WITH_ECHO +%token T_CLOSE_TAG +%token T_WHITESPACE +%token T_START_HEREDOC +%token T_END_HEREDOC +%token T_DOLLAR_OPEN_CURLY_BRACES +%token T_CURLY_OPEN +%token T_PAAMAYIM_NEKUDOTAYIM +%token T_NAMESPACE +%token T_NS_C +%token T_DIR +%token T_NS_SEPARATOR +%token T_ELLIPSIS +%token T_EVAL +%token T_REQUIRE +%token T_REQUIRE_ONCE +%token T_LOGICAL_OR +%token T_LOGICAL_XOR +%token T_LOGICAL_AND +%token T_INSTANCEOF +%token T_NEW +%token T_CLONE +%token T_ELSEIF +%token T_ELSE +%token T_ENDIF +%token T_PRINT +%token T_YIELD +%token T_STATIC +%token T_ABSTRACT +%token T_FINAL +%token T_PRIVATE +%token T_PROTECTED +%token T_PUBLIC +%token T_INC +%token T_DEC +%token T_YIELD_FROM +%token T_INT_CAST +%token T_DOUBLE_CAST +%token T_STRING_CAST +%token T_ARRAY_CAST +%token T_OBJECT_CAST +%token T_BOOL_CAST +%token T_UNSET_CAST +%token '"' +%token '`' +%token '{' +%token '}' +%token ';' +%token ':' +%token '(' +%token ')' +%token '[' +%token ']' +%token '?' +%token '&' +%token '-' +%token '+' +%token '!' +%token '~' +%token '@' +%token '$' + +%type is_reference is_variadic returns_ref + +%type reserved_non_modifiers +%type semi_reserved +%type identifier + +%type top_statement name statement function_declaration_statement +%type class_declaration_statement trait_declaration_statement +%type interface_declaration_statement +%type group_use_declaration inline_use_declaration +%type mixed_group_use_declaration use_declaration unprefixed_use_declaration +%type const_decl inner_statement +%type expr optional_expr while_statement for_statement +%type foreach_statement declare_statement finally_statement unset_variable variable +%type extends_from parameter optional_type argument expr_without_variable global_var +%type static_var class_statement trait_adaptation trait_precedence trait_alias +%type absolute_trait_method_reference trait_method_reference property echo_expr +%type new_expr anonymous_class class_name class_name_reference simple_variable +%type internal_functions_in_yacc +%type exit_expr scalar lexical_var function_call member_name property_name +%type variable_class_name dereferencable_scalar constant dereferencable +%type callable_expr callable_variable static_member new_variable +%type encaps_var encaps_var_offset +%type if_stmt +%type alt_if_stmt +%type if_stmt_without_else +%type class_const_decl +%type alt_if_stmt_without_else +%type array_pair possible_array_pair +%type isset_variable type return_type type_expr +%type class_modifier + +%type member_modifier +%type use_type +%type foreach_variable + +%type method_body switch_case_list trait_adaptations argument_list ctor_arguments + +%type encaps_list backticks_expr namespace_name catch_name_list catch_list class_const_list +%type const_list echo_expr_list for_exprs non_empty_for_exprs global_var_list +%type unprefixed_use_declarations inline_use_declarations property_list static_var_list +%type case_list trait_adaptation_list unset_variables +%type use_declarations lexical_var_list lexical_vars isset_variables non_empty_array_pair_list +%type array_pair_list non_empty_argument_list top_statement_list +%type inner_statement_list parameter_list non_empty_parameter_list class_statement_list +%type interface_extends_list implements_list method_modifiers variable_modifiers +%type non_empty_member_modifiers name_list class_modifiers + +%type backup_doc_comment + +%% + +///////////////////////////////////////////////////////////////////////// + +start: + top_statement_list + { + rootnode = stmt.NewStmtList($1) + positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition($1)) + } +; + +reserved_non_modifiers: + T_INCLUDE {$$=$1} | T_INCLUDE_ONCE {$$=$1} | T_EVAL {$$=$1} | T_REQUIRE {$$=$1} | T_REQUIRE_ONCE {$$=$1} | T_LOGICAL_OR {$$=$1} | T_LOGICAL_XOR {$$=$1} | T_LOGICAL_AND {$$=$1} + | T_INSTANCEOF {$$=$1} | T_NEW {$$=$1} | T_CLONE {$$=$1} | T_EXIT {$$=$1} | T_IF {$$=$1} | T_ELSEIF {$$=$1} | T_ELSE {$$=$1} | T_ENDIF {$$=$1} | T_ECHO {$$=$1} | T_DO {$$=$1} | T_WHILE {$$=$1} | T_ENDWHILE {$$=$1} + | T_FOR {$$=$1} | T_ENDFOR {$$=$1} | T_FOREACH {$$=$1} | T_ENDFOREACH {$$=$1} | T_DECLARE {$$=$1} | T_ENDDECLARE {$$=$1} | T_AS {$$=$1} | T_TRY {$$=$1} | T_CATCH {$$=$1} | T_FINALLY {$$=$1} + | T_THROW {$$=$1} | T_USE {$$=$1} | T_INSTEADOF {$$=$1} | T_GLOBAL {$$=$1} | T_VAR {$$=$1} | T_UNSET {$$=$1} | T_ISSET {$$=$1} | T_EMPTY {$$=$1} | T_CONTINUE {$$=$1} | T_GOTO {$$=$1} + | T_FUNCTION {$$=$1} | T_CONST {$$=$1} | T_RETURN {$$=$1} | T_PRINT {$$=$1} | T_YIELD {$$=$1} | T_LIST {$$=$1} | T_SWITCH {$$=$1} | T_ENDSWITCH {$$=$1} | T_CASE {$$=$1} | T_DEFAULT {$$=$1} | T_BREAK {$$=$1} + | T_ARRAY {$$=$1} | T_CALLABLE {$$=$1} | T_EXTENDS {$$=$1} | T_IMPLEMENTS {$$=$1} | T_NAMESPACE {$$=$1} | T_TRAIT {$$=$1} | T_INTERFACE {$$=$1} | T_CLASS {$$=$1} + | T_CLASS_C {$$=$1} | T_TRAIT_C {$$=$1} | T_FUNC_C {$$=$1} | T_METHOD_C {$$=$1} | T_LINE {$$=$1} | T_FILE {$$=$1} | T_DIR {$$=$1} | T_NS_C {$$=$1} +; + +semi_reserved: + reserved_non_modifiers {$$=$1} + | T_STATIC {$$=$1} | T_ABSTRACT {$$=$1} | T_FINAL {$$=$1} | T_PRIVATE {$$=$1} | T_PROTECTED {$$=$1} | T_PUBLIC {$$=$1} +; + +identifier: + T_STRING { $$ = $1 } + | semi_reserved { $$ = $1 } +; + +top_statement_list: + top_statement_list top_statement { $$ = append($1, $2) } + | /* empty */ { $$ = []node.Node{} } +; + +namespace_name: + T_STRING + { + namePart := name.NewNamePart($1.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition($1)) + $$ = []node.Node{namePart} + comments.AddComments(namePart, $1.Comments()) + } + | namespace_name T_NS_SEPARATOR T_STRING + { + namePart := name.NewNamePart($3.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition($3)) + $$ = append($1, namePart) + comments.AddComments(namePart, $3.Comments()) + } +; + +name: + namespace_name + { + $$ = name.NewName($1) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NAMESPACE T_NS_SEPARATOR namespace_name + { + $$ = name.NewRelative($3) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_SEPARATOR namespace_name + { + $$ = name.NewFullyQualified($2) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } +; + +top_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | trait_declaration_statement { $$ = $1; } + | interface_declaration_statement { $$ = $1; } + | T_HALT_COMPILER '(' ')' ';' { $$ = stmt.NewHaltCompiler() } + | T_NAMESPACE namespace_name ';' + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewNamespace(name, nil) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, $1.Comments()) + } + | T_NAMESPACE namespace_name '{' top_statement_list '}' + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewNamespace(name, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, $1.Comments()) + } + | T_NAMESPACE '{' top_statement_list '}' + { + $$ = stmt.NewNamespace(nil, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_USE mixed_group_use_declaration ';' { $$ = $2 } + | T_USE use_type group_use_declaration ';' { $$ = $3.(*stmt.GroupUse).SetUseType($2) } + | T_USE use_declarations ';' + { + $$ = stmt.NewUseList(nil, $2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_USE use_type use_declarations ';' { $$ = stmt.NewUseList($2, $3) } + | T_CONST const_list ';' + { + $$ = stmt.NewConstList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } +; + +use_type: + T_FUNCTION + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_CONST + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } +; + +group_use_declaration: + namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations possible_comma '}' + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + $$ = stmt.NewGroupUse(nil, name, $4) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $6)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NS_SEPARATOR namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations possible_comma '}' + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewGroupUse(nil, name, $5) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, $1.Comments()) + } +; + +mixed_group_use_declaration: + namespace_name T_NS_SEPARATOR '{' inline_use_declarations possible_comma '}' + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + $$ = stmt.NewGroupUse(nil, name, $4) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $6)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NS_SEPARATOR namespace_name T_NS_SEPARATOR '{' inline_use_declarations possible_comma '}' + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewGroupUse(nil, name, $5) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, $1.Comments()) + } +; + +possible_comma: + /* empty */ + | ',' +; + +inline_use_declarations: + inline_use_declarations ',' inline_use_declaration + { $$ = append($1, $3) } + | inline_use_declaration { $$ = []node.Node{$1} } +; + +unprefixed_use_declarations: + unprefixed_use_declarations ',' unprefixed_use_declaration + { $$ = append($1, $3) } + | unprefixed_use_declaration { $$ = []node.Node{$1} } +; + +use_declarations: + use_declarations ',' use_declaration { $$ = append($1, $3) } + | use_declaration { $$ = []node.Node{$1} } +; + +inline_use_declaration: + unprefixed_use_declaration { $$ = $1; } + | use_type unprefixed_use_declaration { $$ = $2.(*stmt.Use).SetUseType($1) } +; + +unprefixed_use_declaration: + namespace_name + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + $$ = stmt.NewUse(nil, name, nil) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | namespace_name T_AS T_STRING + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + alias := node.NewIdentifier($3.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewUse(nil, name, alias) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments(alias, $3.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } +; + +use_declaration: + unprefixed_use_declaration { $$ = $1; } + | T_NS_SEPARATOR unprefixed_use_declaration { $$ = $2; } +; + +const_list: + const_list ',' const_decl { $$ = append($1, $3) } + | const_decl { $$ = []node.Node{$1} } +; + +inner_statement_list: + inner_statement_list inner_statement { $$ = append($1, $2) } + | /* empty */ { $$ = []node.Node{} } +; + +inner_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | trait_declaration_statement { $$ = $1; } + | interface_declaration_statement { $$ = $1; } + | T_HALT_COMPILER '(' ')' ';' + { + $$ = stmt.NewHaltCompiler() + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + +statement: + '{' inner_statement_list '}' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | if_stmt { $$ = $1; } + | alt_if_stmt { $$ = $1; } + | T_WHILE '(' expr ')' while_statement + { + $$ = stmt.NewWhile($1, $3, $5) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) + comments.AddComments($$, $1.Comments()) + } + | T_DO statement T_WHILE '(' expr ')' ';' + { + $$ = stmt.NewDo($2, $5) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) + comments.AddComments($$, $1.Comments()) + } + | T_FOR '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement + { + $$ = stmt.NewFor($3, $5, $7, $9) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) + comments.AddComments($$, $1.Comments()) + } + | T_SWITCH '(' expr ')' switch_case_list + { + $$ = stmt.NewSwitch($1, $3, $5.nodes) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5.endToken)) + comments.AddComments($$, $1.Comments()) + } + | T_BREAK optional_expr ';' + { + $$ = stmt.NewBreak($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_CONTINUE optional_expr ';' + { + $$ = stmt.NewContinue($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_RETURN optional_expr ';' + { + $$ = stmt.NewReturn($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_GLOBAL global_var_list ';' + { + $$ = stmt.NewGlobal($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_STATIC static_var_list ';' + { + $$ = stmt.NewStatic($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_ECHO echo_expr_list ';' + { + $$ = stmt.NewEcho($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_INLINE_HTML + { + $$ = stmt.NewInlineHtml($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | expr ';' + { + $$ = stmt.NewExpression($1) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) + comments.AddComments($$, comments[$1]) + } + | T_UNSET '(' unset_variables possible_comma ')' ';' + { + $$ = stmt.NewUnset($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) + comments.AddComments($$, $1.Comments()) + } + | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement + { + $$ = stmt.NewForeach($3, nil, $5.node, $7, $5.byRef) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $7)) + comments.AddComments($$, $1.Comments()) + } + | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement + { + $$ = stmt.NewForeach($3, $5, $7.node, $9, $7.byRef) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) + comments.AddComments($$, $1.Comments()) + } + | T_DECLARE '(' const_list ')' declare_statement + { + $$ = stmt.NewDeclare($3, $5) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) + comments.AddComments($$, $1.Comments()) + } + | ';' + { + $$ = stmt.NewNop() + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_TRY '{' inner_statement_list '}' catch_list finally_statement + { + if $6 == nil { + $$ = stmt.NewTry($3, $5, $6) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $5)) + } else { + $$ = stmt.NewTry($3, $5, $6) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) + } + + comments.AddComments($$, $1.Comments()) + } + | T_THROW expr ';' + { + $$ = stmt.NewThrow($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_GOTO T_STRING ';' + { + label := node.NewIdentifier($2.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition($2)) + $$ = stmt.NewGoto(label) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + + comments.AddComments(label, $2.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_STRING ':' + { + label := node.NewIdentifier($1.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewLabel(label) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + + comments.AddComments(label, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + +catch_list: + /* empty */ { $$ = []node.Node{} } + | catch_list T_CATCH '(' catch_name_list T_VARIABLE ')' '{' inner_statement_list '}' + { + identifier := node.NewIdentifier($5.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($5)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($5)) + catch := stmt.NewCatch($4, variable, $8) + positions.AddPosition(catch, positionBuilder.NewTokensPosition($2, $9)) + $$ = append($1, catch) + + comments.AddComments(identifier, $5.Comments()) + comments.AddComments(variable, $5.Comments()) + comments.AddComments(catch, $2.Comments()) + } +; +catch_name_list: + name { $$ = []node.Node{$1} } + | catch_name_list '|' name { $$ = append($1, $3) } +; + +finally_statement: + /* empty */ { $$ = nil } + | T_FINALLY '{' inner_statement_list '}' + { + $$ = stmt.NewFinally($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } +; + +unset_variables: + unset_variable { $$ = []node.Node{$1} } + | unset_variables ',' unset_variable { $$ = append($1, $3) } +; + +unset_variable: + variable { $$ = $1 } +; + +function_declaration_statement: + T_FUNCTION returns_ref T_STRING backup_doc_comment '(' parameter_list ')' return_type '{' inner_statement_list '}' + { + name := node.NewIdentifier($3.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewFunction(name, $2.value, $6, $8, $10, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $11)) + + comments.AddComments(name, $3.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +is_reference: + /* empty */ { $$ = boolWithToken{false, nil} } + | '&' { $$ = boolWithToken{true, &$1} } +; + +is_variadic: + /* empty */ { $$ = boolWithToken{false, nil} } + | T_ELLIPSIS { $$ = boolWithToken{true, &$1} } +; + +class_declaration_statement: + class_modifiers T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' + { + name := node.NewIdentifier($3.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewClass(name, $1, nil, $4, $5, $8, $6) + positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $9)) + + comments.AddComments(name, $3.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' + { + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + $$ = stmt.NewClass(name, nil, nil, $3, $4, $7, $5) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) + + comments.AddComments(name, $2.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +class_modifiers: + class_modifier { $$ = []node.Node{$1} } + | class_modifiers class_modifier { $$ = append($1, $2) } +; + +class_modifier: + T_ABSTRACT + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FINAL + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } +; + +trait_declaration_statement: + T_TRAIT T_STRING backup_doc_comment '{' class_statement_list '}' + { + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + $$ = stmt.NewTrait(name, $5, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) + + comments.AddComments(name, $2.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +interface_declaration_statement: + T_INTERFACE T_STRING interface_extends_list backup_doc_comment '{' class_statement_list '}' + { + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + $$ = stmt.NewInterface(name, $3, $6, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) + + comments.AddComments(name, $2.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +extends_from: + /* empty */ { $$ = nil } + | T_EXTENDS name { $$ = $2; } +; + +interface_extends_list: + /* empty */ { $$ = nil } + | T_EXTENDS name_list { $$ = $2 } +; + +implements_list: + /* empty */ { $$ = nil } + | T_IMPLEMENTS name_list { $$ = $2 } +; + +foreach_variable: + variable { $$ = foreachVariable{$1, false} } + | '&' variable { $$ = foreachVariable{$2, true} } + | T_LIST '(' array_pair_list ')' + { + list := expr.NewList($3) + positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) + $$ = foreachVariable{list, false} + comments.AddComments(list, $1.Comments()) + } + | '[' array_pair_list ']' + { + list := expr.NewShortList($2) + positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $3)) + $$ = foreachVariable{list, false} + comments.AddComments(list, $1.Comments()) + } +; + +for_statement: + statement { $$ = $1; } + | ':' inner_statement_list T_ENDFOR ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } +; + +foreach_statement: + statement { $$ = $1; } + | ':' inner_statement_list T_ENDFOREACH ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } +; + +declare_statement: + statement { $$ = $1; } + | ':' inner_statement_list T_ENDDECLARE ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } +; + +switch_case_list: + '{' case_list '}' { $$ = &nodesWithEndToken{$2, $3} } + | '{' ';' case_list '}' { $$ = &nodesWithEndToken{$3, $4} } + | ':' case_list T_ENDSWITCH ';' { $$ = &nodesWithEndToken{$2, $4} } + | ':' ';' case_list T_ENDSWITCH ';' { $$ = &nodesWithEndToken{$3, $5} } +; + +case_list: + /* empty */ { $$ = []node.Node{} } + | case_list T_CASE expr case_separator inner_statement_list + { + _case := stmt.NewCase($3, $5) + positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition($2, $5)) + $$ = append($1, _case) + comments.AddComments(_case, $2.Comments()) + } + | case_list T_DEFAULT case_separator inner_statement_list + { + _default := stmt.NewDefault($4) + positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition($2, $4)) + $$ = append($1, _default) + comments.AddComments(_default, $2.Comments()) + } +; + +case_separator: + ':' + | ';' +; + +while_statement: + statement { $$ = $1; } + | ':' inner_statement_list T_ENDWHILE ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } +; + +if_stmt_without_else: + T_IF '(' expr ')' statement + { + $$ = stmt.NewIf($3, $5) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) + comments.AddComments($$, $1.Comments()) + } + | if_stmt_without_else T_ELSEIF '(' expr ')' statement + { + _elseIf := stmt.NewElseIf($4, $6) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition($2, $6)) + $$ = $1.(*stmt.If).AddElseIf(_elseIf) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $6)) + + comments.AddComments(_elseIf, $2.Comments()) + } +; + +if_stmt: + if_stmt_without_else %prec T_NOELSE { $$ = $1; } + | if_stmt_without_else T_ELSE statement + { + _else := stmt.NewElse($3) + positions.AddPosition(_else, positionBuilder.NewTokenNodePosition($2, $3)) + $$ = $1.(*stmt.If).SetElse(_else) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + + comments.AddComments($$, $2.Comments()) + } +; + +alt_if_stmt_without_else: + T_IF '(' expr ')' ':' inner_statement_list + { + stmts := stmt.NewStmtList($6) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($6)) + $$ = stmt.NewAltIf($3, stmts) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $6)) + + comments.AddComments(stmts, $5.Comments()) + comments.AddComments($$, $1.Comments()) + } + | alt_if_stmt_without_else T_ELSEIF '(' expr ')' ':' inner_statement_list + { + stmts := stmt.NewStmtList($7) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($7)) + _elseIf := stmt.NewAltElseIf($4, stmts) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition($2, $7)) + $$ = $1.(*stmt.AltIf).AddElseIf(_elseIf) + + comments.AddComments(stmts, $6.Comments()) + comments.AddComments(_elseIf, $2.Comments()) + } +; + +alt_if_stmt: + alt_if_stmt_without_else T_ENDIF ';' + { + $$ = $1 + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + } + | alt_if_stmt_without_else T_ELSE ':' inner_statement_list T_ENDIF ';' + { + stmts := stmt.NewStmtList($4) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($4)) + _else := stmt.NewAltElse(stmts) + positions.AddPosition(_else, positionBuilder.NewTokenNodeListPosition($2, $4)) + $$ = $1.(*stmt.AltIf).SetElse(_else) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $6)) + + comments.AddComments(stmts, $3.Comments()) + comments.AddComments(_else, $2.Comments()) + } +; + +parameter_list: + non_empty_parameter_list { $$ = $1; } + | /* empty */ { $$ = nil } +; + +non_empty_parameter_list: + parameter { $$ = []node.Node{$1} } + | non_empty_parameter_list ',' parameter { $$ = append($1, $3) } +; + +parameter: + optional_type is_reference is_variadic T_VARIABLE + { + identifier := node.NewIdentifier($4.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) + + comments.AddComments($$, $4.Comments()) + comments.AddComments($$, $4.Comments()) + + if $1 != nil { + $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } else if $2.value == true { + $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewTokensPosition(*$2.token, $4)) + comments.AddComments($$, $2.token.Comments()) + } else if $3.value == true { + $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewTokensPosition(*$3.token, $4)) + comments.AddComments($$, $3.token.Comments()) + } else { + $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($4)) + comments.AddComments($$, $4.Comments()) + } + } + | optional_type is_reference is_variadic T_VARIABLE '=' expr + { + identifier := node.NewIdentifier($4.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) + + comments.AddComments($$, $4.Comments()) + comments.AddComments($$, $4.Comments()) + + if $1 != nil { + $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $6)) + comments.AddComments($$, comments[$1]) + } else if $2.value == true { + $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$2.token, $6)) + comments.AddComments($$, $2.token.Comments()) + } else if $3.value == true { + $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$3.token, $6)) + comments.AddComments($$, $3.token.Comments()) + } else { + $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($4, $6)) + comments.AddComments($$, $4.Comments()) + } + } +; + +optional_type: + /* empty */ { $$ = nil } + | type_expr { $$ = $1; } +; + +type_expr: + type { $$ = $1; } + | '?' type + { + $$ = node.NewNullable($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } +; + +type: + T_ARRAY + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_CALLABLE + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | name { $$ = $1; } +; + +return_type: + /* empty */ { $$ = nil } + | ':' type_expr { $$ = $2; } +; + +argument_list: + '(' ')' { $$ = &nodesWithEndToken{[]node.Node{}, $2} } + | '(' non_empty_argument_list possible_comma ')' { $$ = &nodesWithEndToken{$2, $4} } +; + +non_empty_argument_list: + argument { $$ = []node.Node{$1} } + | non_empty_argument_list ',' argument { $$ = append($1, $3) } +; + +argument: + expr + { + $$ = node.NewArgument($1, false) + positions.AddPosition($$, positionBuilder.NewNodePosition($1)) + comments.AddComments($$, comments[$1]) + } + | T_ELLIPSIS expr + { + $$ = node.NewArgument($2, true) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } +; + +global_var_list: + global_var_list ',' global_var { $$ = append($1, $3); } + | global_var { $$ = []node.Node{$1} } +; + +global_var: + simple_variable { $$ = $1 } +; + +static_var_list: + static_var_list ',' static_var { $$ = append($1, $3) } + | static_var { $$ = []node.Node{$1} } +; + +static_var: + T_VARIABLE + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewStaticVar(variable, nil) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE '=' expr + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewStaticVar(variable, $3) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +class_statement_list: + class_statement_list class_statement { $$ = append($1, $2) } + | /* empty */ { $$ = []node.Node{} } +; + +class_statement: + variable_modifiers property_list ';' + { + $$ = stmt.NewPropertyList($1, $2) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | method_modifiers T_CONST class_const_list ';' + { + $$ = stmt.NewClassConstList($1, $3) + positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $4)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_USE name_list trait_adaptations + { + $$ = stmt.NewTraitUse($2, $3.nodes) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) + comments.AddComments($$, $1.Comments()) + } + | method_modifiers T_FUNCTION returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type method_body + { + name := node.NewIdentifier($4.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($4)) + $$ = stmt.NewClassMethod(name, $1, $3.value, $7, $9, $10.nodes, $5) + positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $10.endToken)) + + comments.AddComments(name, $4.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } +; + +name_list: + name { $$ = []node.Node{$1} } + | name_list ',' name { $$ = append($1, $3) } +; + +trait_adaptations: + ';' { $$ = &nodesWithEndToken{nil, $1} } + | '{' '}' { $$ = &nodesWithEndToken{nil, $2} } + | '{' trait_adaptation_list '}' { $$ = &nodesWithEndToken{$2, $3} } +; + +trait_adaptation_list: + trait_adaptation { $$ = []node.Node{$1} } + | trait_adaptation_list trait_adaptation { $$ = append($1, $2) } +; + +trait_adaptation: + trait_precedence ';' { $$ = $1; } + | trait_alias ';' { $$ = $1; } +; + +trait_precedence: + absolute_trait_method_reference T_INSTEADOF name_list + { + name := name.NewName($3) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($3)) + $$ = stmt.NewTraitUsePrecedence($1, name) + positions.AddPosition($$, positionBuilder.NewNodeNodeListPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($3)) + comments.AddComments($$, comments[$1]) + } +; + +trait_alias: + trait_method_reference T_AS T_STRING + { + alias := node.NewIdentifier($3.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewTraitUseAlias($1, nil, alias) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(alias, $3.Comments()) + comments.AddComments($$, comments[$1]) + } + | trait_method_reference T_AS reserved_non_modifiers + { + alias := node.NewIdentifier($3.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewTraitUseAlias($1, nil, alias) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(alias, $3.Comments()) + comments.AddComments($$, comments[$1]) + } + | trait_method_reference T_AS member_modifier identifier + { + alias := node.NewIdentifier($4.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($4)) + $$ = stmt.NewTraitUseAlias($1, $3, alias) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + + comments.AddComments(alias, $4.Comments()) + comments.AddComments($$, comments[$1]) + } + | trait_method_reference T_AS member_modifier + { + $$ = stmt.NewTraitUseAlias($1, $3, nil) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } +; + +trait_method_reference: + identifier + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewTraitMethodRef(nil, name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | absolute_trait_method_reference { $$ = $1; } +; + +absolute_trait_method_reference: + name T_PAAMAYIM_NEKUDOTAYIM identifier + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewTraitMethodRef($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } +; + +method_body: + ';' /* abstract method */ { $$ = &nodesWithEndToken{nil, $1} } + | '{' inner_statement_list '}' { $$ = &nodesWithEndToken{$2, $3} } +; + +variable_modifiers: + non_empty_member_modifiers { $$ = $1; } + | T_VAR + { + modifier := node.NewIdentifier($1.Value) + positions.AddPosition(modifier, positionBuilder.NewTokenPosition($1)) + $$ = []node.Node{modifier} + comments.AddComments(modifier, $1.Comments()) + } +; + +method_modifiers: + /* empty */ { $$ = nil } + | non_empty_member_modifiers { $$ = $1 } +; + +non_empty_member_modifiers: + member_modifier { $$ = []node.Node{$1} } + | non_empty_member_modifiers member_modifier { $$ = append($1, $2) } +; + +member_modifier: + T_PUBLIC + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_PROTECTED + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_PRIVATE + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_STATIC + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_ABSTRACT + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FINAL + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } +; + +property_list: + property_list ',' property { $$ = append($1, $3) } + | property { $$ = []node.Node{$1} } +; + +property: + T_VARIABLE backup_doc_comment + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewProperty(variable, nil, $2) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE '=' expr backup_doc_comment + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewProperty(variable, $3, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +class_const_list: + class_const_list ',' class_const_decl { $$ = append($1, $3) } + | class_const_decl { $$ = []node.Node{$1} } +; + +class_const_decl: + identifier '=' expr backup_doc_comment + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewConstant(name, $3, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +const_decl: + T_STRING '=' expr backup_doc_comment + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewConstant(name, $3, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +echo_expr_list: + echo_expr_list ',' echo_expr { $$ = append($1, $3) } + | echo_expr { $$ = []node.Node{$1} } +; + +echo_expr: + expr { $$ = $1 } +; + +for_exprs: + /* empty */ { $$ = nil; } + | non_empty_for_exprs { $$ = $1; } +; +non_empty_for_exprs: + non_empty_for_exprs ',' expr { $$ = append($1, $3) } + | expr { $$ = []node.Node{$1} } +; + +anonymous_class: + T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' + { + if $2 != nil { + $$ = stmt.NewClass(nil, nil, $2.nodes, $3, $4, $7, $5) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) + } else { + $$ = stmt.NewClass(nil, nil, nil, $3, $4, $7, $5) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) + } + + comments.AddComments($$, $1.Comments()) + } +; + +new_expr: + T_NEW class_name_reference ctor_arguments + { + if $3 != nil { + $$ = expr.NewNew($2, $3.nodes) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) + } else { + $$ = expr.NewNew($2, nil) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + } + + comments.AddComments($$, $1.Comments()) + } + | T_NEW anonymous_class { $$ = expr.NewNew($2, nil) } +; + +expr_without_variable: + T_LIST '(' array_pair_list ')' '=' expr + { + list := expr.NewList($3) + positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) + $$ = assign_op.NewAssign(list, $6) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) + + comments.AddComments(list, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | '[' array_pair_list ']' '=' expr + { + shortList := expr.NewShortList($2) + positions.AddPosition(shortList, positionBuilder.NewTokensPosition($1, $3)) + $$ = assign_op.NewAssign(shortList, $5) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) + + comments.AddComments(shortList, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | variable '=' expr + { + $$ = assign_op.NewAssign($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable '=' '&' expr + { + $$ = assign_op.NewAssignRef($1, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | T_CLONE expr + { + $$ = expr.NewClone($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | variable T_PLUS_EQUAL expr + { + $$ = assign_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MINUS_EQUAL expr + { + $$ = assign_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MUL_EQUAL expr + { + $$ = assign_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_POW_EQUAL expr + { + $$ = assign_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_DIV_EQUAL expr + { + $$ = assign_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_CONCAT_EQUAL expr + { + $$ = assign_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MOD_EQUAL expr + { + $$ = assign_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_AND_EQUAL expr + { + $$ = assign_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_OR_EQUAL expr + { + $$ = assign_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_XOR_EQUAL expr + { + $$ = assign_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_SL_EQUAL expr + { + $$ = assign_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_SR_EQUAL expr + { + $$ = assign_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_INC + { + $$ = expr.NewPostInc($1) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) + comments.AddComments($$, comments[$1]) + } + | T_INC variable + { + $$ = expr.NewPreInc($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | variable T_DEC + { + $$ = expr.NewPostDec($1) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) + comments.AddComments($$, comments[$1]) + } + | T_DEC variable + { + $$ = expr.NewPreDec($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | expr T_BOOLEAN_OR expr + { + $$ = binary_op.NewBooleanOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_BOOLEAN_AND expr + { + $$ = binary_op.NewBooleanAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_OR expr + { + $$ = binary_op.NewLogicalOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_AND expr + { + $$ = binary_op.NewLogicalAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_XOR expr + { + $$ = binary_op.NewLogicalXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '|' expr + { + $$ = binary_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '&' expr + { + $$ = binary_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '^' expr + { + $$ = binary_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '.' expr + { + $$ = binary_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '+' expr + { + $$ = binary_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '-' expr + { + $$ = binary_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '*' expr + { + $$ = binary_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_POW expr + { + $$ = binary_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '/' expr + { + $$ = binary_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '%' expr + { + $$ = binary_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_SL expr + { + $$ = binary_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_SR expr + { + $$ = binary_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | '+' expr %prec T_INC + { + $$ = expr.NewUnaryPlus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '-' expr %prec T_INC + { + $$ = expr.NewUnaryMinus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '!' expr + { + $$ = expr.NewBooleanNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '~' expr + { + $$ = expr.NewBitwiseNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | expr T_IS_IDENTICAL expr + { + $$ = binary_op.NewIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_NOT_IDENTICAL expr + { + $$ = binary_op.NewNotIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_EQUAL expr + { + $$ = binary_op.NewEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_NOT_EQUAL expr + { + $$ = binary_op.NewNotEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '<' expr + { + $$ = binary_op.NewSmaller($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_SMALLER_OR_EQUAL expr + { + $$ = binary_op.NewSmallerOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '>' expr + { + $$ = binary_op.NewGreater($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_GREATER_OR_EQUAL expr + { + $$ = binary_op.NewGreaterOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_SPACESHIP expr + { + $$ = binary_op.NewSpaceship($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_INSTANCEOF class_name_reference + { + $$ = expr.NewInstanceOf($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | '(' expr ')' { $$ = $2; } + | new_expr { $$ = $1; } + | expr '?' expr ':' expr + { + $$ = expr.NewTernary($1, $3, $5) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $5)) + comments.AddComments($$, comments[$1]) + } + | expr '?' ':' expr + { + $$ = expr.NewTernary($1, nil, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | expr T_COALESCE expr + { + $$ = binary_op.NewCoalesce($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | internal_functions_in_yacc { $$ = $1} + | T_INT_CAST expr + { + $$ = cast.NewCastInt($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_DOUBLE_CAST expr + { + $$ = cast.NewCastDouble($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_STRING_CAST expr + { + $$ = cast.NewCastString($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_ARRAY_CAST expr + { + $$ = cast.NewCastArray($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_OBJECT_CAST expr + { + $$ = cast.NewCastObject($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_BOOL_CAST expr + { + $$ = cast.NewCastBool($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_UNSET_CAST expr + { + $$ = cast.NewCastUnset($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_EXIT exit_expr + { + $$ = expr.NewExit($2, strings.EqualFold($1.Value, "die")) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '@' expr + { + $$ = expr.NewErrorSuppress($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | scalar { $$ = $1; } + | '`' backticks_expr '`' + { + $$ = expr.NewShellExec($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_PRINT expr + { + $$ = expr.NewPrint($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD + { + $$ = expr.NewYield(nil, nil) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD expr + { + $$ = expr.NewYield(nil, $2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD expr T_DOUBLE_ARROW expr + { + $$ = expr.NewYield($2, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD_FROM expr + { + $$ = expr.NewYieldFrom($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' + { + $$ = expr.NewClosure($5, $7, $8, $10, false, $2.value, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $11)) + + comments.AddComments($$, $1.Comments()) + } + | T_STATIC T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' + { + $$ = expr.NewClosure($6, $8, $9, $11, true, $3.value, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $12)) + + comments.AddComments($$, $1.Comments()) + } +; + +backup_doc_comment: + /* empty */ { $$ = yylex.(*lexer).PhpDocComment; yylex.(*lexer).PhpDocComment = "" } +; + +returns_ref: + /* empty */ { $$ = boolWithToken{false, nil} } + | '&' { $$ = boolWithToken{true, &$1} } +; + +lexical_vars: + /* empty */ { $$ = []node.Node{} } + | T_USE '(' lexical_var_list ')' { $$ = $3; } +; + +lexical_var_list: + lexical_var_list ',' lexical_var { $$ = append($1, $3) } + | lexical_var { $$ = []node.Node{$1} } +; + +lexical_var: + T_VARIABLE + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewClusureUse(variable, false) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | '&' T_VARIABLE + { + identifier := node.NewIdentifier($2.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) + $$ = expr.NewClusureUse(variable, true) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + + comments.AddComments(identifier, $2.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +function_call: + name argument_list + { + $$ = expr.NewFunctionCall($1, $2.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2.endToken)) + comments.AddComments($$, comments[$1]) + } + | class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list + { + $$ = expr.NewStaticCall($1, $3, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) + comments.AddComments($$, comments[$1]) + } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list + { + $$ = expr.NewStaticCall($1, $3, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) + comments.AddComments($$, comments[$1]) + } + | callable_expr argument_list + { + $$ = expr.NewFunctionCall($1, $2.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2.endToken)) + comments.AddComments($$, comments[$1]) + } +; + +class_name: + T_STATIC + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | name { $$ = $1; } +; + +class_name_reference: + class_name { $$ = $1; } + | new_variable { $$ = $1; } +; + +exit_expr: + /* empty */ { $$ = nil } + | '(' optional_expr ')' { $$ = $2; } +; + +backticks_expr: + /* empty */ { $$ = []node.Node{} } + | T_ENCAPSED_AND_WHITESPACE { $$ = []node.Node{scalar.NewEncapsedStringPart($1.Value)} } + | encaps_list { $$ = $1; } +; + +ctor_arguments: + /* empty */ { $$ = nil } + | argument_list { $$ = $1 } +; + +dereferencable_scalar: + T_ARRAY '(' array_pair_list ')' + { + $$ = expr.NewArray($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | '[' array_pair_list ']' + { + $$ = expr.NewShortArray($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_CONSTANT_ENCAPSED_STRING + { + $$ = scalar.NewString($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } +; + +scalar: + T_LNUMBER + { + $$ = scalar.NewLnumber($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_DNUMBER + { + $$ = scalar.NewDnumber($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_LINE + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FILE + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_DIR + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_TRAIT_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_METHOD_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FUNC_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_CLASS_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC + { + $$ = scalar.NewString($2.Value) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3))/* TODO: mark as Heredoc*/ + comments.AddComments($$, $1.Comments()) + } + | T_START_HEREDOC T_END_HEREDOC + { + $$ = scalar.NewEncapsed(nil) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '"' encaps_list '"' + { + $$ = scalar.NewEncapsed($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_START_HEREDOC encaps_list T_END_HEREDOC + { + $$ = scalar.NewEncapsed($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | dereferencable_scalar { $$ = $1; } + | constant { $$ = $1; } +; + +constant: + name + { + $$ = expr.NewConstFetch($1) + positions.AddPosition($$, positionBuilder.NewNodePosition($1)) + comments.AddComments($$, comments[$1]) + } + | class_name T_PAAMAYIM_NEKUDOTAYIM identifier + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewClassConstFetch($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewClassConstFetch($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } +; + +expr: + variable { $$ = $1; } + | expr_without_variable { $$ = $1; } +; + +optional_expr: + /* empty */ { $$ = nil } + | expr { $$ = $1; } +; + +variable_class_name: + dereferencable { $$ = $1; } +; + +dereferencable: + variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | dereferencable_scalar { $$ = $1; } +; + +callable_expr: + callable_variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | dereferencable_scalar { $$ = $1; } +; + +callable_variable: + simple_variable { $$ = $1; } + | dereferencable '[' optional_expr ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | constant '[' optional_expr ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | dereferencable '{' expr '}' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | dereferencable T_OBJECT_OPERATOR property_name argument_list + { + $$ = expr.NewMethodCall($1, $3, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) + comments.AddComments($$, comments[$1]) + } + | function_call { $$ = $1; } +; + +variable: + callable_variable { $$ = $1; } + | static_member { $$ = $1; } + | dereferencable T_OBJECT_OPERATOR property_name + { + $$ = expr.NewPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } +; + +simple_variable: + T_VARIABLE + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | '$' '{' expr '}' + { + $$ = expr.NewVariable($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | '$' simple_variable + { + $$ = expr.NewVariable($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } +; + +static_member: + class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable + { + $$ = expr.NewStaticPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable + { + $$ = expr.NewStaticPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } +; + +new_variable: + simple_variable { $$ = $1 } + | new_variable '[' optional_expr ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | new_variable '{' expr '}' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | new_variable T_OBJECT_OPERATOR property_name + { + $$ = expr.NewPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable + { + $$ = expr.NewStaticPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable + { + $$ = expr.NewStaticPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } +; + +member_name: + identifier + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | '{' expr '}' { $$ = $2; } + | simple_variable { $$ = $1 } +; + +property_name: + T_STRING + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | '{' expr '}' { $$ = $2; } + | simple_variable { $$ = $1 } +; + +array_pair_list: + non_empty_array_pair_list + { + if ($1[len($1)-1] == nil) { + $$ = $1[:len($1)-1] + } else { + $$ = $1 + } + } +; + +possible_array_pair: + /* empty */ { $$ = nil } + | array_pair { $$ = $1; } +; + +non_empty_array_pair_list: + non_empty_array_pair_list ',' possible_array_pair + { $$ = append($1, $3) } + | possible_array_pair { $$ = []node.Node{$1} } +; + +array_pair: + expr T_DOUBLE_ARROW expr + { + $$ = expr.NewArrayItem($1, $3, false) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr + { + $$ = expr.NewArrayItem(nil, $1, false) + positions.AddPosition($$, positionBuilder.NewNodePosition($1)) + comments.AddComments($$, comments[$1]) + } + | expr T_DOUBLE_ARROW '&' variable + { + $$ = expr.NewArrayItem($1, $4, true) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | '&' variable + { + $$ = expr.NewArrayItem(nil, $2, true) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | expr T_DOUBLE_ARROW T_LIST '(' array_pair_list ')' + { + // TODO: Cannot use list() as standalone expression + list := expr.NewList($5) + positions.AddPosition(list, positionBuilder.NewTokensPosition($3, $6)) + $$ = expr.NewArrayItem($1, list, false) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $6)) + + comments.AddComments(list, $3.Comments()) + comments.AddComments($$, comments[$1]) + } + | T_LIST '(' array_pair_list ')' + { + // TODO: Cannot use list() as standalone expression + list := expr.NewList($3) + positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) + $$ = expr.NewArrayItem(nil, list, false) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + + comments.AddComments(list, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +encaps_list: + encaps_list encaps_var { $$ = append($1, $2) } + | encaps_list T_ENCAPSED_AND_WHITESPACE + { + encapsed := scalar.NewEncapsedStringPart($2.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($2)) + $$ = append($1, encapsed) + comments.AddComments(encapsed, $2.Comments()) + } + | encaps_var { $$ = []node.Node{$1} } + | T_ENCAPSED_AND_WHITESPACE encaps_var + { + encapsed := scalar.NewEncapsedStringPart($1.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($1)) + $$ = []node.Node{encapsed, $2} + comments.AddComments(encapsed, $1.Comments()) + } +; + +encaps_var: + T_VARIABLE + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE '[' encaps_var_offset ']' + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewArrayDimFetch(variable, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE T_OBJECT_OPERATOR T_STRING + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + fetch := node.NewIdentifier($3.Value) + positions.AddPosition(fetch, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewPropertyFetch(variable, fetch) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments(fetch, $3.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' + { + $$ = expr.NewVariable($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' + { + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + $$ = expr.NewVariable(name) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + + comments.AddComments(name, $2.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' + { + identifier := node.NewIdentifier($2.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) + $$ = expr.NewArrayDimFetch(variable, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) + + + comments.AddComments(identifier, $2.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_CURLY_OPEN variable '}' { $$ = $2; } +; +encaps_var_offset: + T_STRING + { + $$ = scalar.NewString($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_NUM_STRING + { + // TODO: add option to handle 64 bit integer + if _, err := strconv.Atoi($1.Value); err == nil { + $$ = scalar.NewLnumber($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + } else { + $$ = scalar.NewString($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + } + comments.AddComments($$, $1.Comments()) + } + | '-' T_NUM_STRING + { + // TODO: add option to handle 64 bit integer + if _, err := strconv.Atoi($2.Value); err == nil { + lnumber := scalar.NewLnumber($2.Value) + positions.AddPosition(lnumber, positionBuilder.NewTokensPosition($1, $2)) + $$ = expr.NewUnaryMinus(lnumber) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + + comments.AddComments(lnumber, $1.Comments()) + } else { + $2.Value = "-"+$2.Value + $$ = scalar.NewString($2.Value) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + } + + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(identifier) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } +; + +internal_functions_in_yacc: + T_ISSET '(' isset_variables possible_comma ')' + { + $$ = expr.NewIsset($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) + comments.AddComments($$, $1.Comments()) + } + | T_EMPTY '(' expr ')' + { + $$ = expr.NewEmpty($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_INCLUDE expr + { + $$ = expr.NewInclude($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_INCLUDE_ONCE expr + { + $$ = expr.NewIncludeOnce($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_EVAL '(' expr ')' + { + $$ = expr.NewEval($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_REQUIRE expr + { + $$ = expr.NewRequire($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_REQUIRE_ONCE expr + { + $$ = expr.NewRequireOnce($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } +; + +isset_variables: + isset_variable { $$ = []node.Node{$1} } + | isset_variables ',' isset_variable { $$ = append($1, $3) } +; + +isset_variable: + expr { $$ = $1 } +; + +///////////////////////////////////////////////////////////////////////// + +%% \ No newline at end of file From 9fad8f790ff5f884fb8ee8655790fe3a7f1e459c Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sat, 27 Jan 2018 12:33:13 +0200 Subject: [PATCH 04/31] prepare php5 bnf --- php5/php5.go | 5357 +++++++++++++++----------------------------------- php5/php5.y | 2959 ++++++++-------------------- 2 files changed, 2367 insertions(+), 5949 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 072af6c..a14c4a9 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -5,30 +5,22 @@ import __yyfmt__ "fmt" //line php5/php5.y:2 import ( - "strconv" - "strings" - - "github.com/z7zmey/php-parser/node" - "github.com/z7zmey/php-parser/node/expr" - "github.com/z7zmey/php-parser/node/expr/assign_op" - "github.com/z7zmey/php-parser/node/expr/binary_op" - "github.com/z7zmey/php-parser/node/expr/cast" - "github.com/z7zmey/php-parser/node/name" - "github.com/z7zmey/php-parser/node/scalar" - "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/token" + // "strings" + // "strconv" + "github.com/z7zmey/php-parser/token" // "github.com/z7zmey/php-parser/node" + // "github.com/z7zmey/php-parser/node/scalar" + // "github.com/z7zmey/php-parser/node/name" + // "github.com/z7zmey/php-parser/node/stmt" + // "github.com/z7zmey/php-parser/node/expr" +// "github.com/z7zmey/php-parser/node/expr/assign_op" +// "github.com/z7zmey/php-parser/node/expr/binary_op" +// "github.com/z7zmey/php-parser/node/expr/cast" ) //line php5/php5.y:21 type yySymType struct { - yys int - node node.Node - token token.Token - boolWithToken boolWithToken - list []node.Node - foreachVariable foreachVariable - nodesWithEndToken *nodesWithEndToken - str string + yys int + token token.Token } const T_INCLUDE = 57346 @@ -41,132 +33,129 @@ const T_LOGICAL_XOR = 57352 const T_LOGICAL_AND = 57353 const T_PRINT = 57354 const T_YIELD = 57355 -const T_DOUBLE_ARROW = 57356 -const T_YIELD_FROM = 57357 -const T_PLUS_EQUAL = 57358 -const T_MINUS_EQUAL = 57359 -const T_MUL_EQUAL = 57360 -const T_DIV_EQUAL = 57361 -const T_CONCAT_EQUAL = 57362 -const T_MOD_EQUAL = 57363 -const T_AND_EQUAL = 57364 -const T_OR_EQUAL = 57365 -const T_XOR_EQUAL = 57366 -const T_SL_EQUAL = 57367 -const T_SR_EQUAL = 57368 -const T_POW_EQUAL = 57369 -const T_COALESCE = 57370 -const T_BOOLEAN_OR = 57371 -const T_BOOLEAN_AND = 57372 -const T_IS_EQUAL = 57373 -const T_IS_NOT_EQUAL = 57374 -const T_IS_IDENTICAL = 57375 -const T_IS_NOT_IDENTICAL = 57376 -const T_SPACESHIP = 57377 -const T_IS_SMALLER_OR_EQUAL = 57378 -const T_IS_GREATER_OR_EQUAL = 57379 -const T_SL = 57380 -const T_SR = 57381 -const T_INSTANCEOF = 57382 -const T_INC = 57383 -const T_DEC = 57384 -const T_INT_CAST = 57385 -const T_DOUBLE_CAST = 57386 -const T_STRING_CAST = 57387 -const T_ARRAY_CAST = 57388 -const T_OBJECT_CAST = 57389 -const T_BOOL_CAST = 57390 -const T_UNSET_CAST = 57391 -const T_POW = 57392 -const T_NEW = 57393 -const T_CLONE = 57394 -const T_NOELSE = 57395 -const T_ELSEIF = 57396 -const T_ELSE = 57397 -const T_ENDIF = 57398 -const T_STATIC = 57399 -const T_ABSTRACT = 57400 -const T_FINAL = 57401 -const T_PRIVATE = 57402 -const T_PROTECTED = 57403 -const T_PUBLIC = 57404 -const T_EXIT = 57405 -const T_IF = 57406 -const T_LNUMBER = 57407 -const T_DNUMBER = 57408 -const T_STRING = 57409 -const T_STRING_VARNAME = 57410 -const T_VARIABLE = 57411 -const T_NUM_STRING = 57412 -const T_INLINE_HTML = 57413 -const T_CHARACTER = 57414 -const T_BAD_CHARACTER = 57415 -const T_ENCAPSED_AND_WHITESPACE = 57416 -const T_CONSTANT_ENCAPSED_STRING = 57417 -const T_ECHO = 57418 -const T_DO = 57419 -const T_WHILE = 57420 -const T_ENDWHILE = 57421 -const T_FOR = 57422 -const T_ENDFOR = 57423 -const T_FOREACH = 57424 -const T_ENDFOREACH = 57425 -const T_DECLARE = 57426 -const T_ENDDECLARE = 57427 -const T_AS = 57428 -const T_SWITCH = 57429 -const T_ENDSWITCH = 57430 -const T_CASE = 57431 -const T_DEFAULT = 57432 -const T_BREAK = 57433 -const T_CONTINUE = 57434 -const T_GOTO = 57435 -const T_FUNCTION = 57436 -const T_CONST = 57437 -const T_RETURN = 57438 -const T_TRY = 57439 -const T_CATCH = 57440 -const T_FINALLY = 57441 -const T_THROW = 57442 -const T_USE = 57443 -const T_INSTEADOF = 57444 -const T_GLOBAL = 57445 -const T_VAR = 57446 -const T_UNSET = 57447 -const T_ISSET = 57448 -const T_EMPTY = 57449 -const T_HALT_COMPILER = 57450 -const T_CLASS = 57451 -const T_TRAIT = 57452 -const T_INTERFACE = 57453 -const T_EXTENDS = 57454 -const T_IMPLEMENTS = 57455 -const T_OBJECT_OPERATOR = 57456 -const T_LIST = 57457 -const T_ARRAY = 57458 -const T_CALLABLE = 57459 -const T_CLASS_C = 57460 -const T_TRAIT_C = 57461 -const T_METHOD_C = 57462 -const T_FUNC_C = 57463 -const T_LINE = 57464 -const T_FILE = 57465 -const T_COMMENT = 57466 -const T_DOC_COMMENT = 57467 -const T_OPEN_TAG = 57468 -const T_OPEN_TAG_WITH_ECHO = 57469 -const T_CLOSE_TAG = 57470 -const T_WHITESPACE = 57471 -const T_START_HEREDOC = 57472 -const T_END_HEREDOC = 57473 -const T_DOLLAR_OPEN_CURLY_BRACES = 57474 -const T_CURLY_OPEN = 57475 -const T_PAAMAYIM_NEKUDOTAYIM = 57476 -const T_NAMESPACE = 57477 -const T_NS_C = 57478 -const T_DIR = 57479 -const T_NS_SEPARATOR = 57480 -const T_ELLIPSIS = 57481 +const T_PLUS_EQUAL = 57356 +const T_MINUS_EQUAL = 57357 +const T_MUL_EQUAL = 57358 +const T_DIV_EQUAL = 57359 +const T_CONCAT_EQUAL = 57360 +const T_MOD_EQUAL = 57361 +const T_AND_EQUAL = 57362 +const T_OR_EQUAL = 57363 +const T_XOR_EQUAL = 57364 +const T_SL_EQUAL = 57365 +const T_SR_EQUAL = 57366 +const T_POW_EQUAL = 57367 +const T_BOOLEAN_OR = 57368 +const T_BOOLEAN_AND = 57369 +const T_IS_EQUAL = 57370 +const T_IS_NOT_EQUAL = 57371 +const T_IS_IDENTICAL = 57372 +const T_IS_NOT_IDENTICAL = 57373 +const T_IS_SMALLER_OR_EQUAL = 57374 +const T_IS_GREATER_OR_EQUAL = 57375 +const T_SL = 57376 +const T_SR = 57377 +const T_INSTANCEOF = 57378 +const T_INC = 57379 +const T_DEC = 57380 +const T_INT_CAST = 57381 +const T_DOUBLE_CAST = 57382 +const T_STRING_CAST = 57383 +const T_ARRAY_CAST = 57384 +const T_OBJECT_CAST = 57385 +const T_BOOL_CAST = 57386 +const T_UNSET_CAST = 57387 +const T_POW = 57388 +const T_NEW = 57389 +const T_CLONE = 57390 +const T_ELSEIF = 57391 +const T_ELSE = 57392 +const T_ENDIF = 57393 +const T_STATIC = 57394 +const T_ABSTRACT = 57395 +const T_FINAL = 57396 +const T_PRIVATE = 57397 +const T_PROTECTED = 57398 +const T_PUBLIC = 57399 +const T_EXIT = 57400 +const T_IF = 57401 +const T_LNUMBER = 57402 +const T_DNUMBER = 57403 +const T_STRING = 57404 +const T_STRING_VARNAME = 57405 +const T_VARIABLE = 57406 +const T_NUM_STRING = 57407 +const T_INLINE_HTML = 57408 +const T_CHARACTER = 57409 +const T_BAD_CHARACTER = 57410 +const T_ENCAPSED_AND_WHITESPACE = 57411 +const T_CONSTANT_ENCAPSED_STRING = 57412 +const T_ECHO = 57413 +const T_DO = 57414 +const T_WHILE = 57415 +const T_ENDWHILE = 57416 +const T_FOR = 57417 +const T_ENDFOR = 57418 +const T_FOREACH = 57419 +const T_ENDFOREACH = 57420 +const T_DECLARE = 57421 +const T_ENDDECLARE = 57422 +const T_AS = 57423 +const T_SWITCH = 57424 +const T_ENDSWITCH = 57425 +const T_CASE = 57426 +const T_DEFAULT = 57427 +const T_BREAK = 57428 +const T_CONTINUE = 57429 +const T_GOTO = 57430 +const T_FUNCTION = 57431 +const T_CONST = 57432 +const T_RETURN = 57433 +const T_TRY = 57434 +const T_CATCH = 57435 +const T_FINALLY = 57436 +const T_THROW = 57437 +const T_USE = 57438 +const T_INSTEADOF = 57439 +const T_GLOBAL = 57440 +const T_VAR = 57441 +const T_UNSET = 57442 +const T_ISSET = 57443 +const T_EMPTY = 57444 +const T_HALT_COMPILER = 57445 +const T_CLASS = 57446 +const T_TRAIT = 57447 +const T_INTERFACE = 57448 +const T_EXTENDS = 57449 +const T_IMPLEMENTS = 57450 +const T_OBJECT_OPERATOR = 57451 +const T_DOUBLE_ARROW = 57452 +const T_LIST = 57453 +const T_ARRAY = 57454 +const T_CALLABLE = 57455 +const T_CLASS_C = 57456 +const T_TRAIT_C = 57457 +const T_METHOD_C = 57458 +const T_FUNC_C = 57459 +const T_LINE = 57460 +const T_FILE = 57461 +const T_COMMENT = 57462 +const T_DOC_COMMENT = 57463 +const T_OPEN_TAG = 57464 +const T_OPEN_TAG_WITH_ECHO = 57465 +const T_CLOSE_TAG = 57466 +const T_WHITESPACE = 57467 +const T_START_HEREDOC = 57468 +const T_END_HEREDOC = 57469 +const T_DOLLAR_OPEN_CURLY_BRACES = 57470 +const T_CURLY_OPEN = 57471 +const T_PAAMAYIM_NEKUDOTAYIM = 57472 +const T_NAMESPACE = 57473 +const T_NS_C = 57474 +const T_DIR = 57475 +const T_NS_SEPARATOR = 57476 +const T_ELLIPSIS = 57477 +const T_YIELD_FROM = 57478 var yyToknames = [...]string{ "$end", @@ -183,8 +172,6 @@ var yyToknames = [...]string{ "T_LOGICAL_AND", "T_PRINT", "T_YIELD", - "T_DOUBLE_ARROW", - "T_YIELD_FROM", "'='", "T_PLUS_EQUAL", "T_MINUS_EQUAL", @@ -200,7 +187,6 @@ var yyToknames = [...]string{ "T_POW_EQUAL", "'?'", "':'", - "T_COALESCE", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'", @@ -210,7 +196,6 @@ var yyToknames = [...]string{ "T_IS_NOT_EQUAL", "T_IS_IDENTICAL", "T_IS_NOT_IDENTICAL", - "T_SPACESHIP", "'<'", "T_IS_SMALLER_OR_EQUAL", "'>'", @@ -240,7 +225,6 @@ var yyToknames = [...]string{ "'['", "T_NEW", "T_CLONE", - "T_NOELSE", "T_ELSEIF", "T_ELSE", "T_ENDIF", @@ -302,6 +286,7 @@ var yyToknames = [...]string{ "T_EXTENDS", "T_IMPLEMENTS", "T_OBJECT_OPERATOR", + "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CALLABLE", @@ -327,6 +312,7 @@ var yyToknames = [...]string{ "T_DIR", "T_NS_SEPARATOR", "T_ELLIPSIS", + "T_YIELD_FROM", "'\"'", "'`'", "'{'", @@ -343,1362 +329,210 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2584 +//line php5/php5.y:1262 //line yacctab:1 var yyExca = [...]int{ -1, 1, 1, -1, -2, 0, - -1, 43, - 69, 420, - 133, 420, - 153, 420, - 161, 420, - -2, 415, - -1, 47, - 164, 423, - -2, 432, - -1, 83, - 69, 422, - 133, 422, - 153, 422, - 161, 422, - 164, 425, - -2, 410, - -1, 106, - 153, 383, - -2, 412, - -1, 228, - 69, 420, - 133, 420, - 153, 420, - 161, 420, - -2, 311, - -1, 231, - 164, 425, - -2, 422, - -1, 234, - 69, 420, - 133, 420, - 153, 420, - 161, 420, - -2, 313, - -1, 352, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, - -2, 335, - -1, 353, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, - -2, 336, - -1, 354, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, - -2, 337, - -1, 355, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, - -2, 338, - -1, 356, - 43, 0, - 44, 0, - 45, 0, - 46, 0, - -2, 339, - -1, 357, - 43, 0, - 44, 0, - 45, 0, - 46, 0, - -2, 340, - -1, 358, - 43, 0, - 44, 0, - 45, 0, - 46, 0, - -2, 341, - -1, 359, - 43, 0, - 44, 0, - 45, 0, - 46, 0, - -2, 342, - -1, 360, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, - -2, 343, - -1, 367, - 9, 161, - 165, 161, - -2, 420, - -1, 411, - 9, 460, - 165, 460, - 166, 460, - -2, 420, - -1, 415, - 69, 421, - 133, 421, - 153, 421, - 161, 421, - 164, 424, - -2, 345, - -1, 429, - 164, 446, - -2, 413, - -1, 430, - 164, 448, - -2, 438, - -1, 509, - 164, 446, - -2, 414, - -1, 510, - 164, 448, - -2, 439, - -1, 569, - 165, 211, - -2, 216, - -1, 594, - 164, 424, - -2, 421, - -1, 646, - 165, 211, - -2, 216, - -1, 651, - 165, 181, - -2, 420, - -1, 659, - 165, 211, - -2, 216, - -1, 684, - 9, 459, - 165, 459, - 166, 459, - -2, 420, - -1, 717, - 165, 182, - -2, 420, - -1, 737, - 88, 263, - -2, 266, - -1, 776, - 165, 181, - -2, 420, - -1, 778, - 165, 184, - -2, 394, - -1, 880, - 105, 76, - -2, 80, - -1, 912, - 165, 211, - -2, 216, } const yyPrivate = 57344 -const yyLast = 7467 +const yyLast = 2 var yyAct = [...]int{ - 27, 129, 823, 836, 660, 859, 374, 576, 739, 434, - 872, 106, 835, 791, 664, 772, 809, 673, 783, 563, - 662, 137, 137, 137, 311, 650, 150, 4, 709, 631, - 698, 665, 530, 630, 185, 366, 320, 512, 376, 220, - 520, 403, 131, 79, 571, 315, 314, 222, 8, 7, - 136, 188, 224, 227, 146, 149, 235, 236, 237, 238, - 239, 127, 142, 240, 241, 242, 243, 244, 245, 246, - 125, 249, 139, 140, 257, 258, 259, 124, 2, 253, - 313, 312, 511, 6, 5, 428, 126, 778, 272, 273, - 891, 275, 276, 691, 687, 263, 268, 229, 229, 608, - 81, 595, 743, 744, 745, 742, 741, 740, 583, 408, - 924, 886, 104, 818, 817, 807, 799, 782, 771, 725, - 307, 110, 715, 696, 694, 686, 675, 648, 636, 626, - 596, 317, 114, 120, 587, 322, 323, 290, 928, 912, - 927, 83, 867, 826, 284, 286, 736, 831, 780, 738, - 718, 104, 685, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 659, - 362, 364, 646, 368, 319, 265, 370, 404, 881, 104, - 268, 105, 305, 810, 294, 231, 231, 331, 285, 78, - 378, 386, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 569, 552, 400, 137, 402, 233, - 224, 382, 550, 143, 282, 229, 232, 766, 767, 301, - 105, 413, 412, 289, 224, 291, 116, 43, 104, 383, - 298, 288, 381, 304, 109, 293, 890, 292, 334, 137, - 743, 744, 745, 742, 741, 740, 423, 287, 330, 407, - 514, 137, 405, 328, 274, 429, 509, 401, 105, 229, - 369, 521, 522, 414, 361, 523, 566, 232, 840, 265, - 839, 812, 307, 527, 269, 108, 531, 116, 224, 104, - 301, 228, 234, 271, 736, 270, 866, 738, 248, 416, - 229, 830, 766, 767, 133, 283, 219, 111, 215, 549, - 183, 427, 182, 181, 230, 135, 232, 105, 134, 4, - 130, 112, 918, 231, 516, 811, 116, 533, 104, 267, - 901, 418, 419, 559, 900, 150, 863, 605, 558, 885, - 8, 7, 848, 819, 517, 813, 806, 763, 508, 750, - 518, 714, 515, 712, 842, 133, 765, 418, 111, 419, - 419, 418, 710, 708, 562, 705, 553, 231, 105, 548, - 305, 538, 536, 535, 384, 6, 5, 372, 269, 542, - 568, 326, 578, 539, 579, 557, 575, 580, 581, 573, - 560, 556, 577, 325, 133, 324, 295, 111, 231, 805, - 802, 645, 333, 666, 800, 759, 586, 105, 606, 907, - 224, 590, 329, 224, 570, 787, 884, 327, 406, 367, - 857, 541, 534, 544, 116, 855, 216, 607, 801, 254, - 604, 534, 610, 788, 420, 534, 306, 534, 781, 731, - 674, 585, 113, 574, 300, 154, 156, 155, 184, 417, - 288, 904, 593, 303, 513, 303, 262, 589, 116, 116, - 261, 430, 510, 411, 116, 179, 609, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 218, 178, 255, 256, 425, 113, 116, 700, 116, 115, - 526, 116, 377, 164, 902, 288, 634, 629, 667, 668, - 628, 572, 545, 667, 668, 137, 614, 380, 217, 743, - 744, 745, 742, 741, 740, 122, 123, 133, 143, 543, - 111, 644, 133, 625, 303, 111, 652, 784, 145, 618, - 254, 903, 303, 303, 318, 420, 611, 861, 254, 623, - 722, 723, 147, 640, 322, 642, 635, 617, 615, 254, - 421, 4, 647, 736, 133, 613, 738, 111, 654, 121, - 76, 77, 299, 688, 254, 232, 638, 145, 671, 277, - 672, 669, 8, 7, 577, 116, 547, 104, 892, 683, - 641, 656, 119, 109, 540, 302, 794, 793, 860, 252, - 649, 754, 525, 255, 256, 829, 689, 679, 229, 229, - 524, 255, 256, 792, 305, 670, 632, 6, 5, 853, - 521, 190, 255, 256, 422, 531, 743, 744, 745, 742, - 741, 740, 827, 653, 108, 229, 278, 255, 256, 147, - 116, 706, 602, 128, 743, 744, 745, 742, 741, 740, - 701, 713, 116, 133, 260, 224, 111, 697, 669, 720, - 695, 546, 693, 230, 724, 544, 105, 544, 704, 534, - 736, 669, 852, 738, 711, 375, 373, 730, 669, 122, - 123, 194, 751, 752, 600, 193, 224, 747, 736, 192, - 254, 738, 746, 186, 719, 420, 229, 164, 729, 699, - 755, 748, 279, 280, 703, 632, 231, 231, 189, 322, - 728, 297, 797, 612, 195, 196, 406, 616, 756, 224, - 598, 254, 601, 599, 761, 753, 281, 814, 766, 767, - 732, 758, 760, 231, 769, 766, 767, 824, 669, 768, - 773, 770, 775, 45, 795, 764, 796, 785, 577, 789, - 544, 798, 254, 255, 256, 544, 544, 251, 777, 749, - 229, 743, 744, 745, 742, 741, 740, 808, 197, 199, - 198, 699, 385, 632, 187, 178, 816, 868, 804, 862, - 682, 191, 833, 822, 255, 256, 825, 164, 588, 332, - 815, 308, 821, 716, 231, 633, 163, 165, 166, 832, - 178, 675, 367, 651, 757, 702, 828, 118, 726, 624, - 619, 847, 164, 564, 554, 255, 256, 409, 849, 841, - 1, 37, 544, 737, 544, 846, 734, 735, 803, 684, - 379, 661, 844, 851, 865, 529, 669, 221, 519, 856, - 858, 869, 773, 365, 878, 864, 837, 882, 883, 871, - 144, 790, 877, 141, 321, 148, 834, 888, 231, 889, - 658, 820, 250, 893, 838, 887, 643, 926, 223, 896, - 42, 41, 894, 15, 14, 878, 897, 597, 266, 544, - 895, 48, 899, 877, 47, 107, 906, 49, 82, 80, - 717, 71, 247, 61, 264, 60, 876, 910, 875, 874, - 873, 733, 44, 911, 663, 721, 655, 843, 917, 920, - 913, 637, 916, 915, 577, 309, 117, 921, 296, 3, - 922, 433, 786, 727, 669, 0, 0, 925, 0, 0, - 929, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 776, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 164, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 12, 22, 32, 0, 0, 33, 11, 0, 23, - 0, 28, 85, 86, 9, 38, 39, 40, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 10, 100, 96, 111, 0, 103, 72, 13, 627, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 179, 75, 180, 152, - 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 164, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 12, 22, 32, 0, 0, - 33, 11, 0, 23, 0, 28, 85, 86, 9, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 10, 100, 96, 111, 0, - 103, 72, 13, 537, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, - 0, 0, 0, 0, 55, 56, 0, 0, 164, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 36, 12, - 22, 32, 0, 0, 33, 11, 0, 23, 0, 28, - 85, 86, 9, 38, 39, 40, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 161, 162, - 160, 163, 165, 166, 102, 178, 0, 0, 0, 10, - 100, 96, 111, 0, 103, 72, 13, 164, 31, 59, - 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, - 0, 0, 73, 74, 0, 75, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 164, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 930, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 56, 164, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 923, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 164, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 919, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 909, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 55, 56, 0, 0, 0, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, - 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 103, 72, 13, 908, 31, 59, - 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, - 0, 0, 73, 74, 0, 75, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 905, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 200, 201, 202, 203, 205, 206, - 207, 208, 209, 210, 211, 212, 204, 0, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 213, 214, 0, 0, 24, - 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 854, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 850, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 779, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 762, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, - 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 103, 72, 13, 0, 31, 59, - 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, - 0, 0, 73, 74, 0, 75, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 678, 24, 76, 77, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 567, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 310, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 0, 31, 59, 156, 155, 105, 441, - 442, 443, 444, 445, 0, 446, 447, 448, 484, 485, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 449, 0, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 450, 451, 0, 454, 455, - 456, 435, 436, 437, 438, 439, 440, 452, 453, 0, - 0, 432, 0, 104, 0, 0, 0, 0, 0, 0, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 487, 488, 489, 490, 491, 479, 480, 481, 482, - 483, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 0, 499, 497, 498, 494, 495, 0, 486, - 492, 493, 500, 501, 503, 502, 504, 505, 0, 0, - 0, 0, 0, 87, 88, 89, 90, 91, 0, 496, - 507, 506, 73, 74, 0, 75, 431, 0, 0, 0, - 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, - 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 24, 0, 0, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 132, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 0, 0, 0, 0, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 845, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 0, 0, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 132, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 0, 0, 0, 0, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 132, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 0, 0, - 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 0, 0, 0, 0, 0, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 132, 0, - 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 0, 0, 0, 0, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 103, 72, 13, 155, 31, 59, - 0, 0, 105, 441, 442, 443, 444, 445, 0, 446, - 447, 448, 484, 485, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 449, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, - 451, 0, 454, 455, 456, 435, 436, 437, 438, 439, - 440, 452, 453, 0, 0, 880, 0, 0, 0, 0, - 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, - 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, - 494, 495, 0, 486, 492, 493, 500, 501, 503, 502, - 504, 505, 441, 442, 443, 444, 445, 426, 446, 447, - 448, 484, 485, 879, 507, 506, 111, 0, 0, 0, - 0, 898, 179, 0, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 0, 450, 451, - 0, 454, 455, 456, 435, 436, 437, 438, 439, 440, - 452, 453, 0, 0, 880, 0, 0, 0, 0, 0, - 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, - 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 499, 497, 498, 494, - 495, 0, 486, 492, 493, 500, 501, 503, 502, 504, - 505, 154, 156, 155, 0, 0, 0, 87, 88, 89, - 90, 91, 879, 507, 506, 111, 73, 74, 0, 75, - 870, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 164, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 707, 133, 100, 96, - 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, - 105, 441, 442, 443, 444, 445, 0, 446, 447, 448, - 484, 485, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 450, 451, 0, - 454, 455, 456, 435, 436, 437, 438, 439, 440, 452, - 453, 0, 0, 432, 0, 0, 0, 0, 0, 0, - 0, 0, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, - 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 499, 497, 498, 494, 495, - 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, - 441, 442, 443, 444, 445, 0, 446, 447, 448, 484, - 485, 496, 507, 506, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 450, 451, 0, 454, - 455, 456, 743, 744, 745, 742, 741, 740, 452, 453, - 0, 0, 914, 0, 0, 0, 0, 0, 0, 0, - 0, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, - 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 499, 497, 498, 494, 495, 0, - 486, 492, 493, 500, 501, 503, 502, 504, 505, 0, - 0, 0, 0, 0, 87, 88, 89, 90, 91, 0, - 496, 507, 506, 73, 74, 0, 75, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, - 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, - 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 532, 103, - 72, 0, 0, 0, 59, 528, 0, 105, 87, 88, - 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, - 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, - 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, - 86, 0, 0, 73, 74, 0, 75, 0, 226, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, - 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, - 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, - 87, 88, 89, 90, 91, 85, 86, 0, 0, 73, - 74, 0, 75, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 591, 133, 100, 96, 111, 532, 103, - 72, 0, 0, 0, 59, 55, 56, 105, 0, 0, - 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, - 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, - 0, 0, 138, 0, 0, 0, 0, 0, 69, 0, - 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, - 0, 0, 0, 0, 0, 0, 87, 88, 89, 90, - 91, 85, 86, 0, 0, 73, 74, 0, 75, 0, - 592, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 103, 72, 0, 0, 0, - 59, 55, 56, 105, 0, 0, 0, 57, 0, 58, - 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, - 0, 51, 84, 52, 0, 0, 0, 0, 138, 0, - 0, 0, 0, 0, 69, 0, 92, 93, 116, 424, - 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, - 0, 0, 87, 88, 89, 90, 91, 85, 86, 0, - 0, 73, 74, 0, 75, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 387, 133, 100, 96, 111, - 0, 103, 72, 0, 0, 0, 59, 55, 56, 105, - 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, - 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, - 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, - 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 132, 0, 0, 0, 0, 0, 0, 87, 88, - 89, 90, 91, 85, 86, 0, 0, 73, 74, 0, - 75, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 363, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 103, 72, 0, - 0, 0, 59, 55, 56, 105, 0, 0, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, - 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, - 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, - 86, 0, 0, 73, 74, 0, 75, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, - 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, - 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, - 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 154, 156, 155, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, - 72, 0, 0, 0, 59, 0, 179, 105, 180, 152, - 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, - 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, - 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, - 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, - 0, 677, 0, 0, 0, 0, 0, 179, 0, 180, - 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, - 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, - 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 164, 0, 0, 676, 0, - 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, - 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 0, 621, 0, 0, 0, 0, - 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, - 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 0, 0, 620, 0, 0, 0, 0, 0, 179, 0, - 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, - 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, - 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 164, 0, 0, 594, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 582, 0, 0, 0, - 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, - 156, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 164, 0, 0, 555, 0, 0, 0, 0, 0, 179, - 810, 180, 152, 153, 157, 159, 158, 171, 172, 169, - 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, - 551, 0, 0, 0, 0, 0, 179, 0, 180, 152, - 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 415, 0, 0, - 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, - 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, - 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, - 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 811, 0, 0, 0, 0, 0, 0, 0, - 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 371, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, - 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, - 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, - 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, - 0, 0, 0, 0, 0, 164, 151, 0, 0, 0, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 692, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 154, 156, 155, 0, 0, 0, 0, 0, 0, 690, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, - 0, 0, 0, 0, 0, 0, 0, 681, 164, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, - 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, - 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, - 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, - 0, 0, 0, 0, 622, 164, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 603, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 561, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 565, 154, 156, 155, 0, 0, 410, 0, 0, 584, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, - 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, - 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, - 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, - 163, 165, 166, 0, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 164, + 2, 1, } var yyPact = [...]int{ - -1000, -1000, 1255, -1000, -1000, -1000, -1000, -1000, -1000, 157, - 338, 412, 557, -1000, -1000, -1000, 156, 4963, 154, 151, - 6270, 6270, 6270, 24, 464, 6270, -1000, 6923, 149, 148, - 146, -1000, 287, 6270, 607, 743, 671, 493, 603, 599, - 595, 641, 695, 2417, -1000, -1000, 144, -1000, -1000, 357, - 142, 5574, 6270, 150, 150, 6270, 6270, 6270, 6270, 6270, - -1000, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 134, - 6270, -1000, 664, 6270, 6270, 6270, -1000, -1000, -1000, 585, - -1000, 307, 303, -1000, 201, 131, 129, 6270, 6270, 100, - 6270, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 486, 633, -1000, 63, 34, 34, 93, -1000, - 293, 554, -28, 554, 84, -1000, -1000, 233, 415, 281, - 438, 554, -1000, -1000, -1000, -1000, 273, -1000, 774, 3387, - 6270, 447, 671, 285, 6270, 6270, 232, 7398, 425, 230, - 218, 254, -1000, -1000, 249, 671, -1000, 772, 239, -1000, - 7398, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, - 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, - 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 240, 6154, - 6270, 150, 6270, 557, -1000, 6876, 214, -1000, 590, -1000, - 589, -1000, 371, -1000, 386, 78, 4963, 75, 211, 741, - 6038, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, - 6270, 6270, 6270, -1000, -1000, 6270, 6270, 6270, 101, 5574, - -57, 808, -1000, -1000, 7351, 150, 68, -1000, -1000, 585, - 6270, -1000, -1000, 5574, -1000, 629, 629, 719, 629, 6782, - 629, 629, 629, 629, 629, 629, 629, -1000, 6270, 629, - 289, 471, 602, -1000, 491, 5922, 150, 1076, 4812, 1076, - 6270, 3715, 3715, 34, -1000, 301, 191, 34, -1000, -1000, - 6270, 6270, 7398, 7398, 6270, 7398, 7398, 460, -1000, 452, - 341, 471, 6270, -1000, -1000, 5410, -1000, 5574, 583, 293, - 210, 293, -1000, -1000, 1091, -1000, 208, 220, 437, 554, - -1000, 372, 351, 575, 429, -1000, -1000, 557, 6270, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 58, 6735, 51, -1000, - 203, 805, 7398, 6688, -1000, -1000, -1000, -1000, 24, -1000, - 551, -1000, 6270, -1000, 6270, 1402, 1566, 3705, 1076, 4665, - 1730, 2054, 1891, 744, 744, 744, 719, 629, 719, 719, - 1349, 1349, 912, 912, 912, 912, 2209, 2209, 2209, 2209, - 912, -1000, 7302, 6270, 1240, 804, -1000, -1000, 7255, 111, - 3223, -1000, -1000, -1000, 50, 371, 379, 410, 282, -1000, - 410, 6270, -1000, 6270, -1000, -1000, 1076, 6270, 1076, 1076, - 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, - 6641, -58, 7207, 34, -1000, 6270, -1000, -31, 771, 5574, - 5806, -1000, 5574, 6594, -65, -1000, -35, -1000, -1000, -1000, - -1000, 634, 556, 7160, 268, 246, 6270, -67, 34, -1000, - -1000, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 34, -1000, - -1000, -1000, -1000, 24, 6270, 6270, 101, 24, 371, 801, - -1000, 7398, 6547, 6500, -1000, -1000, -1000, 7112, -1000, 800, - -1000, 7398, 6270, -36, -1000, -1000, 927, -1000, -1000, -1000, - 349, 350, -1000, 554, 348, 566, -1000, 345, -1000, 7398, - -37, 4515, 6270, 6270, 6270, 370, -1000, -1000, 18, 7398, - -1000, 6270, 1240, -38, 150, 499, 4351, -1000, 15, 373, - 379, -1000, 410, -1000, -1000, 279, 792, -1000, 6453, 6406, - 3059, 2054, 4187, -1000, -1000, -1000, 7065, 763, 6270, -1000, - 7398, 150, -12, -40, -1000, -1000, -1000, -72, -1000, -1000, - 484, -1000, -1000, -1000, -1000, 6270, -1000, 1076, -1000, -1000, - 7017, -1000, -1000, -73, 6970, -1000, -1000, 379, -41, 6270, - -1000, -1000, -1000, -42, 5690, 7398, -1000, -1000, 554, 336, - 796, -1000, -1000, 554, 566, -1000, 202, -1000, -1000, -1000, - 4951, 200, 7398, -1000, 199, 190, 373, 1240, 188, -1000, - -43, 778, 150, -14, 5574, -1000, -1000, -1000, 433, 373, - -46, 799, -1000, 673, -1000, -1000, 378, -1000, -1000, -1000, - -1000, 278, 792, 568, -1000, 410, 4963, 728, 186, -1000, - -1000, -1000, 6270, 1076, -1000, 5574, 763, -1000, -1000, 435, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 795, -1000, - 554, 243, 566, -1000, 796, -1000, 2895, 184, 6270, 194, - -1000, 627, -1000, -47, -1000, 3859, 499, -1000, 5574, -79, - 2731, -1000, -16, 277, -48, 417, 373, 257, -1000, -1000, - 272, -1000, -1000, -1000, 525, 483, 410, 685, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 550, -1000, -1000, -1000, - -1000, 3551, 1076, -49, 242, 267, 238, 554, 795, -1000, - -1000, 237, 183, -1000, -50, -1000, 6270, 162, 119, 182, - 620, 417, -1000, -1000, -1000, -51, -1000, -52, -1000, 180, - 410, -1000, 706, 706, -21, -1000, 544, -1000, -1000, 443, - 138, -1000, 765, 5127, 671, 117, -1000, -1000, 3551, 763, - -1000, -1000, -1000, -1000, 192, -1000, -1000, 4023, 6829, -1000, - -1000, -1000, -1000, -1000, 179, 706, 2567, 3859, -1000, -1000, - 584, -1000, 2403, 264, 373, 259, 510, 762, 174, -1000, - -1000, 525, -1000, 6270, 133, -1000, 760, 5127, -1000, -1000, - 4818, 26, -1000, -1000, -1000, -1000, -1000, 3551, -1000, 255, - 176, -1000, -54, 410, -1000, -1000, -1000, -1000, 81, -1000, - -1000, 500, 6270, -1000, -1000, 7398, -1000, 5127, 6270, -1000, - -1000, 4679, -1000, 171, 167, 383, 436, 298, -1000, 285, - -1000, -1000, 2239, 3551, -1000, -1000, 248, -1000, 2075, 1911, - -1000, 510, -1000, 7398, -1000, -1000, 7398, -25, -1000, -1000, - -1000, -1000, 410, 5266, 5127, 159, 1747, -1000, -1000, -1000, - -1000, -1000, 373, 792, -1000, -1000, 5127, -1000, -1000, -1000, - 1583, -55, -1000, -1000, 706, -23, -1000, -1000, -1000, 1419, - -1000, + -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 923, 922, 51, 9, 921, 3, 919, 11, 24, - 81, 80, 46, 45, 918, 29, 916, 77, 70, 61, - 915, 0, 50, 911, 907, 15, 906, 905, 35, 237, - 38, 20, 904, 32, 902, 62, 54, 901, 10, 900, - 899, 898, 896, 13, 55, 895, 894, 100, 95, 199, - 893, 892, 891, 5, 889, 85, 41, 888, 141, 43, - 887, 885, 884, 881, 878, 79, 877, 874, 873, 871, - 12, 870, 868, 47, 40, 31, 2, 14, 743, 8, - 795, 25, 867, 866, 864, 37, 82, 599, 862, 121, - 861, 860, 856, 86, 855, 36, 854, 853, 30, 33, - 851, 850, 28, 849, 843, 592, 840, 18, 838, 837, - 39, 835, 78, 1, 4, 831, 17, 830, 44, 827, - 826, 823, 7, 821, 6, 820, 19, 16, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, } var yyR1 = [...]int{ - 0, 125, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, - 5, 5, 5, 5, 5, 5, 6, 6, 112, 112, - 89, 89, 8, 8, 8, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 80, - 80, 14, 14, 16, 16, 126, 126, 99, 99, 98, - 98, 105, 105, 15, 15, 18, 18, 17, 17, 93, - 93, 113, 113, 20, 20, 20, 20, 20, 20, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 91, 91, 90, 90, 27, 27, 104, - 104, 28, 10, 1, 1, 2, 2, 11, 11, 123, - 123, 78, 78, 12, 13, 30, 30, 117, 117, 118, - 118, 81, 81, 81, 81, 24, 24, 25, 25, 26, - 26, 83, 83, 83, 83, 102, 102, 102, 127, 127, - 23, 23, 69, 69, 67, 67, 71, 71, 68, 68, - 114, 114, 115, 115, 31, 31, 32, 32, 77, 77, - 75, 75, 75, 76, 76, 85, 85, 111, 111, 33, - 33, 97, 97, 35, 101, 101, 36, 36, 116, 116, - 37, 37, 37, 37, 122, 122, 84, 84, 84, 103, - 103, 38, 38, 39, 40, 40, 40, 40, 42, 42, - 41, 82, 82, 120, 120, 119, 119, 121, 121, 79, - 79, 79, 79, 79, 79, 100, 100, 43, 43, 92, - 92, 70, 19, 94, 94, 44, 95, 95, 96, 96, - 46, 45, 45, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 124, - 3, 3, 107, 107, 106, 106, 53, 53, 54, 54, - 54, 54, 47, 47, 48, 48, 51, 51, 88, 88, - 88, 86, 86, 58, 58, 58, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 59, 59, 59, 21, 21, 22, 22, 57, - 60, 60, 60, 61, 61, 61, 62, 62, 62, 62, - 62, 62, 29, 29, 29, 49, 49, 49, 63, 63, - 64, 64, 64, 64, 64, 64, 55, 55, 55, 56, - 56, 56, 110, 73, 73, 109, 109, 72, 72, 72, - 72, 72, 72, 87, 87, 87, 87, 65, 65, 65, - 65, 65, 65, 65, 66, 66, 66, 66, 50, 50, - 50, 50, 50, 50, 50, 108, 108, 74, + 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, + 4, 8, 4, 9, 4, 4, 4, 4, 4, 10, + 10, 14, 14, 14, 14, 11, 11, 15, 15, 15, + 15, 12, 12, 16, 16, 16, 16, 13, 13, 18, + 18, 19, 19, 19, 19, 5, 5, 20, 22, 23, + 20, 26, 27, 20, 30, 31, 20, 33, 34, 20, + 36, 37, 38, 20, 40, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 50, 53, 20, 55, 56, 20, 57, 20, 20, 60, + 62, 20, 20, 20, 61, 64, 66, 67, 68, 61, + 63, 70, 63, 69, 69, 71, 71, 73, 74, 72, + 49, 49, 75, 6, 7, 78, 78, 79, 79, 81, + 76, 85, 77, 89, 77, 83, 83, 83, 83, 84, + 84, 88, 90, 90, 86, 86, 91, 91, 52, 52, + 51, 51, 92, 51, 39, 39, 54, 54, 59, 59, + 58, 58, 41, 41, 41, 41, 94, 96, 94, 97, + 94, 95, 95, 32, 32, 24, 98, 24, 28, 99, + 28, 25, 25, 29, 29, 82, 82, 100, 100, 101, + 101, 102, 102, 102, 102, 103, 103, 103, 104, 104, + 105, 105, 105, 105, 46, 46, 107, 107, 107, 47, + 47, 47, 47, 87, 87, 111, 109, 109, 109, 116, + 109, 114, 118, 118, 119, 119, 120, 120, 121, 121, + 122, 122, 123, 126, 126, 127, 127, 125, 124, 124, + 128, 128, 117, 117, 110, 110, 115, 115, 130, 130, + 129, 129, 129, 129, 129, 129, 112, 112, 112, 112, + 113, 113, 48, 48, 35, 35, 132, 131, 131, 133, + 133, 135, 135, 138, 137, 137, 137, 139, 140, 139, + 143, 141, 145, 43, 43, 43, 146, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 148, 43, 149, 43, 150, + 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 152, 43, 153, 154, 43, 155, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 158, 43, 43, + 43, 43, 43, 43, 43, 163, 43, 165, 43, 45, + 45, 45, 45, 160, 160, 160, 160, 161, 161, 80, + 164, 164, 168, 168, 168, 168, 170, 169, 171, 169, + 172, 169, 175, 169, 177, 169, 179, 169, 180, 169, + 181, 169, 173, 173, 173, 173, 65, 65, 65, 142, + 142, 184, 186, 182, 182, 187, 187, 188, 157, 157, + 157, 162, 162, 162, 144, 144, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 191, 17, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 166, 166, 166, 166, 159, 159, 159, + 159, 159, 159, 159, 194, 194, 199, 199, 198, 198, + 198, 198, 42, 42, 21, 21, 108, 106, 147, 201, + 202, 44, 44, 204, 204, 205, 134, 206, 206, 208, + 207, 203, 203, 203, 176, 176, 211, 211, 178, 212, + 213, 212, 200, 200, 200, 183, 183, 183, 209, 209, + 209, 214, 214, 136, 136, 185, 185, 215, 215, 215, + 174, 174, 210, 210, 93, 93, 216, 217, 216, 216, + 167, 167, 218, 218, 218, 218, 218, 218, 218, 218, + 189, 189, 189, 189, 219, 220, 219, 219, 219, 219, + 219, 221, 221, 221, 156, 156, 156, 156, 156, 156, + 156, 156, 222, 224, 222, 223, 223, 196, 196, 193, + 197, } var yyR2 = [...]int{ - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 1, 3, 1, 3, 2, 1, 1, 1, 1, 1, - 4, 3, 5, 4, 3, 4, 3, 4, 3, 1, - 1, 6, 7, 6, 7, 0, 1, 3, 1, 3, - 1, 3, 1, 1, 2, 1, 3, 1, 2, 3, - 1, 2, 0, 1, 1, 1, 1, 1, 4, 3, - 1, 1, 5, 7, 9, 5, 3, 3, 3, 3, - 3, 3, 1, 2, 6, 7, 9, 5, 1, 6, - 3, 3, 2, 0, 9, 1, 3, 0, 4, 1, - 3, 1, 11, 0, 1, 0, 1, 9, 8, 1, - 2, 1, 1, 6, 7, 0, 2, 0, 2, 0, - 2, 1, 2, 4, 3, 1, 4, 1, 4, 1, - 4, 3, 4, 4, 5, 0, 5, 4, 1, 1, - 1, 4, 5, 6, 1, 3, 6, 7, 3, 6, - 1, 0, 1, 3, 4, 6, 0, 1, 1, 2, - 1, 1, 1, 0, 2, 2, 4, 1, 3, 1, - 2, 3, 1, 1, 3, 1, 1, 3, 2, 0, - 3, 4, 3, 10, 1, 3, 1, 2, 3, 1, - 2, 2, 2, 3, 3, 3, 4, 3, 1, 1, - 3, 1, 3, 1, 1, 0, 1, 1, 2, 1, - 1, 1, 1, 1, 1, 3, 1, 2, 4, 3, - 1, 4, 4, 3, 1, 1, 0, 1, 3, 1, - 8, 3, 2, 6, 5, 3, 4, 2, 3, 3, + 0, 1, 1, 0, 1, 3, 1, 1, 1, 4, + 3, 0, 6, 0, 5, 3, 4, 4, 2, 3, + 1, 1, 3, 2, 4, 3, 1, 1, 3, 2, + 4, 3, 1, 1, 3, 2, 4, 5, 4, 1, + 0, 1, 1, 1, 4, 1, 2, 3, 0, 0, + 7, 0, 0, 10, 0, 0, 5, 0, 0, 7, + 0, 0, 0, 12, 0, 4, 2, 3, 2, 3, + 2, 3, 3, 2, 3, 3, 3, 1, 2, 5, + 0, 0, 10, 0, 0, 10, 0, 6, 1, 0, + 0, 8, 3, 3, 0, 0, 0, 0, 0, 13, + 0, 0, 5, 1, 0, 1, 2, 0, 0, 10, + 1, 3, 1, 1, 1, 0, 1, 0, 1, 0, + 10, 0, 8, 0, 7, 1, 2, 1, 2, 0, + 2, 1, 0, 2, 0, 2, 1, 3, 0, 2, + 1, 2, 0, 5, 1, 4, 1, 4, 1, 4, + 3, 5, 3, 4, 4, 5, 0, 0, 6, 0, + 5, 1, 1, 1, 4, 0, 0, 5, 0, 0, + 6, 0, 2, 0, 3, 1, 0, 1, 3, 4, + 6, 0, 1, 1, 1, 2, 3, 3, 1, 3, + 1, 1, 2, 2, 3, 1, 1, 2, 4, 3, + 5, 1, 3, 2, 0, 0, 4, 2, 1, 0, + 9, 3, 1, 3, 1, 3, 0, 1, 1, 2, + 2, 2, 3, 1, 3, 1, 1, 3, 4, 3, + 0, 1, 1, 3, 1, 1, 0, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 3, 5, 1, 3, + 5, 4, 3, 1, 0, 1, 0, 4, 1, 2, + 1, 4, 3, 0, 3, 1, 1, 0, 0, 2, + 0, 4, 0, 7, 3, 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 2, 2, 2, 2, 0, 4, 0, 4, 0, + 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, + 1, 0, 5, 0, 0, 7, 0, 5, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 0, 3, 1, + 1, 1, 3, 2, 1, 0, 10, 0, 11, 2, + 2, 4, 4, 4, 4, 4, 4, 4, 3, 1, + 0, 4, 3, 4, 1, 2, 0, 3, 0, 5, + 0, 4, 0, 5, 0, 5, 0, 5, 0, 5, + 0, 3, 1, 1, 3, 2, 1, 3, 2, 1, + 1, 0, 0, 6, 1, 2, 0, 2, 0, 2, + 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 2, 3, 1, + 1, 1, 1, 3, 2, 4, 3, 1, 1, 1, + 4, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 5, 4, 3, - 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 3, 2, 1, 2, 4, 2, 11, 12, 0, - 0, 1, 0, 4, 3, 1, 1, 2, 2, 4, - 4, 2, 1, 1, 1, 1, 0, 3, 0, 1, - 1, 0, 1, 4, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 2, 3, 3, - 1, 1, 1, 3, 3, 1, 1, 0, 1, 1, - 1, 3, 1, 1, 3, 1, 1, 4, 4, 4, - 4, 1, 1, 1, 3, 1, 4, 2, 3, 3, - 1, 4, 4, 3, 3, 3, 1, 3, 1, 1, - 3, 1, 1, 0, 1, 3, 1, 3, 1, 4, - 2, 6, 4, 2, 2, 1, 2, 1, 4, 3, - 3, 3, 6, 3, 1, 1, 2, 1, 5, 4, - 2, 2, 4, 2, 2, 1, 3, 1, + 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, + 2, 2, 3, 1, 1, 3, 2, 1, 1, 1, + 1, 3, 3, 1, 0, 2, 0, 1, 5, 3, + 3, 1, 1, 1, 3, 3, 1, 1, 1, 0, + 0, 7, 1, 2, 0, 0, 4, 4, 4, 0, + 2, 1, 1, 0, 1, 2, 3, 3, 1, 4, + 0, 5, 1, 1, 1, 1, 2, 1, 4, 4, + 1, 1, 4, 0, 1, 1, 1, 4, 4, 1, + 1, 3, 1, 2, 3, 1, 1, 0, 5, 0, + 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, + 2, 2, 1, 2, 1, 0, 5, 3, 3, 6, + 3, 1, 1, 1, 4, 4, 4, 2, 2, 4, + 2, 2, 1, 0, 4, 1, 1, 3, 3, 3, + 3, } var yyChk = [...]int{ - -1000, -125, -112, -7, -9, -10, -11, -12, -13, 127, - 154, 120, 114, 161, -67, -68, 97, 96, 99, 106, - 110, 111, 115, 122, 76, 95, 90, -21, 124, 101, - 103, 163, 116, 119, 112, 86, 113, -123, 128, 129, - 130, -69, -71, -29, -34, -78, 83, -62, -63, -60, - 134, 69, 71, 58, 59, 49, 50, 55, 57, 164, - -45, -50, 60, 61, 62, 63, 64, 65, 66, 82, - 67, -52, 160, 13, 14, 16, 77, 78, -49, -59, - -54, -47, -57, -58, 70, 125, 126, 4, 5, 6, - 7, 8, 84, 85, 141, 142, 156, 138, 139, 140, - 155, 137, 149, 159, 88, 167, -8, -61, 135, 94, - -89, 157, 164, 157, -89, 161, 86, -16, -80, -105, - -89, 157, 113, 114, -17, -18, -93, -19, 86, -113, - 164, -9, 113, 154, 164, 164, -22, -21, 76, -22, - -22, -97, -35, -49, -101, 113, -36, 88, -94, -44, - -21, 163, 33, 34, 10, 12, 11, 35, 37, 36, - 51, 49, 50, 52, 68, 53, 54, 47, 48, 40, - 41, 38, 39, 43, 44, 45, 46, 42, 56, 30, - 32, 164, 164, 164, 161, -21, 86, 31, -3, 37, - 128, -78, 86, 86, 86, 73, 74, 73, 75, 74, - 17, 18, 19, 20, 29, 21, 22, 23, 24, 25, - 26, 27, 28, 58, 59, 164, 69, 161, 133, 164, - -110, -109, -73, -72, -21, 37, 134, -21, -29, -59, - 164, -58, 76, 69, -29, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -51, 164, -21, - -88, 93, -87, -65, 88, 151, 152, -21, -21, -21, - 69, 153, 153, -48, -46, -47, -64, 128, -8, -49, - 164, 164, -21, -21, 164, -21, -21, 93, 150, -87, - -87, 93, 161, -49, -85, 164, -85, 164, 157, -89, - 165, -89, 163, 161, -112, 163, -14, -105, -89, 157, - 163, 9, 157, 105, -89, -18, 163, 9, 17, -20, - 162, -9, -10, -11, -12, -13, 127, -21, 97, -3, - -95, -96, -21, -21, 163, 163, 163, 163, 9, 163, - 9, -3, 17, 163, 9, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -48, -21, 31, -21, -104, -28, -29, -21, -93, - -113, 163, 163, 86, -124, 86, -30, 131, -124, -117, - 131, 164, -9, 164, 163, 31, -21, 37, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -22, -21, -56, 86, 161, -49, -110, 166, 9, - 15, -29, 164, -21, -110, 165, -22, 160, -65, -65, - 93, 69, 133, -21, 87, -29, 15, -22, -55, -6, - -49, 161, 86, -5, -4, 76, 77, 78, 79, 80, - 81, 4, 5, 6, 7, 8, 10, 11, 12, 56, - 70, 71, 82, 83, 73, 74, 75, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 111, - 112, 113, 114, 115, 13, 14, 134, 106, 107, 108, - 109, 110, 135, 136, 131, 132, 154, 129, 130, 128, - 137, 138, 140, 139, 141, 142, 156, 155, -55, -6, - -49, -86, -85, 153, 69, 161, 133, 153, -86, -108, - -74, -21, -21, -21, 150, 150, 159, -21, 165, -111, - -33, -21, 158, -110, 86, 163, -112, 162, 163, 163, - 157, -89, -17, 157, -89, 161, 86, 157, -19, -21, - 164, 165, 164, 163, 9, 165, -35, -36, -124, -21, - -44, 31, -21, -126, 9, 105, 165, 162, -124, 164, - -30, -118, 132, -8, 161, -124, -122, -8, -21, -21, - -113, -21, 165, 166, 162, -85, -21, 165, 17, -73, - -21, 37, 134, -110, 165, 166, 165, -66, 86, 89, - 50, 88, 86, 162, 162, 69, 162, -21, 166, -85, - -21, -85, -49, -22, -21, -56, -49, -30, -126, 9, - 165, 165, 162, -126, 9, -21, 165, 162, 161, 157, - -99, -15, -18, -80, 161, -124, 165, -23, -9, 31, - -21, -95, -21, -83, 161, 31, 164, -21, 165, -28, - -81, -29, 37, 134, 69, -26, -9, 31, -91, 164, - -114, -115, -31, -32, -77, -75, 30, 135, 136, -8, - -118, -124, -122, -116, 161, 9, 165, 165, 75, -9, - 31, 162, 17, -21, -29, 164, 165, 166, 89, -21, - 162, 166, 162, -118, 165, -74, 165, -33, -98, -18, - 161, -126, 9, -18, -99, 163, -113, 165, 163, -102, - 163, -102, 163, -114, 163, 165, 15, -29, 164, -110, - -113, -27, 117, 118, -114, 165, 9, -1, 37, -75, - -124, 161, 162, -37, -120, -119, 120, -121, 123, -79, - 81, 80, 79, 76, 77, 78, -116, -8, -9, 31, - 163, -113, -21, -110, 166, -124, -126, 9, -98, 162, - -15, -126, 98, 163, -95, 162, 108, 109, -102, 107, - -102, 165, -25, -9, 31, -81, -29, -110, 166, 104, - 164, 161, 165, -107, 120, -31, -2, 158, 161, -116, - -100, -43, 88, 114, 113, -122, -79, 162, -113, 165, - 162, 161, 162, -18, -126, 162, 163, 165, -21, -127, - 31, 163, 162, 163, 107, -107, -113, 165, 165, 163, - -90, -8, -113, -76, 31, -76, 164, 88, -116, 162, - 163, 9, -124, 17, -92, -70, -6, -3, -84, 163, - 161, -116, 162, -24, -9, 31, -127, -113, 163, -76, - 102, -25, 88, 35, 162, 161, -77, 161, -106, -53, - 88, 37, 17, 162, -43, -21, 163, 9, 17, -6, - 162, -103, -38, -39, -40, -41, -42, -8, -6, 154, - 86, 162, -113, -113, 161, 163, 165, -8, -113, -113, - 165, 9, 88, -21, -124, -70, -21, -124, 162, -38, - 163, 163, 121, 105, 153, 100, -113, 161, 162, 162, - -53, -124, 164, -122, 86, -4, -79, -6, 163, 162, - -113, -114, -6, 162, 165, -76, -82, 163, 161, -113, - 162, + -1000, -1, -2, } var yyDef = [...]int{ - 79, -2, 1, 78, 85, 86, 87, 88, 89, 0, - 0, 0, 0, 122, 130, 131, 0, 0, 0, 0, - 417, 417, 417, 0, 382, 0, 142, 0, 0, 0, - 0, 148, 0, 0, 0, 80, 370, 0, 0, 0, - 0, 204, 0, -2, 416, 169, 0, -2, 433, 419, - 0, 453, 0, 0, 0, 0, 0, 0, 0, 0, - 346, 350, 0, 0, 0, 0, 0, 0, 0, 386, - 0, 360, 388, 0, 363, 0, 171, 172, 426, 411, - 431, 0, 0, -2, 0, 0, 0, 0, 0, 0, - 0, 0, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 0, 0, 435, 0, -2, 0, 0, 395, - 82, 0, 0, 0, 0, 79, 80, 0, 0, 0, - 115, 0, 99, 100, 112, 117, 0, 120, 0, 0, - 0, 0, 370, 0, 286, 0, 0, 418, 382, 0, - 0, 0, 232, 233, 0, 370, 235, 236, 0, 284, - 285, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 0, 0, 152, 369, 371, - 0, 170, 175, 369, 177, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 310, 312, 0, 417, 0, 0, 453, - 0, 452, 456, 454, 458, 0, 0, 297, -2, 0, - 0, -2, 382, 453, -2, 331, 332, 333, 334, 0, - 351, 352, 353, 354, 355, 356, 357, 358, 417, 359, - 0, 389, 390, 465, 467, 0, 0, 362, 364, 366, - 417, 0, 0, 391, 292, 384, 385, 391, 383, 440, - 0, 0, 480, 481, 0, 483, 484, 0, 407, 0, - 0, 0, 0, 437, 378, 0, 381, 453, 0, 84, - 0, 83, 91, 79, 0, 94, 0, 0, 115, 0, - 96, 0, 0, 0, 115, 118, 98, 0, 0, 121, - 129, 123, 124, 125, 126, 127, 0, 0, 0, 369, - 0, 287, 289, 0, 136, 137, 138, 139, 0, 140, - 0, 369, 0, 141, 0, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, -2, -2, -2, -2, -2, -2, -2, -2, - -2, 344, 0, 0, 349, 105, 159, -2, 0, 0, - 0, 150, 151, 369, 0, 175, 179, 0, 0, 369, - 0, 0, 205, 0, 208, 122, 295, 0, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 434, 449, 0, 451, 0, 394, 453, - 0, -2, 453, 0, 0, -2, 0, 361, 466, 463, - 464, 0, 0, 0, 0, 420, 0, 0, 0, -2, - -2, 0, 76, 77, 69, 70, 71, 72, 73, 74, - 75, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 0, -2, - -2, 291, 392, 0, 417, 0, 0, 0, 175, 105, - 485, 487, 0, 0, 406, 409, 408, 0, 225, 105, - 227, 229, 0, 0, 81, 90, 0, 93, 95, 97, - 0, 115, 111, 0, 115, 0, 116, 0, 119, 369, - 0, 0, 0, 286, 0, 0, 231, 234, 0, 237, - 283, 0, 348, 0, 106, 0, 0, 153, 0, -2, - 179, 369, 0, 176, 239, 0, 178, 244, 0, 0, - 0, 296, 0, 427, 429, 430, 0, 0, 0, 455, - 457, 0, 0, 0, -2, 394, 387, 0, 474, 475, - 0, 477, 469, 470, 471, 0, 473, 365, 428, 379, - 0, 380, 444, 0, 0, 443, 445, 179, 0, 106, - 479, 482, 436, 0, 106, 230, 393, 92, 0, 0, - 105, 108, 113, 0, 0, 282, 0, 132, 200, 122, - 0, 0, 288, 135, 195, 195, -2, 347, 0, 160, - 0, -2, 0, 0, 453, 147, 189, 122, 157, -2, - 0, 210, 212, 163, 217, 218, 0, 220, 221, 222, - 369, 0, 180, 265, 239, 0, 0, 0, 0, 202, - 122, 450, 0, 294, -2, 453, 462, 468, 476, 0, - 447, 441, 442, 369, 478, 486, 226, 228, 105, 110, - 0, 0, 106, 114, 105, 128, 0, 0, 286, 0, - 195, 0, 195, 0, 144, 0, 0, -2, 453, 0, - 0, 149, 0, 0, 0, 372, 216, 165, 164, 219, - 0, 239, 173, 238, 0, 0, 0, -2, 264, 267, - 269, 270, 271, 272, 273, 274, 265, 245, 203, 122, - 209, 206, 293, 0, 0, 0, 0, 106, 105, 103, - 107, 0, 0, 133, 0, 191, 0, 0, 0, 0, - 0, 372, 145, 187, 122, 0, -2, 0, -2, 0, - 0, 122, 223, 223, 0, 213, 0, 166, 239, 265, - 0, 276, 369, 0, 370, 0, 268, 174, 207, 461, - 472, 239, 101, 109, 0, 104, 201, 0, 0, 122, - 198, 199, 192, 193, 0, 223, 0, 0, 183, 190, - 0, 155, 0, 0, 0, 0, 0, 214, 265, 168, - 240, 0, 277, 0, 0, 280, 0, 0, 242, 246, - 0, 265, 102, 134, 185, 122, 122, 197, 194, 0, - 0, 146, 0, 0, 158, 122, 224, 122, 0, 375, - 376, 0, 0, 167, 275, 369, 241, 0, 0, 369, - 247, 0, 249, 0, 0, 259, 0, 0, 258, 57, - -2, 290, 0, 196, 122, 188, 0, 156, 0, 0, - 373, 0, 377, 215, 278, 279, 369, 0, 248, 250, - 251, 252, 0, 0, 0, 0, 0, 122, 162, 367, - 374, 281, -2, 253, 254, 255, 257, 260, 186, 368, - 0, 0, 256, 154, 223, 0, 243, 261, 122, 0, - 262, + 3, -2, 1, } var yyTok1 = [...]int{ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 55, 159, 3, 167, 54, 37, 3, - 164, 165, 52, 49, 9, 50, 51, 53, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 31, 163, - 43, 17, 45, 30, 67, 3, 3, 3, 3, 3, + 3, 3, 3, 51, 156, 3, 164, 50, 34, 3, + 161, 162, 48, 45, 9, 46, 47, 49, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 29, 160, + 39, 15, 41, 28, 63, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 69, 3, 166, 36, 3, 160, 3, 3, 3, + 3, 65, 3, 163, 33, 3, 157, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 161, 35, 162, 57, + 3, 3, 3, 158, 32, 159, 53, } var yyTok2 = [...]int{ 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, - 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 32, 33, 34, 38, - 39, 40, 41, 42, 44, 46, 47, 48, 56, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, + 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 30, 31, 35, 36, 37, 38, + 40, 42, 43, 44, 52, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, @@ -1707,7 +541,7 @@ var yyTok2 = [...]int{ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, + 151, 152, 153, 154, 155, } var yyTok3 = [...]int{ 0, @@ -2052,3711 +886,2618 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:251 + //line php5/php5.y:188 { - rootnode = stmt.NewStmtList(yyDollar[1].list) - positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + //line php5/php5.y:192 { - yyVAL.token = yyDollar[1].token - } - case 3: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 - { - yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + //line php5/php5.y:197 { - yyVAL.token = yyDollar[1].token } case 5: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:198 { - yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + //line php5/php5.y:202 { - yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + //line php5/php5.y:203 { - yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + //line php5/php5.y:204 { - yyVAL.token = yyDollar[1].token } case 9: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:205 { - yyVAL.token = yyDollar[1].token } case 10: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:206 { - yyVAL.token = yyDollar[1].token } case 11: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:207 { - yyVAL.token = yyDollar[1].token } case 12: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:208 { - yyVAL.token = yyDollar[1].token } case 13: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:209 { - yyVAL.token = yyDollar[1].token } case 14: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:210 { - yyVAL.token = yyDollar[1].token } case 15: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:211 { - yyVAL.token = yyDollar[1].token } case 16: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:212 { - yyVAL.token = yyDollar[1].token } case 17: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:213 { - yyVAL.token = yyDollar[1].token } case 18: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:214 { - yyVAL.token = yyDollar[1].token - } - case 19: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 - { - yyVAL.token = yyDollar[1].token - } - case 20: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 - { - yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + //line php5/php5.y:223 { - yyVAL.token = yyDollar[1].token } case 22: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:224 { - yyVAL.token = yyDollar[1].token } case 23: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:225 { - yyVAL.token = yyDollar[1].token } case 24: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:226 { - yyVAL.token = yyDollar[1].token - } - case 25: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 - { - yyVAL.token = yyDollar[1].token - } - case 26: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 - { - yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + //line php5/php5.y:235 { - yyVAL.token = yyDollar[1].token } case 28: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:236 { - yyVAL.token = yyDollar[1].token } case 29: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:237 { - yyVAL.token = yyDollar[1].token } case 30: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:238 { - yyVAL.token = yyDollar[1].token - } - case 31: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 - { - yyVAL.token = yyDollar[1].token - } - case 32: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 - { - yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + //line php5/php5.y:247 { - yyVAL.token = yyDollar[1].token } case 34: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:248 { - yyVAL.token = yyDollar[1].token } case 35: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:249 { - yyVAL.token = yyDollar[1].token } case 36: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:250 { - yyVAL.token = yyDollar[1].token } case 37: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:254 { - yyVAL.token = yyDollar[1].token } case 38: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:255 { - yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + //line php5/php5.y:259 { - yyVAL.token = yyDollar[1].token - } - case 40: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 - { - yyVAL.token = yyDollar[1].token - } - case 41: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 - { - yyVAL.token = yyDollar[1].token - } - case 42: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 - { - yyVAL.token = yyDollar[1].token - } - case 43: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 - { - yyVAL.token = yyDollar[1].token } case 44: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:268 { - yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + //line php5/php5.y:273 { - yyVAL.token = yyDollar[1].token } case 46: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:274 { - yyVAL.token = yyDollar[1].token - } - case 47: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 - { - yyVAL.token = yyDollar[1].token } case 48: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:279 { - yyVAL.token = yyDollar[1].token } case 49: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:279 { - yyVAL.token = yyDollar[1].token } case 50: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:279 { - yyVAL.token = yyDollar[1].token } case 51: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:280 { - yyVAL.token = yyDollar[1].token } case 52: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:262 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:280 { - yyVAL.token = yyDollar[1].token } case 53: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:280 { - yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + //line php5/php5.y:281 { - yyVAL.token = yyDollar[1].token } case 55: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:281 { - yyVAL.token = yyDollar[1].token } case 56: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:281 { - yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + //line php5/php5.y:282 { - yyVAL.token = yyDollar[1].token } case 58: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:282 { - yyVAL.token = yyDollar[1].token } case 59: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:282 { - yyVAL.token = yyDollar[1].token } case 60: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:286 { - yyVAL.token = yyDollar[1].token } case 61: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:288 { - yyVAL.token = yyDollar[1].token } case 62: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:290 { - yyVAL.token = yyDollar[1].token } case 63: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-12 : yypt+1] + //line php5/php5.y:291 { - yyVAL.token = yyDollar[1].token } case 64: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:292 { - yyVAL.token = yyDollar[1].token } case 65: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:292 { - yyVAL.token = yyDollar[1].token } case 66: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:293 { - yyVAL.token = yyDollar[1].token } case 67: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:294 { - yyVAL.token = yyDollar[1].token } case 68: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:295 { - yyVAL.token = yyDollar[1].token } case 69: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:268 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:296 { - yyVAL.token = yyDollar[1].token } case 70: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:269 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:297 { - yyVAL.token = yyDollar[1].token } case 71: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:269 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:298 { - yyVAL.token = yyDollar[1].token } case 72: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:269 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:299 { - yyVAL.token = yyDollar[1].token } case 73: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:269 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:300 { - yyVAL.token = yyDollar[1].token - } - case 74: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:269 - { - yyVAL.token = yyDollar[1].token - } - case 75: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:269 - { - yyVAL.token = yyDollar[1].token - } - case 76: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:273 - { - yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:274 + //line php5/php5.y:304 { - yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:278 + //line php5/php5.y:305 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - } - case 79: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:279 - { - yyVAL.list = []node.Node{} } case 80: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:284 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:308 { - namePart := name.NewNamePart(yyDollar[1].token.Value) - positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.list = []node.Node{namePart} - comments.AddComments(namePart, yyDollar[1].token.Comments()) } case 81: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:291 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:309 { - namePart := name.NewNamePart(yyDollar[3].token.Value) - positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.list = append(yyDollar[1].list, namePart) - comments.AddComments(namePart, yyDollar[3].token.Comments()) } case 82: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:301 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:310 { - yyVAL.node = name.NewName(yyDollar[1].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 83: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:307 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:312 { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 84: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] //line php5/php5.y:313 { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 85: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:321 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:314 { - yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:322 + //line php5/php5.y:315 { - yyVAL.node = yyDollar[1].node } case 87: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:323 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:315 { - yyVAL.node = yyDollar[1].node - } - case 88: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:324 - { - yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:325 + //line php5/php5.y:317 { - yyVAL.node = yyDollar[1].node } case 90: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:326 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:318 { - yyVAL.node = stmt.NewHaltCompiler() } case 91: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:328 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:319 { - name := name.NewName(yyDollar[2].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) - yyVAL.node = stmt.NewNamespace(name, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 92: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:338 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:320 { - name := name.NewName(yyDollar[2].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) - yyVAL.node = stmt.NewNamespace(name, yyDollar[4].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 93: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:348 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:321 { - yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 94: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:353 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:325 { - yyVAL.node = yyDollar[2].node } case 95: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:354 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:326 { - yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) } case 96: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:356 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:327 { - yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 97: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:361 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:328 { - yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } case 98: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:363 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:329 { - yyVAL.node = stmt.NewConstList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 99: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:372 + yyDollar = yyS[yypt-13 : yypt+1] + //line php5/php5.y:330 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 100: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:378 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:333 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 101: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:387 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:334 { - name := name.NewName(yyDollar[1].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 102: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:397 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:334 { - name := name.NewName(yyDollar[2].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) - yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 103: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:410 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:338 { - name := name.NewName(yyDollar[1].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 104: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:420 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:339 + { + } + case 105: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:343 + { + } + case 106: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:344 { - name := name.NewName(yyDollar[2].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) - yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:438 + //line php5/php5.y:348 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 108: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:439 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:348 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 109: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:444 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:348 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 110: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:445 - { - yyVAL.list = []node.Node{yyDollar[1].node} - } - case 111: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:449 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:450 + //line php5/php5.y:357 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:454 + //line php5/php5.y:361 { - yyVAL.node = yyDollar[1].node } case 114: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:455 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:365 { - yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } case 115: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:460 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:369 { - name := name.NewName(yyDollar[1].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - yyVAL.node = stmt.NewUse(nil, name, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 116: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:470 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:370 { - name := name.NewName(yyDollar[1].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - alias := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewUse(nil, name, alias) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) - comments.AddComments(alias, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 117: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:485 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:374 { - yyVAL.node = yyDollar[1].node } case 118: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:486 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:375 { - yyVAL.node = yyDollar[2].node } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:379 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 120: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:491 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:381 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 121: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:495 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:386 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 122: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:496 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:390 { - yyVAL.list = []node.Node{} } case 123: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:500 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:392 { - yyVAL.node = yyDollar[1].node } case 124: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:501 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:396 { - yyVAL.node = yyDollar[1].node } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:401 { - yyVAL.node = yyDollar[1].node } case 126: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:503 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:402 { - yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:403 { - yyVAL.node = yyDollar[1].node } case 128: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:506 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:404 { - yyVAL.node = stmt.NewHaltCompiler() - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 129: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:514 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:408 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 130: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:519 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:409 { - yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:413 { - yyVAL.node = yyDollar[1].node - } - case 132: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:522 - { - yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[3].node, yyDollar[5].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 133: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:528 - { - yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 134: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:534 - { - yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 135: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:540 - { - yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 136: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:546 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:427 { - yyVAL.node = stmt.NewBreak(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:552 + //line php5/php5.y:428 { - yyVAL.node = stmt.NewContinue(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 138: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:558 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:432 { - yyVAL.node = stmt.NewReturn(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 139: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:564 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:433 { - yyVAL.node = stmt.NewGlobal(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 140: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:570 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:437 { - yyVAL.node = stmt.NewStatic(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 141: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:576 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:438 { - yyVAL.node = stmt.NewEcho(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 142: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:582 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:439 { - yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 143: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:588 - { - yyVAL.node = stmt.NewExpression(yyDollar[1].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 144: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:594 - { - yyVAL.node = stmt.NewUnset(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 145: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:600 - { - yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 146: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:606 - { - yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:612 + //line php5/php5.y:439 { - yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 148: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:618 - { - yyVAL.node = stmt.NewNop() - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 149: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:624 - { - if yyDollar[6].node == nil { - yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list)) - } else { - yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) - } - - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:636 + //line php5/php5.y:461 { - yyVAL.node = stmt.NewThrow(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 151: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:642 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:462 { - label := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.node = stmt.NewGoto(label) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - - comments.AddComments(label, yyDollar[2].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 152: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:652 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:467 { - label := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewLabel(label) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) - - comments.AddComments(label, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 153: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:663 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:468 { - yyVAL.list = []node.Node{} } case 154: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:665 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:469 { - identifier := node.NewIdentifier(yyDollar[5].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[5].token)) - catch := stmt.NewCatch(yyDollar[4].list, variable, yyDollar[8].list) - positions.AddPosition(catch, positionBuilder.NewTokensPosition(yyDollar[2].token, yyDollar[9].token)) - yyVAL.list = append(yyDollar[1].list, catch) - - comments.AddComments(identifier, yyDollar[5].token.Comments()) - comments.AddComments(variable, yyDollar[5].token.Comments()) - comments.AddComments(catch, yyDollar[2].token.Comments()) } case 155: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:680 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:470 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 156: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:681 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:475 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:685 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:476 { - yyVAL.node = nil } case 158: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:687 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:476 { - yyVAL.node = stmt.NewFinally(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 159: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:695 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:477 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 160: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:696 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:477 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 161: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:700 - { - yyVAL.node = yyDollar[1].node - } - case 162: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:705 - { - name := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list, yyDollar[4].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) - - comments.AddComments(name, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 163: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:717 - { - yyVAL.boolWithToken = boolWithToken{false, nil} - } - case 164: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:718 - { - yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} - } - case 165: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:722 - { - yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:723 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:496 { - yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:728 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:496 { - name := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewClass(name, yyDollar[1].list, nil, yyDollar[4].node, yyDollar[5].list, yyDollar[8].list, yyDollar[6].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token)) - - comments.AddComments(name, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) - } - case 168: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:738 - { - name := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.node = stmt.NewClass(name, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) - - comments.AddComments(name, yyDollar[2].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 169: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:750 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:502 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 170: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:751 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - } - case 171: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:756 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 172: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:762 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 173: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:771 + //line php5/php5.y:502 { - name := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.node = stmt.NewTrait(name, yyDollar[5].list, yyDollar[3].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) - - comments.AddComments(name, yyDollar[2].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 174: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:784 - { - name := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.node = stmt.NewInterface(name, yyDollar[3].list, yyDollar[6].list, yyDollar[4].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) - - comments.AddComments(name, yyDollar[2].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 175: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:796 - { - yyVAL.node = nil - } - case 176: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:797 - { - yyVAL.node = yyDollar[2].node - } - case 177: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:801 - { - yyVAL.list = nil - } - case 178: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:802 - { - yyVAL.list = yyDollar[2].list } case 179: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:806 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:531 { - yyVAL.list = nil } case 180: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:807 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:533 { - yyVAL.list = yyDollar[2].list } case 181: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:811 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:538 { - yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:812 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:539 { - yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:814 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:540 { - list := expr.NewList(yyDollar[3].list) - positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - yyVAL.foreachVariable = foreachVariable{list, false} - comments.AddComments(list, yyDollar[1].token.Comments()) } case 184: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:821 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:541 { - list := expr.NewShortList(yyDollar[2].list) - positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - yyVAL.foreachVariable = foreachVariable{list, false} - comments.AddComments(list, yyDollar[1].token.Comments()) } case 185: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:830 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:546 { - yyVAL.node = yyDollar[1].node } case 186: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:832 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:547 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 187: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:840 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:548 { - yyVAL.node = yyDollar[1].node - } - case 188: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:842 - { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 189: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:850 - { - yyVAL.node = yyDollar[1].node } case 190: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:852 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:558 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 191: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:860 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:559 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:861 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:560 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:862 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:561 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:863 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:565 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:867 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:566 { - yyVAL.list = []node.Node{} } case 196: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:869 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:571 { - _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) - positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) - yyVAL.list = append(yyDollar[1].list, _case) - comments.AddComments(_case, yyDollar[2].token.Comments()) } case 197: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:876 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:572 + { + } + case 198: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:573 + { + } + case 199: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:578 { - _default := stmt.NewDefault(yyDollar[4].list) - positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) - yyVAL.list = append(yyDollar[1].list, _default) - comments.AddComments(_default, yyDollar[2].token.Comments()) } case 200: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:890 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:579 { - yyVAL.node = yyDollar[1].node } case 201: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:892 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:580 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 202: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:901 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:581 { - yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 203: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:907 - { - _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) - positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) - yyVAL.node = yyDollar[1].node.(*stmt.If).AddElseIf(_elseIf) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) - - comments.AddComments(_elseIf, yyDollar[2].token.Comments()) - } - case 204: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:918 - { - yyVAL.node = yyDollar[1].node } case 205: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:920 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:593 { - _else := stmt.NewElse(yyDollar[3].node) - positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) - yyVAL.node = yyDollar[1].node.(*stmt.If).SetElse(_else) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - - comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) - } - case 206: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:932 - { - stmts := stmt.NewStmtList(yyDollar[6].list) - positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) - yyVAL.node = stmt.NewAltIf(yyDollar[3].node, stmts) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list)) - - comments.AddComments(stmts, yyDollar[5].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 207: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:942 - { - stmts := stmt.NewStmtList(yyDollar[7].list) - positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) - _elseIf := stmt.NewAltElseIf(yyDollar[4].node, stmts) - positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list)) - yyVAL.node = yyDollar[1].node.(*stmt.AltIf).AddElseIf(_elseIf) - - comments.AddComments(stmts, yyDollar[6].token.Comments()) - comments.AddComments(_elseIf, yyDollar[2].token.Comments()) - } - case 208: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:956 - { - yyVAL.node = yyDollar[1].node - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 209: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:961 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:596 { - stmts := stmt.NewStmtList(yyDollar[4].list) - positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) - _else := stmt.NewAltElse(stmts) - positions.AddPosition(_else, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) - yyVAL.node = yyDollar[1].node.(*stmt.AltIf).SetElse(_else) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token)) - - comments.AddComments(stmts, yyDollar[3].token.Comments()) - comments.AddComments(_else, yyDollar[2].token.Comments()) } case 210: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:975 + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:598 { - yyVAL.list = yyDollar[1].list - } - case 211: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:976 - { - yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:606 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:607 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 214: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:986 - { - identifier := node.NewIdentifier(yyDollar[4].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) - - comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) - - if yyDollar[1].node != nil { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } else if yyDollar[2].boolWithToken.value == true { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[2].boolWithToken.token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) - } else if yyDollar[3].boolWithToken.value == true { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[3].boolWithToken.token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) - } else { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) - } - } - case 215: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1014 - { - identifier := node.NewIdentifier(yyDollar[4].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) - - comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) - - if yyDollar[1].node != nil { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } else if yyDollar[2].boolWithToken.value == true { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[2].boolWithToken.token, yyDollar[6].node)) - comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) - } else if yyDollar[3].boolWithToken.value == true { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[3].boolWithToken.token, yyDollar[6].node)) - comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) - } else { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node)) - comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) - } - } - case 216: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1044 - { - yyVAL.node = nil - } - case 217: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1045 - { - yyVAL.node = yyDollar[1].node - } - case 218: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1049 - { - yyVAL.node = yyDollar[1].node - } - case 219: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1051 - { - yyVAL.node = node.NewNullable(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 220: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1060 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 221: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1066 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 222: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1071 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:631 { - yyVAL.node = yyDollar[1].node } case 223: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1075 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:635 { - yyVAL.node = nil } case 224: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1076 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:636 { - yyVAL.node = yyDollar[2].node } case 225: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1080 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:640 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1081 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:641 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1085 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:645 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 228: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:649 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1091 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:650 { - yyVAL.node = node.NewArgument(yyDollar[1].node, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 230: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1097 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:654 { - yyVAL.node = node.NewArgument(yyDollar[2].node, true) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 231: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1105 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:655 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:659 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 233: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1110 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:660 { - yyVAL.node = yyDollar[1].node } case 234: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1114 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:664 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:665 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 236: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1120 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:669 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewStaticVar(variable, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 237: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1133 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:670 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewStaticVar(variable, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 238: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1148 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:674 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1149 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:675 { - yyVAL.list = []node.Node{} } case 240: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1154 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:679 { - yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 241: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1160 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:680 { - yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 242: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1166 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:681 { - yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 243: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1172 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:682 { - name := node.NewIdentifier(yyDollar[4].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) - yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[7].list, yyDollar[9].node, yyDollar[10].nodesWithEndToken.nodes, yyDollar[5].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[10].nodesWithEndToken.endToken)) - - comments.AddComments(name, yyDollar[4].token.Comments()) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1184 + //line php5/php5.y:683 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 245: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1185 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:684 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1189 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:688 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1190 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:689 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1191 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:690 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1195 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:691 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 250: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1196 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:695 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1200 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:696 { - yyVAL.node = yyDollar[1].node } case 252: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1201 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:700 { - yyVAL.node = yyDollar[1].node } case 253: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1206 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:701 { - name := name.NewName(yyDollar[3].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) - yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, name) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[3].list)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 254: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1219 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:706 { - alias := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(alias, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 255: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1229 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:707 { - alias := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(alias, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 256: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1239 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:711 { - alias := node.NewIdentifier(yyDollar[4].token.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) - yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, alias) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - - comments.AddComments(alias, yyDollar[4].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 257: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1249 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:711 { - yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:712 { - name := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewTraitMethodRef(nil, name) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - - comments.AddComments(name, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 259: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1267 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:716 { - yyVAL.node = yyDollar[1].node } case 260: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1272 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:717 { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewTraitMethodRef(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 261: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1284 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:721 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1285 + //line php5/php5.y:722 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1289 + //line php5/php5.y:726 { - yyVAL.list = yyDollar[1].list } case 264: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1291 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:726 { - modifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.list = []node.Node{modifier} - comments.AddComments(modifier, yyDollar[1].token.Comments()) } case 265: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1300 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:727 { - yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1301 + //line php5/php5.y:728 { - yyVAL.list = yyDollar[1].list } case 267: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1305 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:732 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 268: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1306 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:733 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1311 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:734 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 270: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1317 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:738 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 271: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1323 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:738 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 272: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1329 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:742 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 273: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1335 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:742 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 274: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1341 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:743 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 275: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1349 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:744 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1350 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:745 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 277: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1355 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:745 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewProperty(variable, nil, yyDollar[2].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 278: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1368 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:746 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewProperty(variable, yyDollar[3].node, yyDollar[4].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:747 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1384 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:748 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 281: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1389 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:749 { - name := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) - - comments.AddComments(name, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 282: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1402 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:750 { - name := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) - - comments.AddComments(name, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1414 + //line php5/php5.y:751 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1415 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:752 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 285: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1419 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:753 { - yyVAL.node = yyDollar[1].node } case 286: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1423 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:754 { - yyVAL.list = nil } case 287: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1424 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:755 { - yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1427 + //line php5/php5.y:756 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1428 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:757 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 290: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1433 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:758 { - if yyDollar[2].nodesWithEndToken != nil { - yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) - } else { - yyVAL.node = stmt.NewClass(nil, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) - } - - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 291: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1448 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:759 { - if yyDollar[3].nodesWithEndToken != nil { - yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) - } else { - yyVAL.node = expr.NewNew(yyDollar[2].node, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - } - - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1459 + //line php5/php5.y:760 { - yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1464 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:761 { - list := expr.NewList(yyDollar[3].list) - positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - yyVAL.node = assign_op.NewAssign(list, yyDollar[6].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) - - comments.AddComments(list, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 294: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1474 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:762 { - shortList := expr.NewShortList(yyDollar[2].list) - positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - yyVAL.node = assign_op.NewAssign(shortList, yyDollar[5].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) - - comments.AddComments(shortList, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 295: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1484 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:763 { - yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1490 + //line php5/php5.y:763 { - yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:764 { - yyVAL.node = expr.NewClone(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 298: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1502 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:764 { - yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 299: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1508 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:765 { - yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 300: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1514 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:765 { - yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 301: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1520 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:766 { - yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 302: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1526 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:766 { - yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1532 + //line php5/php5.y:767 { - yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1538 + //line php5/php5.y:768 { - yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1544 + //line php5/php5.y:769 { - yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1550 + //line php5/php5.y:770 { - yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:771 { - yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1562 + //line php5/php5.y:772 { - yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1568 + //line php5/php5.y:773 { - yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 310: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1574 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:774 { - yyVAL.node = expr.NewPostInc(yyDollar[1].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 311: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1580 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:775 { - yyVAL.node = expr.NewPreInc(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 312: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1586 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:776 { - yyVAL.node = expr.NewPostDec(yyDollar[1].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 313: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1592 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:777 { - yyVAL.node = expr.NewPreDec(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1598 + //line php5/php5.y:778 { - yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1604 + //line php5/php5.y:779 { - yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 316: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1610 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:780 { - yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 317: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1616 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:781 { - yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 318: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1622 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:782 { - yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 319: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1628 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:783 { - yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1634 + //line php5/php5.y:784 { - yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1640 + //line php5/php5.y:785 { - yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1646 + //line php5/php5.y:786 { - yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:787 { - yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1658 + //line php5/php5.y:788 { - yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1664 + //line php5/php5.y:789 { - yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1670 + //line php5/php5.y:790 { - yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1676 + //line php5/php5.y:791 { - yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1682 + //line php5/php5.y:792 { - yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 329: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1688 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:793 { - yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 330: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1694 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:794 { - yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 331: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1700 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:795 { - yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 332: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1706 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:795 { - yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1712 + //line php5/php5.y:796 { - yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 334: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1718 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:797 { - yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 335: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1724 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:798 { - yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1730 + //line php5/php5.y:799 { - yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 337: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1736 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:800 { - yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 338: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1742 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:801 { - yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 339: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1748 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:802 { - yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 340: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1754 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:803 { - yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 341: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1760 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:804 { - yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 342: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1766 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:805 { - yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 343: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1772 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:806 { - yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 344: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1778 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:807 { - yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 345: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1783 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:808 { - yyVAL.node = yyDollar[2].node } case 346: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1784 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:809 { - yyVAL.node = yyDollar[1].node } case 347: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1786 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:810 { - yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 348: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1792 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:810 { - yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 349: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1798 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:811 { - yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1803 + //line php5/php5.y:812 { - yyVAL.node = yyDollar[1].node } case 351: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1805 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:813 { - yyVAL.node = cast.NewCastInt(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 352: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1811 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:814 { - yyVAL.node = cast.NewCastDouble(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1817 + //line php5/php5.y:815 { - yyVAL.node = cast.NewCastString(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 354: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1823 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:816 { - yyVAL.node = cast.NewCastArray(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1829 + //line php5/php5.y:817 { - yyVAL.node = cast.NewCastObject(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 356: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1835 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:819 { - yyVAL.node = cast.NewCastBool(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 357: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1841 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:820 { - yyVAL.node = cast.NewCastUnset(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 358: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1847 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:822 { - yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1853 + //line php5/php5.y:826 { - yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 360: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1858 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:827 { - yyVAL.node = yyDollar[1].node } case 361: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1860 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:828 { - yyVAL.node = expr.NewShellExec(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 362: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1866 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:829 { - yyVAL.node = expr.NewPrint(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 363: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1872 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:833 { - yyVAL.node = expr.NewYield(nil, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 364: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1878 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:834 { - yyVAL.node = expr.NewYield(nil, yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1884 + //line php5/php5.y:835 { - yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 366: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1890 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:836 { - yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 367: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1896 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:840 { - yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) - - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 368: - yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:1903 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:841 { - yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) - - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 369: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1912 - { - yyVAL.str = yylex.(*lexer).PhpDocComment - yylex.(*lexer).PhpDocComment = "" - } - case 370: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1916 - { - yyVAL.boolWithToken = boolWithToken{false, nil} - } - case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1917 + //line php5/php5.y:845 { - yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 372: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1921 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:854 { - yyVAL.list = []node.Node{} } case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1922 + //line php5/php5.y:855 { - yyVAL.list = yyDollar[3].list } case 374: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1926 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:856 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 375: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1927 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:857 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1932 + //line php5/php5.y:861 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = expr.NewClusureUse(variable, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 377: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1945 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:862 { - identifier := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.node = expr.NewClusureUse(variable, true) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) - - comments.AddComments(identifier, yyDollar[2].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 378: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1961 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:863 { - yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 379: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1967 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:864 { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 380: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1973 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:865 { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 381: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1979 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:866 { - yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 382: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1988 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:867 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 383: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1993 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:868 { - yyVAL.node = yyDollar[1].node } case 384: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1997 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:869 { - yyVAL.node = yyDollar[1].node } case 385: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1998 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:870 { - yyVAL.node = yyDollar[1].node } case 386: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2002 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:871 { - yyVAL.node = nil } case 387: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2003 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:872 { - yyVAL.node = yyDollar[2].node } case 388: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2007 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:873 { - yyVAL.list = []node.Node{} } case 389: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2008 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:874 { - yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2009 + //line php5/php5.y:875 { - yyVAL.list = yyDollar[1].list } case 391: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2013 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:876 { - yyVAL.nodesWithEndToken = nil } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2014 + //line php5/php5.y:880 { - yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 393: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2019 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:881 { - yyVAL.node = expr.NewArray(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2025 + //line php5/php5.y:882 { - yyVAL.node = expr.NewShortArray(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 395: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2031 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:883 { - yyVAL.node = scalar.NewString(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2040 + //line php5/php5.y:887 { - yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 397: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2046 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:888 { - yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 398: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2052 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:889 { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2058 + //line php5/php5.y:895 { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2064 + //line php5/php5.y:896 { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 401: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2070 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:901 { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 402: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2076 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:902 { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 403: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2082 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:903 { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2088 + //line php5/php5.y:904 { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 405: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2094 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 406: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2100 - { - yyVAL.node = scalar.NewString(yyDollar[2].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2105 + //line php5/php5.y:915 { - yyVAL.node = scalar.NewEncapsed(nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 408: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2111 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:919 { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 409: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2117 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:920 { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2122 + //line php5/php5.y:921 { - yyVAL.node = yyDollar[1].node } case 411: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2123 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:925 { - yyVAL.node = yyDollar[1].node } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2128 + //line php5/php5.y:926 { - yyVAL.node = expr.NewConstFetch(yyDollar[1].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 413: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2134 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:927 { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 414: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2144 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:932 { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2156 + //line php5/php5.y:933 { - yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2157 + //line php5/php5.y:938 { - yyVAL.node = yyDollar[1].node } case 417: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2161 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:939 { - yyVAL.node = nil } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2162 + //line php5/php5.y:940 { - yyVAL.node = yyDollar[1].node } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2166 + //line php5/php5.y:941 { - yyVAL.node = yyDollar[1].node } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2170 + //line php5/php5.y:942 { - yyVAL.node = yyDollar[1].node } case 421: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2171 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:943 { - yyVAL.node = yyDollar[2].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2172 + //line php5/php5.y:944 { - yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2176 + //line php5/php5.y:945 { - yyVAL.node = yyDollar[1].node } case 424: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2177 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:946 { - yyVAL.node = yyDollar[2].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2178 + //line php5/php5.y:947 { - yyVAL.node = yyDollar[1].node } case 426: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2182 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:948 { - yyVAL.node = yyDollar[1].node } case 427: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2184 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:949 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 428: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2190 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:953 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 429: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2196 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:957 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 430: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2202 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:961 { - yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2207 + //line php5/php5.y:962 { - yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2211 + //line php5/php5.y:963 { - yyVAL.node = yyDollar[1].node } case 433: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2212 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:964 { - yyVAL.node = yyDollar[1].node } case 434: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2214 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:965 { - yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 435: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2223 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:966 { - name := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = expr.NewVariable(name) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - - comments.AddComments(name, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 436: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2233 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:967 { - yyVAL.node = expr.NewVariable(yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 437: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2239 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:968 { - yyVAL.node = expr.NewVariable(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 438: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2248 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:969 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 439: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2254 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:970 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 440: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2262 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:974 { - yyVAL.node = yyDollar[1].node } case 441: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2264 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:975 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 442: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2270 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:976 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2276 + //line php5/php5.y:977 { - yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2282 + //line php5/php5.y:978 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2288 + //line php5/php5.y:979 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 446: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2297 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:980 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 447: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2302 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:981 { - yyVAL.node = yyDollar[2].node } case 448: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2303 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:982 { - yyVAL.node = yyDollar[1].node } case 449: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2308 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:983 { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2313 + //line php5/php5.y:984 { - yyVAL.node = yyDollar[2].node } case 451: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2314 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:985 { - yyVAL.node = yyDollar[1].node } case 452: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2319 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:986 { - if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { - yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] - } else { - yyVAL.list = yyDollar[1].list - } } case 453: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2329 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:987 { - yyVAL.node = nil } case 454: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2330 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:988 { - yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2335 + //line php5/php5.y:989 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 456: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2336 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:990 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2341 + //line php5/php5.y:991 { - yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 458: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2347 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:992 { - yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 459: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2353 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:993 { - yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 460: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2359 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:994 { - yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 461: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2365 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:995 { - // TODO: Cannot use list() as standalone expression - list := expr.NewList(yyDollar[5].list) - positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[3].token, yyDollar[6].token)) - yyVAL.node = expr.NewArrayItem(yyDollar[1].node, list, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token)) - - comments.AddComments(list, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 462: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2376 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:996 { - // TODO: Cannot use list() as standalone expression - list := expr.NewList(yyDollar[3].list) - positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - yyVAL.node = expr.NewArrayItem(nil, list, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - - comments.AddComments(list, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 463: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2389 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:997 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 464: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2391 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:998 { - encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) - positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.list = append(yyDollar[1].list, encapsed) - comments.AddComments(encapsed, yyDollar[2].token.Comments()) } case 465: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2397 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:999 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 466: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2399 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1000 { - encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) - positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.list = []node.Node{encapsed, yyDollar[2].node} - comments.AddComments(encapsed, yyDollar[1].token.Comments()) } case 467: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2409 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1001 { - name := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = expr.NewVariable(name) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - - comments.AddComments(name, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2419 + //line php5/php5.y:1002 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 469: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2432 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1003 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) - fetch := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(fetch, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewPropertyFetch(variable, fetch) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(fetch, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 470: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2448 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1004 { - yyVAL.node = expr.NewVariable(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 471: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2454 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1005 { - name := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.node = expr.NewVariable(name) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - - comments.AddComments(name, yyDollar[2].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 472: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2464 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1006 { - identifier := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) - yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[4].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) - - comments.AddComments(identifier, yyDollar[2].token.Comments()) - comments.AddComments(variable, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 473: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2477 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1010 { - yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2481 + //line php5/php5.y:1011 { - yyVAL.node = scalar.NewString(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 475: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2487 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1012 { - // TODO: add option to handle 64 bit integer - if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { - yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - } else { - yyVAL.node = scalar.NewString(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - } - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2499 + //line php5/php5.y:1013 { - // TODO: add option to handle 64 bit integer - if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { - lnumber := scalar.NewLnumber(yyDollar[2].token.Value) - positions.AddPosition(lnumber, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) - yyVAL.node = expr.NewUnaryMinus(lnumber) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) - - comments.AddComments(lnumber, yyDollar[1].token.Comments()) - } else { - yyDollar[2].token.Value = "-" + yyDollar[2].token.Value - yyVAL.node = scalar.NewString(yyDollar[2].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) - } - - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2517 + //line php5/php5.y:1017 { - identifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = expr.NewVariable(identifier) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - - comments.AddComments(identifier, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 478: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2530 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1018 { - yyVAL.node = expr.NewIsset(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 479: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2536 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1019 { - yyVAL.node = expr.NewEmpty(yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 480: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2542 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1020 { - yyVAL.node = expr.NewInclude(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 481: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2548 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1021 { - yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 482: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2554 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1022 { - yyVAL.node = expr.NewEval(yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 483: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2560 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1023 { - yyVAL.node = expr.NewRequire(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 484: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2566 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1027 { - yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 485: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2574 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1028 { - yyVAL.list = []node.Node{yyDollar[1].node} } - case 486: + case 488: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1037 + { + } + case 489: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2575 + //line php5/php5.y:1038 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 487: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2579 + case 490: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1039 + { + } + case 491: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1040 + { + } + case 492: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1044 + { + } + case 493: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1045 + { + } + case 494: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1049 + { + } + case 495: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1050 + { + } + case 496: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1055 + { + } + case 497: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1060 + { + } + case 498: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1064 + { + } + case 499: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1068 + { + } + case 500: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1069 + { + } + case 501: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1070 + { + } + case 502: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1071 + { + } + case 503: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1075 + { + } + case 504: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1076 + { + } + case 505: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1081 + { + } + case 506: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1081 + { + } + case 507: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1085 + { + } + case 508: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1086 + { + } + case 509: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1090 + { + } + case 510: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1091 + { + } + case 511: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1095 + { + } + case 512: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1096 + { + } + case 513: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1097 + { + } + case 514: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1101 + { + } + case 515: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1102 + { + } + case 516: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1106 + { + } + case 517: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1107 + { + } + case 518: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1112 + { + } + case 519: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1116 + { + } + case 520: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1117 + { + } + case 521: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1118 + { + } + case 522: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1122 + { + } + case 523: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1123 + { + } + case 524: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1124 + { + } + case 525: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1129 + { + } + case 526: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1130 + { + } + case 527: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1131 + { + } + case 528: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1135 + { + } + case 529: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1136 + { + } + case 530: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1137 + { + } + case 531: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1142 + { + } + case 532: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1143 + { + } + case 533: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1147 + { + } + case 534: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1148 + { + } + case 535: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1153 + { + } + case 536: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1154 + { + } + case 537: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1158 + { + } + case 538: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1159 + { + } + case 539: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1160 + { + } + case 540: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1164 + { + } + case 541: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1165 + { + } + case 542: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1169 + { + } + case 543: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1170 + { + } + case 546: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1180 + { + } + case 547: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1181 + { + } + case 548: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1181 + { + } + case 549: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1182 + { + } + case 550: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1187 + { + } + case 551: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1188 + { + } + case 552: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1192 + { + } + case 553: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1193 + { + } + case 554: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1194 + { + } + case 555: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1195 + { + } + case 556: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1196 + { + } + case 557: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1197 + { + } + case 558: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1198 + { + } + case 559: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1199 + { + } + case 560: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1203 + { + } + case 561: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1204 + { + } + case 562: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1205 + { + } + case 563: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1206 + { + } + case 564: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1212 + { + } + case 565: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1213 + { + } + case 566: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1213 + { + } + case 567: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1214 + { + } + case 568: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1215 + { + } + case 569: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1216 + { + } + case 570: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1217 + { + } + case 571: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1222 + { + } + case 572: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1223 + { + } + case 573: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1224 + { + } + case 574: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1229 + { + } + case 575: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1230 + { + } + case 576: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1231 + { + } + case 577: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1232 + { + } + case 578: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1233 + { + } + case 579: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1234 + { + } + case 580: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1235 + { + } + case 581: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1236 + { + } + case 582: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1240 + { + } + case 583: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1241 + { + } + case 584: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1241 + { + } + case 585: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1245 + { + } + case 586: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1246 + { + } + case 587: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1250 + { + } + case 588: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1251 + { + } + case 589: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1255 + { + } + case 590: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1259 { - yyVAL.node = yyDollar[1].node } } goto yystack /* stack new state and value */ diff --git a/php5/php5.y b/php5/php5.y index 51fe9cd..a6335f2 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -2,30 +2,24 @@ package php5 import ( - "strings" - "strconv" +// "strings" +// "strconv" "github.com/z7zmey/php-parser/token" - "github.com/z7zmey/php-parser/node" - "github.com/z7zmey/php-parser/node/scalar" - "github.com/z7zmey/php-parser/node/name" - "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/node/expr" - "github.com/z7zmey/php-parser/node/expr/assign_op" - "github.com/z7zmey/php-parser/node/expr/binary_op" - "github.com/z7zmey/php-parser/node/expr/cast" +// "github.com/z7zmey/php-parser/node" +// "github.com/z7zmey/php-parser/node/scalar" +// "github.com/z7zmey/php-parser/node/name" +// "github.com/z7zmey/php-parser/node/stmt" +// "github.com/z7zmey/php-parser/node/expr" +// "github.com/z7zmey/php-parser/node/expr/assign_op" +// "github.com/z7zmey/php-parser/node/expr/binary_op" +// "github.com/z7zmey/php-parser/node/expr/cast" ) %} %union{ - node node.Node token token.Token - boolWithToken boolWithToken - list []node.Node - foreachVariable foreachVariable - nodesWithEndToken *nodesWithEndToken - str string } %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE @@ -35,17 +29,14 @@ import ( %left T_LOGICAL_AND %right T_PRINT %right T_YIELD -%right T_DOUBLE_ARROW -%right T_YIELD_FROM %left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL %left '?' ':' -%right T_COALESCE %left T_BOOLEAN_OR -%left T_BOOLEAN_AND +%left T_BOOLEAN_AND %left '|' %left '^' %left '&' -%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP +%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL %nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL %left T_SL T_SR %left '+' '-' '.' @@ -56,10 +47,9 @@ import ( %right T_POW %right '[' %nonassoc T_NEW T_CLONE -%left T_NOELSE %left T_ELSEIF -%left T_ELSE -%left T_ENDIF +%left T_ELSE +%left T_ENDIF %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC %type $unk @@ -192,2394 +182,1081 @@ import ( %token '@' %token '$' -%type is_reference is_variadic returns_ref - -%type reserved_non_modifiers -%type semi_reserved -%type identifier - -%type top_statement name statement function_declaration_statement -%type class_declaration_statement trait_declaration_statement -%type interface_declaration_statement -%type group_use_declaration inline_use_declaration -%type mixed_group_use_declaration use_declaration unprefixed_use_declaration -%type const_decl inner_statement -%type expr optional_expr while_statement for_statement -%type foreach_statement declare_statement finally_statement unset_variable variable -%type extends_from parameter optional_type argument expr_without_variable global_var -%type static_var class_statement trait_adaptation trait_precedence trait_alias -%type absolute_trait_method_reference trait_method_reference property echo_expr -%type new_expr anonymous_class class_name class_name_reference simple_variable -%type internal_functions_in_yacc -%type exit_expr scalar lexical_var function_call member_name property_name -%type variable_class_name dereferencable_scalar constant dereferencable -%type callable_expr callable_variable static_member new_variable -%type encaps_var encaps_var_offset -%type if_stmt -%type alt_if_stmt -%type if_stmt_without_else -%type class_const_decl -%type alt_if_stmt_without_else -%type array_pair possible_array_pair -%type isset_variable type return_type type_expr -%type class_modifier - -%type member_modifier -%type use_type -%type foreach_variable - -%type method_body switch_case_list trait_adaptations argument_list ctor_arguments - -%type encaps_list backticks_expr namespace_name catch_name_list catch_list class_const_list -%type const_list echo_expr_list for_exprs non_empty_for_exprs global_var_list -%type unprefixed_use_declarations inline_use_declarations property_list static_var_list -%type case_list trait_adaptation_list unset_variables -%type use_declarations lexical_var_list lexical_vars isset_variables non_empty_array_pair_list -%type array_pair_list non_empty_argument_list top_statement_list -%type inner_statement_list parameter_list non_empty_parameter_list class_statement_list -%type interface_extends_list implements_list method_modifiers variable_modifiers -%type non_empty_member_modifiers name_list class_modifiers - -%type backup_doc_comment - %% -///////////////////////////////////////////////////////////////////////// - start: - top_statement_list - { - rootnode = stmt.NewStmtList($1) - positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition($1)) - } -; - -reserved_non_modifiers: - T_INCLUDE {$$=$1} | T_INCLUDE_ONCE {$$=$1} | T_EVAL {$$=$1} | T_REQUIRE {$$=$1} | T_REQUIRE_ONCE {$$=$1} | T_LOGICAL_OR {$$=$1} | T_LOGICAL_XOR {$$=$1} | T_LOGICAL_AND {$$=$1} - | T_INSTANCEOF {$$=$1} | T_NEW {$$=$1} | T_CLONE {$$=$1} | T_EXIT {$$=$1} | T_IF {$$=$1} | T_ELSEIF {$$=$1} | T_ELSE {$$=$1} | T_ENDIF {$$=$1} | T_ECHO {$$=$1} | T_DO {$$=$1} | T_WHILE {$$=$1} | T_ENDWHILE {$$=$1} - | T_FOR {$$=$1} | T_ENDFOR {$$=$1} | T_FOREACH {$$=$1} | T_ENDFOREACH {$$=$1} | T_DECLARE {$$=$1} | T_ENDDECLARE {$$=$1} | T_AS {$$=$1} | T_TRY {$$=$1} | T_CATCH {$$=$1} | T_FINALLY {$$=$1} - | T_THROW {$$=$1} | T_USE {$$=$1} | T_INSTEADOF {$$=$1} | T_GLOBAL {$$=$1} | T_VAR {$$=$1} | T_UNSET {$$=$1} | T_ISSET {$$=$1} | T_EMPTY {$$=$1} | T_CONTINUE {$$=$1} | T_GOTO {$$=$1} - | T_FUNCTION {$$=$1} | T_CONST {$$=$1} | T_RETURN {$$=$1} | T_PRINT {$$=$1} | T_YIELD {$$=$1} | T_LIST {$$=$1} | T_SWITCH {$$=$1} | T_ENDSWITCH {$$=$1} | T_CASE {$$=$1} | T_DEFAULT {$$=$1} | T_BREAK {$$=$1} - | T_ARRAY {$$=$1} | T_CALLABLE {$$=$1} | T_EXTENDS {$$=$1} | T_IMPLEMENTS {$$=$1} | T_NAMESPACE {$$=$1} | T_TRAIT {$$=$1} | T_INTERFACE {$$=$1} | T_CLASS {$$=$1} - | T_CLASS_C {$$=$1} | T_TRAIT_C {$$=$1} | T_FUNC_C {$$=$1} | T_METHOD_C {$$=$1} | T_LINE {$$=$1} | T_FILE {$$=$1} | T_DIR {$$=$1} | T_NS_C {$$=$1} -; - -semi_reserved: - reserved_non_modifiers {$$=$1} - | T_STATIC {$$=$1} | T_ABSTRACT {$$=$1} | T_FINAL {$$=$1} | T_PRIVATE {$$=$1} | T_PROTECTED {$$=$1} | T_PUBLIC {$$=$1} -; - -identifier: - T_STRING { $$ = $1 } - | semi_reserved { $$ = $1 } + top_statement_list { } ; top_statement_list: - top_statement_list top_statement { $$ = append($1, $2) } - | /* empty */ { $$ = []node.Node{} } + top_statement_list { } + | /* empty */ ; namespace_name: - T_STRING - { - namePart := name.NewNamePart($1.Value) - positions.AddPosition(namePart, positionBuilder.NewTokenPosition($1)) - $$ = []node.Node{namePart} - comments.AddComments(namePart, $1.Comments()) - } - | namespace_name T_NS_SEPARATOR T_STRING - { - namePart := name.NewNamePart($3.Value) - positions.AddPosition(namePart, positionBuilder.NewTokenPosition($3)) - $$ = append($1, namePart) - comments.AddComments(namePart, $3.Comments()) - } -; - -name: - namespace_name - { - $$ = name.NewName($1) - positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } - | T_NAMESPACE T_NS_SEPARATOR namespace_name - { - $$ = name.NewRelative($3) - positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_NS_SEPARATOR namespace_name - { - $$ = name.NewFullyQualified($2) - positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } + T_STRING { } + | namespace_name T_NS_SEPARATOR T_STRING { } ; top_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | trait_declaration_statement { $$ = $1; } - | interface_declaration_statement { $$ = $1; } - | T_HALT_COMPILER '(' ')' ';' { $$ = stmt.NewHaltCompiler() } - | T_NAMESPACE namespace_name ';' - { - name := name.NewName($2) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewNamespace(name, nil) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - - comments.AddComments(name, ListGetFirstNodeComments($2)) - comments.AddComments($$, $1.Comments()) - } - | T_NAMESPACE namespace_name '{' top_statement_list '}' - { - name := name.NewName($2) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewNamespace(name, $4) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) - - comments.AddComments(name, ListGetFirstNodeComments($2)) - comments.AddComments($$, $1.Comments()) - } - | T_NAMESPACE '{' top_statement_list '}' - { - $$ = stmt.NewNamespace(nil, $3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } - | T_USE mixed_group_use_declaration ';' { $$ = $2 } - | T_USE use_type group_use_declaration ';' { $$ = $3.(*stmt.GroupUse).SetUseType($2) } - | T_USE use_declarations ';' - { - $$ = stmt.NewUseList(nil, $2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_USE use_type use_declarations ';' { $$ = stmt.NewUseList($2, $3) } - | T_CONST const_list ';' - { - $$ = stmt.NewConstList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } -; - -use_type: - T_FUNCTION - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_CONST - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } -; - -group_use_declaration: - namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations possible_comma '}' - { - name := name.NewName($1) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) - $$ = stmt.NewGroupUse(nil, name, $4) - positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $6)) - - comments.AddComments(name, ListGetFirstNodeComments($1)) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } - | T_NS_SEPARATOR namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations possible_comma '}' - { - name := name.NewName($2) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewGroupUse(nil, name, $5) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) - - comments.AddComments(name, ListGetFirstNodeComments($2)) - comments.AddComments($$, $1.Comments()) - } -; - -mixed_group_use_declaration: - namespace_name T_NS_SEPARATOR '{' inline_use_declarations possible_comma '}' - { - name := name.NewName($1) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) - $$ = stmt.NewGroupUse(nil, name, $4) - positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $6)) - - comments.AddComments(name, ListGetFirstNodeComments($1)) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } - | T_NS_SEPARATOR namespace_name T_NS_SEPARATOR '{' inline_use_declarations possible_comma '}' - { - name := name.NewName($2) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewGroupUse(nil, name, $5) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) - - comments.AddComments(name, ListGetFirstNodeComments($2)) - comments.AddComments($$, $1.Comments()) - } -; - -possible_comma: - /* empty */ - | ',' -; - -inline_use_declarations: - inline_use_declarations ',' inline_use_declaration - { $$ = append($1, $3) } - | inline_use_declaration { $$ = []node.Node{$1} } -; - -unprefixed_use_declarations: - unprefixed_use_declarations ',' unprefixed_use_declaration - { $$ = append($1, $3) } - | unprefixed_use_declaration { $$ = []node.Node{$1} } + statement { } + | function_declaration_statement { } + | class_declaration_statement { } + | T_HALT_COMPILER '(' ')' ';' { } + | T_NAMESPACE namespace_name ';' { } + | T_NAMESPACE namespace_name '{' { } + top_statement_list '}' { } + | T_NAMESPACE '{' { } + top_statement_list '}' { } + | T_USE use_declarations ';' { } + | T_USE T_FUNCTION use_function_declarations ';' { } + | T_USE T_CONST use_const_declarations ';' { } + | constant_declaration ';' { } ; use_declarations: - use_declarations ',' use_declaration { $$ = append($1, $3) } - | use_declaration { $$ = []node.Node{$1} } -; - -inline_use_declaration: - unprefixed_use_declaration { $$ = $1; } - | use_type unprefixed_use_declaration { $$ = $2.(*stmt.Use).SetUseType($1) } -; - -unprefixed_use_declaration: - namespace_name - { - name := name.NewName($1) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) - $$ = stmt.NewUse(nil, name, nil) - positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) - - comments.AddComments(name, ListGetFirstNodeComments($1)) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } - | namespace_name T_AS T_STRING - { - name := name.NewName($1) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) - alias := node.NewIdentifier($3.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewUse(nil, name, alias) - positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) - - comments.AddComments(name, ListGetFirstNodeComments($1)) - comments.AddComments(alias, $3.Comments()) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } + use_declarations ',' use_declaration + | use_declaration ; use_declaration: - unprefixed_use_declaration { $$ = $1; } - | T_NS_SEPARATOR unprefixed_use_declaration { $$ = $2; } + namespace_name { } + | namespace_name T_AS T_STRING { } + | T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name T_AS T_STRING { } ; -const_list: - const_list ',' const_decl { $$ = append($1, $3) } - | const_decl { $$ = []node.Node{$1} } +use_function_declarations: + use_function_declarations ',' use_function_declaration + | use_function_declaration +; + +use_function_declaration: + namespace_name { } + | namespace_name T_AS T_STRING { } + | T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name T_AS T_STRING { } +; + +use_const_declarations: + use_const_declarations ',' use_const_declaration + | use_const_declaration +; + +use_const_declaration: + namespace_name { } + | namespace_name T_AS T_STRING { } + | T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name T_AS T_STRING { } +; + +constant_declaration: + constant_declaration ',' T_STRING '=' static_scalar { } + | T_CONST T_STRING '=' static_scalar { } ; inner_statement_list: - inner_statement_list inner_statement { $$ = append($1, $2) } - | /* empty */ { $$ = []node.Node{} } + inner_statement_list { } + | /* empty */ ; + inner_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | trait_declaration_statement { $$ = $1; } - | interface_declaration_statement { $$ = $1; } - | T_HALT_COMPILER '(' ')' ';' - { - $$ = stmt.NewHaltCompiler() - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } + statement + | function_declaration_statement + | class_declaration_statement + | T_HALT_COMPILER '(' ')' ';' { } +; + statement: - '{' inner_statement_list '}' - { - $$ = stmt.NewStmtList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | if_stmt { $$ = $1; } - | alt_if_stmt { $$ = $1; } - | T_WHILE '(' expr ')' while_statement - { - $$ = stmt.NewWhile($1, $3, $5) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) - comments.AddComments($$, $1.Comments()) - } - | T_DO statement T_WHILE '(' expr ')' ';' - { - $$ = stmt.NewDo($2, $5) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) - comments.AddComments($$, $1.Comments()) - } - | T_FOR '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement - { - $$ = stmt.NewFor($3, $5, $7, $9) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) - comments.AddComments($$, $1.Comments()) - } - | T_SWITCH '(' expr ')' switch_case_list - { - $$ = stmt.NewSwitch($1, $3, $5.nodes) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5.endToken)) - comments.AddComments($$, $1.Comments()) - } - | T_BREAK optional_expr ';' - { - $$ = stmt.NewBreak($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_CONTINUE optional_expr ';' - { - $$ = stmt.NewContinue($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_RETURN optional_expr ';' - { - $$ = stmt.NewReturn($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_GLOBAL global_var_list ';' - { - $$ = stmt.NewGlobal($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_STATIC static_var_list ';' - { - $$ = stmt.NewStatic($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_ECHO echo_expr_list ';' - { - $$ = stmt.NewEcho($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_INLINE_HTML - { - $$ = stmt.NewInlineHtml($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | expr ';' - { - $$ = stmt.NewExpression($1) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) - comments.AddComments($$, comments[$1]) - } - | T_UNSET '(' unset_variables possible_comma ')' ';' - { - $$ = stmt.NewUnset($3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) - comments.AddComments($$, $1.Comments()) - } - | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement - { - $$ = stmt.NewForeach($3, nil, $5.node, $7, $5.byRef) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $7)) - comments.AddComments($$, $1.Comments()) - } - | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement - { - $$ = stmt.NewForeach($3, $5, $7.node, $9, $7.byRef) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) - comments.AddComments($$, $1.Comments()) - } - | T_DECLARE '(' const_list ')' declare_statement - { - $$ = stmt.NewDeclare($3, $5) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) - comments.AddComments($$, $1.Comments()) - } - | ';' - { - $$ = stmt.NewNop() - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_TRY '{' inner_statement_list '}' catch_list finally_statement - { - if $6 == nil { - $$ = stmt.NewTry($3, $5, $6) - positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $5)) - } else { - $$ = stmt.NewTry($3, $5, $6) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) - } - - comments.AddComments($$, $1.Comments()) - } - | T_THROW expr ';' - { - $$ = stmt.NewThrow($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_GOTO T_STRING ';' - { - label := node.NewIdentifier($2.Value) - positions.AddPosition(label, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewGoto(label) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - - comments.AddComments(label, $2.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_STRING ':' - { - label := node.NewIdentifier($1.Value) - positions.AddPosition(label, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewLabel(label) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) - - comments.AddComments(label, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - -catch_list: - /* empty */ { $$ = []node.Node{} } - | catch_list T_CATCH '(' catch_name_list T_VARIABLE ')' '{' inner_statement_list '}' - { - identifier := node.NewIdentifier($5.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($5)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($5)) - catch := stmt.NewCatch($4, variable, $8) - positions.AddPosition(catch, positionBuilder.NewTokensPosition($2, $9)) - $$ = append($1, catch) - - comments.AddComments(identifier, $5.Comments()) - comments.AddComments(variable, $5.Comments()) - comments.AddComments(catch, $2.Comments()) - } + unticked_statement { } + | T_STRING ':' { } ; -catch_name_list: - name { $$ = []node.Node{$1} } - | catch_name_list '|' name { $$ = append($1, $3) } + +unticked_statement: + '{' inner_statement_list '}' + | T_IF parenthesis_expr { } statement { } elseif_list else_single { } + | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } + | T_WHILE { } parenthesis_expr { } while_statement { } + | T_DO { } statement T_WHILE { } parenthesis_expr ';' { } + | T_FOR + '(' + for_expr + ';' { } + for_expr + ';' { } + for_expr + ')' { } + for_statement { } + | T_SWITCH parenthesis_expr { } switch_case_list { } + | T_BREAK ';' { } + | T_BREAK expr ';' { } + | T_CONTINUE ';' { } + | T_CONTINUE expr ';' { } + | T_RETURN ';' { } + | T_RETURN expr_without_variable ';' { } + | T_RETURN variable ';' { } + | yield_expr ';' { } + | T_GLOBAL global_var_list ';' + | T_STATIC static_var_list ';' + | T_ECHO echo_expr_list ';' + | T_INLINE_HTML { } + | expr ';' { } + | T_UNSET '(' unset_variables ')' ';' + | T_FOREACH '(' variable T_AS + { } + foreach_variable foreach_optional_arg ')' { } + foreach_statement { } + | T_FOREACH '(' expr_without_variable T_AS + { } + foreach_variable foreach_optional_arg ')' { } + foreach_statement { } + | T_DECLARE { } '(' declare_list ')' declare_statement { } + | ';' /* empty statement */ + | T_TRY { } '{' inner_statement_list '}' + catch_statement { } + finally_statement { } + | T_THROW expr ';' { } + | T_GOTO T_STRING ';' { } ; +catch_statement: + /* empty */ { } + | T_CATCH '(' { } + fully_qualified_class_name { } + T_VARIABLE ')' { } + '{' inner_statement_list '}' { } + additional_catches { } + finally_statement: - /* empty */ { $$ = nil } - | T_FINALLY '{' inner_statement_list '}' - { - $$ = stmt.NewFinally($3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } + /* empty */ { } + | T_FINALLY { } '{' inner_statement_list '}' { } +; + +additional_catches: + non_empty_additional_catches { } + | /* empty */ { } +; + +non_empty_additional_catches: + additional_catch { } + | non_empty_additional_catches additional_catch { } +; + +additional_catch: + T_CATCH '(' fully_qualified_class_name { } T_VARIABLE ')' { } '{' inner_statement_list '}' { } ; unset_variables: - unset_variable { $$ = []node.Node{$1} } - | unset_variables ',' unset_variable { $$ = append($1, $3) } + unset_variable + | unset_variables ',' unset_variable ; unset_variable: - variable { $$ = $1 } + variable { } ; function_declaration_statement: - T_FUNCTION returns_ref T_STRING backup_doc_comment '(' parameter_list ')' return_type '{' inner_statement_list '}' - { - name := node.NewIdentifier($3.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewFunction(name, $2.value, $6, $8, $10, $4) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $11)) - - comments.AddComments(name, $3.Comments()) - comments.AddComments($$, $1.Comments()) - } -; - -is_reference: - /* empty */ { $$ = boolWithToken{false, nil} } - | '&' { $$ = boolWithToken{true, &$1} } -; - -is_variadic: - /* empty */ { $$ = boolWithToken{false, nil} } - | T_ELLIPSIS { $$ = boolWithToken{true, &$1} } + unticked_function_declaration_statement { } ; class_declaration_statement: - class_modifiers T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' - { - name := node.NewIdentifier($3.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewClass(name, $1, nil, $4, $5, $8, $6) - positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $9)) - - comments.AddComments(name, $3.Comments()) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } - | T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' - { - name := node.NewIdentifier($2.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewClass(name, nil, nil, $3, $4, $7, $5) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) - - comments.AddComments(name, $2.Comments()) - comments.AddComments($$, $1.Comments()) - } + unticked_class_declaration_statement { } ; -class_modifiers: - class_modifier { $$ = []node.Node{$1} } - | class_modifiers class_modifier { $$ = append($1, $2) } +is_reference: + /* empty */ { } + | '&' { } ; -class_modifier: - T_ABSTRACT - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_FINAL - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } +is_variadic: + /* empty */ { } + | T_ELLIPSIS { } ; -trait_declaration_statement: - T_TRAIT T_STRING backup_doc_comment '{' class_statement_list '}' - { - name := node.NewIdentifier($2.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewTrait(name, $5, $3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) - - comments.AddComments(name, $2.Comments()) - comments.AddComments($$, $1.Comments()) - } +unticked_function_declaration_statement: + function is_reference T_STRING { } + '(' parameter_list ')' + '{' inner_statement_list '}' { } ; -interface_declaration_statement: - T_INTERFACE T_STRING interface_extends_list backup_doc_comment '{' class_statement_list '}' - { - name := node.NewIdentifier($2.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewInterface(name, $3, $6, $4) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) - - comments.AddComments(name, $2.Comments()) - comments.AddComments($$, $1.Comments()) - } +unticked_class_declaration_statement: + class_entry_type T_STRING extends_from + { } + implements_list + '{' + class_statement_list + '}' { } + | interface_entry T_STRING + { } + interface_extends_list + '{' + class_statement_list + '}' { } +; + + +class_entry_type: + T_CLASS { } + | T_ABSTRACT T_CLASS { } + | T_TRAIT { } + | T_FINAL T_CLASS { } ; extends_from: - /* empty */ { $$ = nil } - | T_EXTENDS name { $$ = $2; } + /* empty */ { } + | T_EXTENDS fully_qualified_class_name { } +; + +interface_entry: + T_INTERFACE { } ; interface_extends_list: - /* empty */ { $$ = nil } - | T_EXTENDS name_list { $$ = $2 } + /* empty */ + | T_EXTENDS interface_list ; implements_list: - /* empty */ { $$ = nil } - | T_IMPLEMENTS name_list { $$ = $2 } + /* empty */ + | T_IMPLEMENTS interface_list +; + +interface_list: + fully_qualified_class_name { } + | interface_list ',' fully_qualified_class_name { } +; + +foreach_optional_arg: + /* empty */ { } + | T_DOUBLE_ARROW foreach_variable { } ; foreach_variable: - variable { $$ = foreachVariable{$1, false} } - | '&' variable { $$ = foreachVariable{$2, true} } - | T_LIST '(' array_pair_list ')' - { - list := expr.NewList($3) - positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) - $$ = foreachVariable{list, false} - comments.AddComments(list, $1.Comments()) - } - | '[' array_pair_list ']' - { - list := expr.NewShortList($2) - positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $3)) - $$ = foreachVariable{list, false} - comments.AddComments(list, $1.Comments()) - } + variable { } + | '&' variable { } + | T_LIST '(' { } assignment_list ')' { } ; for_statement: - statement { $$ = $1; } - | ':' inner_statement_list T_ENDFOR ';' - { - $$ = stmt.NewStmtList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } + statement + | ':' inner_statement_list T_ENDFOR ';' ; + foreach_statement: - statement { $$ = $1; } - | ':' inner_statement_list T_ENDFOREACH ';' - { - $$ = stmt.NewStmtList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } + statement + | ':' inner_statement_list T_ENDFOREACH ';' ; + declare_statement: - statement { $$ = $1; } - | ':' inner_statement_list T_ENDDECLARE ';' - { - $$ = stmt.NewStmtList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } + statement + | ':' inner_statement_list T_ENDDECLARE ';' ; + +declare_list: + T_STRING '=' static_scalar { } + | declare_list ',' T_STRING '=' static_scalar { } +; + + switch_case_list: - '{' case_list '}' { $$ = &nodesWithEndToken{$2, $3} } - | '{' ';' case_list '}' { $$ = &nodesWithEndToken{$3, $4} } - | ':' case_list T_ENDSWITCH ';' { $$ = &nodesWithEndToken{$2, $4} } - | ':' ';' case_list T_ENDSWITCH ';' { $$ = &nodesWithEndToken{$3, $5} } + '{' case_list '}' { } + | '{' ';' case_list '}' { } + | ':' case_list T_ENDSWITCH ';' { } + | ':' ';' case_list T_ENDSWITCH ';' { } ; + case_list: - /* empty */ { $$ = []node.Node{} } - | case_list T_CASE expr case_separator inner_statement_list - { - _case := stmt.NewCase($3, $5) - positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition($2, $5)) - $$ = append($1, _case) - comments.AddComments(_case, $2.Comments()) - } - | case_list T_DEFAULT case_separator inner_statement_list - { - _default := stmt.NewDefault($4) - positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition($2, $4)) - $$ = append($1, _default) - comments.AddComments(_default, $2.Comments()) - } + /* empty */ { } + | case_list T_CASE expr case_separator { } inner_statement_list { } + | case_list T_DEFAULT case_separator { } inner_statement_list { } ; + case_separator: - ':' - | ';' + ':' + | ';' ; + while_statement: - statement { $$ = $1; } - | ':' inner_statement_list T_ENDWHILE ';' - { - $$ = stmt.NewStmtList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } + statement + | ':' inner_statement_list T_ENDWHILE ';' ; -if_stmt_without_else: - T_IF '(' expr ')' statement - { - $$ = stmt.NewIf($3, $5) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) - comments.AddComments($$, $1.Comments()) - } - | if_stmt_without_else T_ELSEIF '(' expr ')' statement - { - _elseIf := stmt.NewElseIf($4, $6) - positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition($2, $6)) - $$ = $1.(*stmt.If).AddElseIf(_elseIf) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $6)) - comments.AddComments(_elseIf, $2.Comments()) - } + +elseif_list: + /* empty */ + | elseif_list T_ELSEIF parenthesis_expr { } statement { } ; -if_stmt: - if_stmt_without_else %prec T_NOELSE { $$ = $1; } - | if_stmt_without_else T_ELSE statement - { - _else := stmt.NewElse($3) - positions.AddPosition(_else, positionBuilder.NewTokenNodePosition($2, $3)) - $$ = $1.(*stmt.If).SetElse(_else) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, $2.Comments()) - } +new_elseif_list: + /* empty */ + | new_elseif_list T_ELSEIF parenthesis_expr ':' { } inner_statement_list { } ; -alt_if_stmt_without_else: - T_IF '(' expr ')' ':' inner_statement_list - { - stmts := stmt.NewStmtList($6) - positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($6)) - $$ = stmt.NewAltIf($3, stmts) - positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $6)) - comments.AddComments(stmts, $5.Comments()) - comments.AddComments($$, $1.Comments()) - } - | alt_if_stmt_without_else T_ELSEIF '(' expr ')' ':' inner_statement_list - { - stmts := stmt.NewStmtList($7) - positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($7)) - _elseIf := stmt.NewAltElseIf($4, stmts) - positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition($2, $7)) - $$ = $1.(*stmt.AltIf).AddElseIf(_elseIf) - - comments.AddComments(stmts, $6.Comments()) - comments.AddComments(_elseIf, $2.Comments()) - } +else_single: + /* empty */ + | T_ELSE statement ; -alt_if_stmt: - alt_if_stmt_without_else T_ENDIF ';' - { - $$ = $1 - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) - } - | alt_if_stmt_without_else T_ELSE ':' inner_statement_list T_ENDIF ';' - { - stmts := stmt.NewStmtList($4) - positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($4)) - _else := stmt.NewAltElse(stmts) - positions.AddPosition(_else, positionBuilder.NewTokenNodeListPosition($2, $4)) - $$ = $1.(*stmt.AltIf).SetElse(_else) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $6)) - comments.AddComments(stmts, $3.Comments()) - comments.AddComments(_else, $2.Comments()) - } +new_else_single: + /* empty */ + | T_ELSE ':' inner_statement_list ; + parameter_list: - non_empty_parameter_list { $$ = $1; } - | /* empty */ { $$ = nil } + non_empty_parameter_list + | /* empty */ ; + non_empty_parameter_list: - parameter { $$ = []node.Node{$1} } - | non_empty_parameter_list ',' parameter { $$ = append($1, $3) } + parameter + | non_empty_parameter_list ',' parameter ; parameter: - optional_type is_reference is_variadic T_VARIABLE - { - identifier := node.NewIdentifier($4.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) - - comments.AddComments($$, $4.Comments()) - comments.AddComments($$, $4.Comments()) - - if $1 != nil { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } else if $2.value == true { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewTokensPosition(*$2.token, $4)) - comments.AddComments($$, $2.token.Comments()) - } else if $3.value == true { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewTokensPosition(*$3.token, $4)) - comments.AddComments($$, $3.token.Comments()) - } else { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($4)) - comments.AddComments($$, $4.Comments()) - } - } - | optional_type is_reference is_variadic T_VARIABLE '=' expr - { - identifier := node.NewIdentifier($4.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) - - comments.AddComments($$, $4.Comments()) - comments.AddComments($$, $4.Comments()) - - if $1 != nil { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $6)) - comments.AddComments($$, comments[$1]) - } else if $2.value == true { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$2.token, $6)) - comments.AddComments($$, $2.token.Comments()) - } else if $3.value == true { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$3.token, $6)) - comments.AddComments($$, $3.token.Comments()) - } else { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($4, $6)) - comments.AddComments($$, $4.Comments()) - } - } + optional_class_type is_reference is_variadic T_VARIABLE + { } + | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar + { } ; -optional_type: - /* empty */ { $$ = nil } - | type_expr { $$ = $1; } + +optional_class_type: + /* empty */ { } + | T_ARRAY { } + | T_CALLABLE { } + | fully_qualified_class_name { } ; -type_expr: - type { $$ = $1; } - | '?' type - { - $$ = node.NewNullable($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } + +function_call_parameter_list: + '(' ')' { } + | '(' non_empty_function_call_parameter_list ')' { } + | '(' yield_expr ')' { } ; -type: - T_ARRAY - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_CALLABLE - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | name { $$ = $1; } + +non_empty_function_call_parameter_list: + function_call_parameter + | non_empty_function_call_parameter_list ',' function_call_parameter ; -return_type: - /* empty */ { $$ = nil } - | ':' type_expr { $$ = $2; } -; - -argument_list: - '(' ')' { $$ = &nodesWithEndToken{[]node.Node{}, $2} } - | '(' non_empty_argument_list possible_comma ')' { $$ = &nodesWithEndToken{$2, $4} } -; - -non_empty_argument_list: - argument { $$ = []node.Node{$1} } - | non_empty_argument_list ',' argument { $$ = append($1, $3) } -; - -argument: - expr - { - $$ = node.NewArgument($1, false) - positions.AddPosition($$, positionBuilder.NewNodePosition($1)) - comments.AddComments($$, comments[$1]) - } - | T_ELLIPSIS expr - { - $$ = node.NewArgument($2, true) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } +function_call_parameter: + expr_without_variable { } + | variable { } + | '&' w_variable { } + | T_ELLIPSIS expr { } ; global_var_list: - global_var_list ',' global_var { $$ = append($1, $3); } - | global_var { $$ = []node.Node{$1} } + global_var_list ',' global_var { } + | global_var { } ; + global_var: - simple_variable { $$ = $1 } + T_VARIABLE { } + | '$' r_variable { } + | '$' '{' expr '}' { } ; + static_var_list: - static_var_list ',' static_var { $$ = append($1, $3) } - | static_var { $$ = []node.Node{$1} } + static_var_list ',' T_VARIABLE { } + | static_var_list ',' T_VARIABLE '=' static_scalar { } + | T_VARIABLE { } + | T_VARIABLE '=' static_scalar { } + ; -static_var: - T_VARIABLE - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewStaticVar(variable, nil) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_VARIABLE '=' expr - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewStaticVar(variable, $3) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } -; class_statement_list: - class_statement_list class_statement { $$ = append($1, $2) } - | /* empty */ { $$ = []node.Node{} } + class_statement_list class_statement + | /* empty */ ; + class_statement: - variable_modifiers property_list ';' - { - $$ = stmt.NewPropertyList($1, $2) - positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } - | method_modifiers T_CONST class_const_list ';' - { - $$ = stmt.NewClassConstList($1, $3) - positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $4)) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } - | T_USE name_list trait_adaptations - { - $$ = stmt.NewTraitUse($2, $3.nodes) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) - comments.AddComments($$, $1.Comments()) - } - | method_modifiers T_FUNCTION returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type method_body - { - name := node.NewIdentifier($4.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($4)) - $$ = stmt.NewClassMethod(name, $1, $3.value, $7, $9, $10.nodes, $5) - positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $10.endToken)) - - comments.AddComments(name, $4.Comments()) - comments.AddComments($$, ListGetFirstNodeComments($1)) - } + variable_modifiers { } class_variable_declaration ';' + | class_constant_declaration ';' + | trait_use_statement + | method_modifiers function is_reference T_STRING { } + '(' parameter_list ')' + method_body { } ; -name_list: - name { $$ = []node.Node{$1} } - | name_list ',' name { $$ = append($1, $3) } +trait_use_statement: + T_USE trait_list trait_adaptations +; + +trait_list: + fully_qualified_class_name { } + | trait_list ',' fully_qualified_class_name { } ; trait_adaptations: - ';' { $$ = &nodesWithEndToken{nil, $1} } - | '{' '}' { $$ = &nodesWithEndToken{nil, $2} } - | '{' trait_adaptation_list '}' { $$ = &nodesWithEndToken{$2, $3} } + ';' + | '{' trait_adaptation_list '}' ; trait_adaptation_list: - trait_adaptation { $$ = []node.Node{$1} } - | trait_adaptation_list trait_adaptation { $$ = append($1, $2) } + /* empty */ + | non_empty_trait_adaptation_list ; -trait_adaptation: - trait_precedence ';' { $$ = $1; } - | trait_alias ';' { $$ = $1; } +non_empty_trait_adaptation_list: + trait_adaptation_statement + | non_empty_trait_adaptation_list trait_adaptation_statement +; + +trait_adaptation_statement: + trait_precedence ';' + | trait_alias ';' ; trait_precedence: - absolute_trait_method_reference T_INSTEADOF name_list - { - name := name.NewName($3) - positions.AddPosition(name, positionBuilder.NewNodeListPosition($3)) - $$ = stmt.NewTraitUsePrecedence($1, name) - positions.AddPosition($$, positionBuilder.NewNodeNodeListPosition($1, $3)) - - comments.AddComments(name, ListGetFirstNodeComments($3)) - comments.AddComments($$, comments[$1]) - } + trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { } ; -trait_alias: - trait_method_reference T_AS T_STRING - { - alias := node.NewIdentifier($3.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewTraitUseAlias($1, nil, alias) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) - - comments.AddComments(alias, $3.Comments()) - comments.AddComments($$, comments[$1]) - } - | trait_method_reference T_AS reserved_non_modifiers - { - alias := node.NewIdentifier($3.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewTraitUseAlias($1, nil, alias) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) - - comments.AddComments(alias, $3.Comments()) - comments.AddComments($$, comments[$1]) - } - | trait_method_reference T_AS member_modifier identifier - { - alias := node.NewIdentifier($4.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition($4)) - $$ = stmt.NewTraitUseAlias($1, $3, alias) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) - - comments.AddComments(alias, $4.Comments()) - comments.AddComments($$, comments[$1]) - } - | trait_method_reference T_AS member_modifier - { - $$ = stmt.NewTraitUseAlias($1, $3, nil) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } +trait_reference_list: + fully_qualified_class_name { } + | trait_reference_list ',' fully_qualified_class_name { } ; trait_method_reference: - identifier - { - name := node.NewIdentifier($1.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewTraitMethodRef(nil, name) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - - comments.AddComments(name, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | absolute_trait_method_reference { $$ = $1; } + T_STRING { } + | trait_method_reference_fully_qualified { } ; -absolute_trait_method_reference: - name T_PAAMAYIM_NEKUDOTAYIM identifier - { - target := node.NewIdentifier($3.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewTraitMethodRef($1, target) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) - - comments.AddComments(target, $3.Comments()) - comments.AddComments($$, comments[$1]) - } +trait_method_reference_fully_qualified: + fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } +; + +trait_alias: + trait_method_reference T_AS trait_modifiers T_STRING { } + | trait_method_reference T_AS member_modifier { } +; + +trait_modifiers: + /* empty */ { } /* No change of methods visibility */ + | member_modifier { } /* REM: Keep in mind, there are not only visibility modifiers */ ; method_body: - ';' /* abstract method */ { $$ = &nodesWithEndToken{nil, $1} } - | '{' inner_statement_list '}' { $$ = &nodesWithEndToken{$2, $3} } + ';' /* abstract method */ { } + | '{' inner_statement_list '}' { } ; variable_modifiers: - non_empty_member_modifiers { $$ = $1; } - | T_VAR - { - modifier := node.NewIdentifier($1.Value) - positions.AddPosition(modifier, positionBuilder.NewTokenPosition($1)) - $$ = []node.Node{modifier} - comments.AddComments(modifier, $1.Comments()) - } + non_empty_member_modifiers { } + | T_VAR { } ; method_modifiers: - /* empty */ { $$ = nil } - | non_empty_member_modifiers { $$ = $1 } + /* empty */ { } + | non_empty_member_modifiers { } ; non_empty_member_modifiers: - member_modifier { $$ = []node.Node{$1} } - | non_empty_member_modifiers member_modifier { $$ = append($1, $2) } + member_modifier { } + | non_empty_member_modifiers member_modifier { } ; member_modifier: - T_PUBLIC - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_PROTECTED - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_PRIVATE - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_STATIC - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_ABSTRACT - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_FINAL - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } + T_PUBLIC { } + | T_PROTECTED { } + | T_PRIVATE { } + | T_STATIC { } + | T_ABSTRACT { } + | T_FINAL { } ; -property_list: - property_list ',' property { $$ = append($1, $3) } - | property { $$ = []node.Node{$1} } +class_variable_declaration: + class_variable_declaration ',' T_VARIABLE { } + | class_variable_declaration ',' T_VARIABLE '=' static_scalar { } + | T_VARIABLE { } + | T_VARIABLE '=' static_scalar { } ; -property: - T_VARIABLE backup_doc_comment - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewProperty(variable, nil, $2) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_VARIABLE '=' expr backup_doc_comment - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewProperty(variable, $3, $4) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } -; - -class_const_list: - class_const_list ',' class_const_decl { $$ = append($1, $3) } - | class_const_decl { $$ = []node.Node{$1} } -; - -class_const_decl: - identifier '=' expr backup_doc_comment - { - name := node.NewIdentifier($1.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewConstant(name, $3, $4) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) - - comments.AddComments(name, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } -; - -const_decl: - T_STRING '=' expr backup_doc_comment - { - name := node.NewIdentifier($1.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewConstant(name, $3, $4) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) - - comments.AddComments(name, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } +class_constant_declaration: + class_constant_declaration ',' T_STRING '=' static_scalar { } + | T_CONST T_STRING '=' static_scalar { } ; echo_expr_list: - echo_expr_list ',' echo_expr { $$ = append($1, $3) } - | echo_expr { $$ = []node.Node{$1} } + echo_expr_list ',' expr { } + | expr { } ; -echo_expr: - expr { $$ = $1 } + +for_expr: + /* empty */ { } + | non_empty_for_expr { } ; -for_exprs: - /* empty */ { $$ = nil; } - | non_empty_for_exprs { $$ = $1; } -; -non_empty_for_exprs: - non_empty_for_exprs ',' expr { $$ = append($1, $3) } - | expr { $$ = []node.Node{$1} } +non_empty_for_expr: + non_empty_for_expr ',' { } expr { } + | expr { } ; -anonymous_class: - T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' - { - if $2 != nil { - $$ = stmt.NewClass(nil, nil, $2.nodes, $3, $4, $7, $5) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) - } else { - $$ = stmt.NewClass(nil, nil, nil, $3, $4, $7, $5) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) - } +chaining_method_or_property: + chaining_method_or_property variable_property { } + | variable_property { } +; - comments.AddComments($$, $1.Comments()) - } +chaining_dereference: + chaining_dereference '[' dim_offset ']' { } + | '[' dim_offset ']' { } +; + +chaining_instance_call: + chaining_dereference { } chaining_method_or_property { } + | chaining_dereference { } + | chaining_method_or_property { } +; + +instance_call: + /* empty */ { } + | { } + chaining_instance_call { } ; new_expr: - T_NEW class_name_reference ctor_arguments - { - if $3 != nil { - $$ = expr.NewNew($2, $3.nodes) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) - } else { - $$ = expr.NewNew($2, nil) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - } - - comments.AddComments($$, $1.Comments()) - } - | T_NEW anonymous_class { $$ = expr.NewNew($2, nil) } + T_NEW class_name_reference { } ctor_arguments { } ; expr_without_variable: - T_LIST '(' array_pair_list ')' '=' expr - { - list := expr.NewList($3) - positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) - $$ = assign_op.NewAssign(list, $6) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) - - comments.AddComments(list, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | '[' array_pair_list ']' '=' expr - { - shortList := expr.NewShortList($2) - positions.AddPosition(shortList, positionBuilder.NewTokensPosition($1, $3)) - $$ = assign_op.NewAssign(shortList, $5) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) - - comments.AddComments(shortList, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | variable '=' expr - { - $$ = assign_op.NewAssign($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable '=' '&' expr - { - $$ = assign_op.NewAssignRef($1, $4) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | T_CLONE expr - { - $$ = expr.NewClone($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | variable T_PLUS_EQUAL expr - { - $$ = assign_op.NewPlus($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_MINUS_EQUAL expr - { - $$ = assign_op.NewMinus($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_MUL_EQUAL expr - { - $$ = assign_op.NewMul($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_POW_EQUAL expr - { - $$ = assign_op.NewPow($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_DIV_EQUAL expr - { - $$ = assign_op.NewDiv($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_CONCAT_EQUAL expr - { - $$ = assign_op.NewConcat($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_MOD_EQUAL expr - { - $$ = assign_op.NewMod($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_AND_EQUAL expr - { - $$ = assign_op.NewBitwiseAnd($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_OR_EQUAL expr - { - $$ = assign_op.NewBitwiseOr($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_XOR_EQUAL expr - { - $$ = assign_op.NewBitwiseXor($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_SL_EQUAL expr - { - $$ = assign_op.NewShiftLeft($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_SR_EQUAL expr - { - $$ = assign_op.NewShiftRight($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable T_INC - { - $$ = expr.NewPostInc($1) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) - comments.AddComments($$, comments[$1]) - } - | T_INC variable - { - $$ = expr.NewPreInc($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | variable T_DEC - { - $$ = expr.NewPostDec($1) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) - comments.AddComments($$, comments[$1]) - } - | T_DEC variable - { - $$ = expr.NewPreDec($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | expr T_BOOLEAN_OR expr - { - $$ = binary_op.NewBooleanOr($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_BOOLEAN_AND expr - { - $$ = binary_op.NewBooleanAnd($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_LOGICAL_OR expr - { - $$ = binary_op.NewLogicalOr($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_LOGICAL_AND expr - { - $$ = binary_op.NewLogicalAnd($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_LOGICAL_XOR expr - { - $$ = binary_op.NewLogicalXor($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '|' expr - { - $$ = binary_op.NewBitwiseOr($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '&' expr - { - $$ = binary_op.NewBitwiseAnd($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '^' expr - { - $$ = binary_op.NewBitwiseXor($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '.' expr - { - $$ = binary_op.NewConcat($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '+' expr - { - $$ = binary_op.NewPlus($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '-' expr - { - $$ = binary_op.NewMinus($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '*' expr - { - $$ = binary_op.NewMul($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_POW expr - { - $$ = binary_op.NewPow($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '/' expr - { - $$ = binary_op.NewDiv($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '%' expr - { - $$ = binary_op.NewMod($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_SL expr - { - $$ = binary_op.NewShiftLeft($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_SR expr - { - $$ = binary_op.NewShiftRight($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | '+' expr %prec T_INC - { - $$ = expr.NewUnaryPlus($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | '-' expr %prec T_INC - { - $$ = expr.NewUnaryMinus($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | '!' expr - { - $$ = expr.NewBooleanNot($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | '~' expr - { - $$ = expr.NewBitwiseNot($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | expr T_IS_IDENTICAL expr - { - $$ = binary_op.NewIdentical($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_IS_NOT_IDENTICAL expr - { - $$ = binary_op.NewNotIdentical($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_IS_EQUAL expr - { - $$ = binary_op.NewEqual($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_IS_NOT_EQUAL expr - { - $$ = binary_op.NewNotEqual($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '<' expr - { - $$ = binary_op.NewSmaller($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_IS_SMALLER_OR_EQUAL expr - { - $$ = binary_op.NewSmallerOrEqual($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr '>' expr - { - $$ = binary_op.NewGreater($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_IS_GREATER_OR_EQUAL expr - { - $$ = binary_op.NewGreaterOrEqual($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_SPACESHIP expr - { - $$ = binary_op.NewSpaceship($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr T_INSTANCEOF class_name_reference - { - $$ = expr.NewInstanceOf($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | '(' expr ')' { $$ = $2; } - | new_expr { $$ = $1; } - | expr '?' expr ':' expr - { - $$ = expr.NewTernary($1, $3, $5) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $5)) - comments.AddComments($$, comments[$1]) - } - | expr '?' ':' expr - { - $$ = expr.NewTernary($1, nil, $4) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | expr T_COALESCE expr - { - $$ = binary_op.NewCoalesce($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | internal_functions_in_yacc { $$ = $1} - | T_INT_CAST expr - { - $$ = cast.NewCastInt($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_DOUBLE_CAST expr - { - $$ = cast.NewCastDouble($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_STRING_CAST expr - { - $$ = cast.NewCastString($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_ARRAY_CAST expr - { - $$ = cast.NewCastArray($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_OBJECT_CAST expr - { - $$ = cast.NewCastObject($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_BOOL_CAST expr - { - $$ = cast.NewCastBool($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_UNSET_CAST expr - { - $$ = cast.NewCastUnset($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_EXIT exit_expr - { - $$ = expr.NewExit($2, strings.EqualFold($1.Value, "die")) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | '@' expr - { - $$ = expr.NewErrorSuppress($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | scalar { $$ = $1; } - | '`' backticks_expr '`' - { - $$ = expr.NewShellExec($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_PRINT expr - { - $$ = expr.NewPrint($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_YIELD - { - $$ = expr.NewYield(nil, nil) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_YIELD expr - { - $$ = expr.NewYield(nil, $2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_YIELD expr T_DOUBLE_ARROW expr - { - $$ = expr.NewYield($2, $4) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } - | T_YIELD_FROM expr - { - $$ = expr.NewYieldFrom($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' - { - $$ = expr.NewClosure($5, $7, $8, $10, false, $2.value, $3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $11)) - - comments.AddComments($$, $1.Comments()) - } - | T_STATIC T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' - { - $$ = expr.NewClosure($6, $8, $9, $11, true, $3.value, $4) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $12)) - - comments.AddComments($$, $1.Comments()) - } + T_LIST '(' { } assignment_list ')' '=' expr { } + | variable '=' expr { } + | variable '=' '&' variable { } + | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } + | T_CLONE expr { } + | variable T_PLUS_EQUAL expr { } + | variable T_MINUS_EQUAL expr { } + | variable T_MUL_EQUAL expr { } + | variable T_POW_EQUAL expr { } + | variable T_DIV_EQUAL expr { } + | variable T_CONCAT_EQUAL expr { } + | variable T_MOD_EQUAL expr { } + | variable T_AND_EQUAL expr { } + | variable T_OR_EQUAL expr { } + | variable T_XOR_EQUAL expr { } + | variable T_SL_EQUAL expr { } + | variable T_SR_EQUAL expr { } + | rw_variable T_INC { } + | T_INC rw_variable { } + | rw_variable T_DEC { } + | T_DEC rw_variable { } + | expr T_BOOLEAN_OR { } expr { } + | expr T_BOOLEAN_AND { } expr { } + | expr T_LOGICAL_OR { } expr { } + | expr T_LOGICAL_AND { } expr { } + | expr T_LOGICAL_XOR expr { } + | expr '|' expr { } + | expr '&' expr { } + | expr '^' expr { } + | expr '.' expr { } + | expr '+' expr { } + | expr '-' expr { } + | expr '*' expr { } + | expr T_POW expr { } + | expr '/' expr { } + | expr '%' expr { } + | expr T_SL expr { } + | expr T_SR expr { } + | '+' expr %prec T_INC { } + | '-' expr %prec T_INC { } + | '!' expr { } + | '~' expr { } + | expr T_IS_IDENTICAL expr { } + | expr T_IS_NOT_IDENTICAL expr { } + | expr T_IS_EQUAL expr { } + | expr T_IS_NOT_EQUAL expr { } + | expr '<' expr { } + | expr T_IS_SMALLER_OR_EQUAL expr { } + | expr '>' expr { } + | expr T_IS_GREATER_OR_EQUAL expr { } + | expr T_INSTANCEOF class_name_reference { } + | parenthesis_expr { } + | new_expr { } + | '(' new_expr ')' { } instance_call { } + | expr '?' { } + expr ':' { } + expr { } + | expr '?' ':' { } + expr { } + | internal_functions_in_yacc { } + | T_INT_CAST expr { } + | T_DOUBLE_CAST expr { } + | T_STRING_CAST expr { } + | T_ARRAY_CAST expr { } + | T_OBJECT_CAST expr { } + | T_BOOL_CAST expr { } + | T_UNSET_CAST expr { } + | T_EXIT exit_expr { } + | '@' { } expr { } + | scalar { } + | combined_scalar_offset { } + | combined_scalar { } + | '`' backticks_expr '`' { } + | T_PRINT expr { } + | T_YIELD { } + | function is_reference { } + '(' parameter_list ')' lexical_vars + '{' inner_statement_list '}' { } + | T_STATIC function is_reference { } + '(' parameter_list ')' lexical_vars + '{' inner_statement_list '}' { } ; -backup_doc_comment: - /* empty */ { $$ = yylex.(*lexer).PhpDocComment; yylex.(*lexer).PhpDocComment = "" } +yield_expr: + T_YIELD expr_without_variable { } + | T_YIELD variable { } + | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { } + | T_YIELD expr T_DOUBLE_ARROW variable { } ; -returns_ref: - /* empty */ { $$ = boolWithToken{false, nil} } - | '&' { $$ = boolWithToken{true, &$1} } +combined_scalar_offset: + combined_scalar '[' dim_offset ']' { } + | combined_scalar_offset '[' dim_offset ']' { } + | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { } + | general_constant '[' dim_offset ']' { } +; + +combined_scalar: + T_ARRAY '(' array_pair_list ')' { } + | '[' array_pair_list ']' { } +; + +function: + T_FUNCTION { } ; lexical_vars: - /* empty */ { $$ = []node.Node{} } - | T_USE '(' lexical_var_list ')' { $$ = $3; } + /* empty */ + | T_USE '(' lexical_var_list ')' ; lexical_var_list: - lexical_var_list ',' lexical_var { $$ = append($1, $3) } - | lexical_var { $$ = []node.Node{$1} } -; - -lexical_var: - T_VARIABLE - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewClusureUse(variable, false) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | '&' T_VARIABLE - { - identifier := node.NewIdentifier($2.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) - $$ = expr.NewClusureUse(variable, true) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) - - comments.AddComments(identifier, $2.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } + lexical_var_list ',' T_VARIABLE { } + | lexical_var_list ',' '&' T_VARIABLE { } + | T_VARIABLE { } + | '&' T_VARIABLE { } ; function_call: - name argument_list - { - $$ = expr.NewFunctionCall($1, $2.nodes) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2.endToken)) - comments.AddComments($$, comments[$1]) - } - | class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list - { - $$ = expr.NewStaticCall($1, $3, $4.nodes) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) - comments.AddComments($$, comments[$1]) - } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list - { - $$ = expr.NewStaticCall($1, $3, $4.nodes) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) - comments.AddComments($$, comments[$1]) - } - | callable_expr argument_list - { - $$ = expr.NewFunctionCall($1, $2.nodes) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2.endToken)) - comments.AddComments($$, comments[$1]) - } + namespace_name { } + function_call_parameter_list { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + function_call_parameter_list { } + | T_NS_SEPARATOR namespace_name { } + function_call_parameter_list { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } + function_call_parameter_list { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + function_call_parameter_list { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } + function_call_parameter_list { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + function_call_parameter_list { } + | variable_without_objects { } + function_call_parameter_list { } ; class_name: - T_STATIC - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | name { $$ = $1; } + T_STATIC { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } ; +fully_qualified_class_name: + namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } +; + + + class_name_reference: - class_name { $$ = $1; } - | new_variable { $$ = $1; } + class_name { } + | dynamic_class_name_reference { } +; + + +dynamic_class_name_reference: + base_variable T_OBJECT_OPERATOR { } + object_property { } dynamic_class_name_variable_properties + { } + | base_variable { } +; + + +dynamic_class_name_variable_properties: + dynamic_class_name_variable_properties dynamic_class_name_variable_property + | /* empty */ +; + + +dynamic_class_name_variable_property: + T_OBJECT_OPERATOR object_property { } ; exit_expr: - /* empty */ { $$ = nil } - | '(' optional_expr ')' { $$ = $2; } + /* empty */ { } + | '(' ')' { } + | parenthesis_expr { } ; backticks_expr: - /* empty */ { $$ = []node.Node{} } - | T_ENCAPSED_AND_WHITESPACE { $$ = []node.Node{scalar.NewEncapsedStringPart($1.Value)} } - | encaps_list { $$ = $1; } + /* empty */ { } + | T_ENCAPSED_AND_WHITESPACE { } + | encaps_list { } ; + ctor_arguments: - /* empty */ { $$ = nil } - | argument_list { $$ = $1 } + /* empty */ { } + | function_call_parameter_list { } ; -dereferencable_scalar: - T_ARRAY '(' array_pair_list ')' - { - $$ = expr.NewArray($3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } - | '[' array_pair_list ']' - { - $$ = expr.NewShortArray($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_CONSTANT_ENCAPSED_STRING - { - $$ = scalar.NewString($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } + +common_scalar: + T_LNUMBER { } + | T_DNUMBER { } + | T_CONSTANT_ENCAPSED_STRING { } + | T_LINE { } + | T_FILE { } + | T_DIR { } + | T_TRAIT_C { } + | T_METHOD_C { } + | T_FUNC_C { } + | T_NS_C { } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { } + | T_START_HEREDOC T_END_HEREDOC { } +; + +static_class_constant: + class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } +; + +static_scalar: /* compile-time evaluated scalars */ + static_scalar_value { } +; + +static_scalar_value: + common_scalar { } + | static_class_name_scalar { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } + | T_ARRAY '(' static_array_pair_list ')' { } + | '[' static_array_pair_list ']' { } + | static_class_constant { } + | T_CLASS_C { } + | static_operation { } +; + +static_operation: + static_scalar_value '[' static_scalar_value ']' { } + | static_scalar_value '+' static_scalar_value { } + | static_scalar_value '-' static_scalar_value { } + | static_scalar_value '*' static_scalar_value { } + | static_scalar_value T_POW static_scalar_value { } + | static_scalar_value '/' static_scalar_value { } + | static_scalar_value '%' static_scalar_value { } + | '!' static_scalar_value { } + | '~' static_scalar_value { } + | static_scalar_value '|' static_scalar_value { } + | static_scalar_value '&' static_scalar_value { } + | static_scalar_value '^' static_scalar_value { } + | static_scalar_value T_SL static_scalar_value { } + | static_scalar_value T_SR static_scalar_value { } + | static_scalar_value '.' static_scalar_value { } + | static_scalar_value T_LOGICAL_XOR static_scalar_value { } + | static_scalar_value T_LOGICAL_AND static_scalar_value { } + | static_scalar_value T_LOGICAL_OR static_scalar_value { } + | static_scalar_value T_BOOLEAN_AND static_scalar_value { } + | static_scalar_value T_BOOLEAN_OR static_scalar_value { } + | static_scalar_value T_IS_IDENTICAL static_scalar_value { } + | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { } + | static_scalar_value T_IS_EQUAL static_scalar_value { } + | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { } + | static_scalar_value '<' static_scalar_value { } + | static_scalar_value '>' static_scalar_value { } + | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { } + | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { } + | static_scalar_value '?' ':' static_scalar_value { } + | static_scalar_value '?' static_scalar_value ':' static_scalar_value { } + | '+' static_scalar_value { } + | '-' static_scalar_value { } + | '(' static_scalar_value ')' { } +; + +general_constant: + class_constant { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } ; scalar: - T_LNUMBER - { - $$ = scalar.NewLnumber($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_DNUMBER - { - $$ = scalar.NewDnumber($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_LINE - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_FILE - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_DIR - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_TRAIT_C - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_METHOD_C - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_FUNC_C - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_NS_C - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_CLASS_C - { - $$ = scalar.NewMagicConstant($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC - { - $$ = scalar.NewString($2.Value) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3))/* TODO: mark as Heredoc*/ - comments.AddComments($$, $1.Comments()) - } - | T_START_HEREDOC T_END_HEREDOC - { - $$ = scalar.NewEncapsed(nil) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | '"' encaps_list '"' - { - $$ = scalar.NewEncapsed($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_START_HEREDOC encaps_list T_END_HEREDOC - { - $$ = scalar.NewEncapsed($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | dereferencable_scalar { $$ = $1; } - | constant { $$ = $1; } + T_STRING_VARNAME { } + | general_constant { } + | class_name_scalar { } + | common_scalar { } + | '"' encaps_list '"' { } + | T_START_HEREDOC encaps_list T_END_HEREDOC { } + | T_CLASS_C { } ; -constant: - name - { - $$ = expr.NewConstFetch($1) - positions.AddPosition($$, positionBuilder.NewNodePosition($1)) - comments.AddComments($$, comments[$1]) - } - | class_name T_PAAMAYIM_NEKUDOTAYIM identifier - { - target := node.NewIdentifier($3.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) - $$ = expr.NewClassConstFetch($1, target) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) +static_array_pair_list: + /* empty */ { } + | non_empty_static_array_pair_list possible_comma { } +; - comments.AddComments(target, $3.Comments()) - comments.AddComments($$, comments[$1]) - } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier - { - target := node.NewIdentifier($3.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) - $$ = expr.NewClassConstFetch($1, target) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) +possible_comma: + /* empty */ + | ',' +; - comments.AddComments(target, $3.Comments()) - comments.AddComments($$, comments[$1]) - } +non_empty_static_array_pair_list: + non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value { } + | non_empty_static_array_pair_list ',' static_scalar_value { } + | static_scalar_value T_DOUBLE_ARROW static_scalar_value { } + | static_scalar_value { } ; expr: - variable { $$ = $1; } - | expr_without_variable { $$ = $1; } + r_variable { } + | expr_without_variable { } ; -optional_expr: - /* empty */ { $$ = nil } - | expr { $$ = $1; } +parenthesis_expr: + '(' expr ')' { } + | '(' yield_expr ')' { } ; -variable_class_name: - dereferencable { $$ = $1; } + +r_variable: + variable { } ; -dereferencable: - variable { $$ = $1; } - | '(' expr ')' { $$ = $2; } - | dereferencable_scalar { $$ = $1; } + +w_variable: + variable { } ; -callable_expr: - callable_variable { $$ = $1; } - | '(' expr ')' { $$ = $2; } - | dereferencable_scalar { $$ = $1; } -; - -callable_variable: - simple_variable { $$ = $1; } - | dereferencable '[' optional_expr ']' - { - $$ = expr.NewArrayDimFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | constant '[' optional_expr ']' - { - $$ = expr.NewArrayDimFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | dereferencable '{' expr '}' - { - $$ = expr.NewArrayDimFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | dereferencable T_OBJECT_OPERATOR property_name argument_list - { - $$ = expr.NewMethodCall($1, $3, $4.nodes) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) - comments.AddComments($$, comments[$1]) - } - | function_call { $$ = $1; } +rw_variable: + variable { } ; variable: - callable_variable { $$ = $1; } - | static_member { $$ = $1; } - | dereferencable T_OBJECT_OPERATOR property_name - { - $$ = expr.NewPropertyFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } + base_variable_with_function_calls T_OBJECT_OPERATOR { } + object_property { } method_or_not variable_properties + { } + | base_variable_with_function_calls { } ; -simple_variable: - T_VARIABLE - { - name := node.NewIdentifier($1.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewVariable(name) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - - comments.AddComments(name, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | '$' '{' expr '}' - { - $$ = expr.NewVariable($3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } - | '$' simple_variable - { - $$ = expr.NewVariable($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } +variable_properties: + variable_properties variable_property { } + | /* empty */ { } +; + + +variable_property: + T_OBJECT_OPERATOR object_property { } method_or_not { } +; + +array_method_dereference: + array_method_dereference '[' dim_offset ']' { } + | method '[' dim_offset ']' { } +; + +method: + { } + function_call_parameter_list { } +; + +method_or_not: + method { } + | array_method_dereference { } + | /* empty */ { } +; + +variable_without_objects: + reference_variable { } + | simple_indirect_reference reference_variable { } ; static_member: - class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable - { - $$ = expr.NewStaticPropertyFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable - { - $$ = expr.NewStaticPropertyFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } + class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + ; -new_variable: - simple_variable { $$ = $1 } - | new_variable '[' optional_expr ']' - { - $$ = expr.NewArrayDimFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | new_variable '{' expr '}' - { - $$ = expr.NewArrayDimFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | new_variable T_OBJECT_OPERATOR property_name - { - $$ = expr.NewPropertyFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable - { - $$ = expr.NewStaticPropertyFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable - { - $$ = expr.NewStaticPropertyFetch($1, $3) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } +variable_class_name: + reference_variable { } ; -member_name: - identifier - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | '{' expr '}' { $$ = $2; } - | simple_variable { $$ = $1 } +array_function_dereference: + array_function_dereference '[' dim_offset ']' { } + | function_call { } + '[' dim_offset ']' { } ; -property_name: - T_STRING - { - $$ = node.NewIdentifier($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | '{' expr '}' { $$ = $2; } - | simple_variable { $$ = $1 } +base_variable_with_function_calls: + base_variable { } + | array_function_dereference { } + | function_call { } ; + +base_variable: + reference_variable { } + | simple_indirect_reference reference_variable { } + | static_member { } +; + +reference_variable: + reference_variable '[' dim_offset ']' { } + | reference_variable '{' expr '}' { } + | compound_variable { } +; + + +compound_variable: + T_VARIABLE { } + | '$' '{' expr '}' { } +; + +dim_offset: + /* empty */ { } + | expr { } +; + + +object_property: + object_dim_list { } + | variable_without_objects { } +; + +object_dim_list: + object_dim_list '[' dim_offset ']' { } + | object_dim_list '{' expr '}' { } + | variable_name { } +; + +variable_name: + T_STRING { } + | '{' expr '}' { } +; + +simple_indirect_reference: + '$' { } + | simple_indirect_reference '$' { } +; + +assignment_list: + assignment_list ',' assignment_list_element + | assignment_list_element +; + + +assignment_list_element: + variable { } + | T_LIST '(' { } assignment_list ')' { } + | /* empty */ { } +; + + array_pair_list: - non_empty_array_pair_list - { - if ($1[len($1)-1] == nil) { - $$ = $1[:len($1)-1] - } else { - $$ = $1 - } - } -; - -possible_array_pair: - /* empty */ { $$ = nil } - | array_pair { $$ = $1; } + /* empty */ { } + | non_empty_array_pair_list possible_comma { } ; non_empty_array_pair_list: - non_empty_array_pair_list ',' possible_array_pair - { $$ = append($1, $3) } - | possible_array_pair { $$ = []node.Node{$1} } -; - -array_pair: - expr T_DOUBLE_ARROW expr - { - $$ = expr.NewArrayItem($1, $3, false) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) - comments.AddComments($$, comments[$1]) - } - | expr - { - $$ = expr.NewArrayItem(nil, $1, false) - positions.AddPosition($$, positionBuilder.NewNodePosition($1)) - comments.AddComments($$, comments[$1]) - } - | expr T_DOUBLE_ARROW '&' variable - { - $$ = expr.NewArrayItem($1, $4, true) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) - comments.AddComments($$, comments[$1]) - } - | '&' variable - { - $$ = expr.NewArrayItem(nil, $2, true) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | expr T_DOUBLE_ARROW T_LIST '(' array_pair_list ')' - { - // TODO: Cannot use list() as standalone expression - list := expr.NewList($5) - positions.AddPosition(list, positionBuilder.NewTokensPosition($3, $6)) - $$ = expr.NewArrayItem($1, list, false) - positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $6)) - - comments.AddComments(list, $3.Comments()) - comments.AddComments($$, comments[$1]) - } - | T_LIST '(' array_pair_list ')' - { - // TODO: Cannot use list() as standalone expression - list := expr.NewList($3) - positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) - $$ = expr.NewArrayItem(nil, list, false) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - - comments.AddComments(list, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } + non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { } + | non_empty_array_pair_list ',' expr { } + | expr T_DOUBLE_ARROW expr { } + | expr { } + | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { } + | non_empty_array_pair_list ',' '&' w_variable { } + | expr T_DOUBLE_ARROW '&' w_variable { } + | '&' w_variable { } ; encaps_list: - encaps_list encaps_var { $$ = append($1, $2) } - | encaps_list T_ENCAPSED_AND_WHITESPACE - { - encapsed := scalar.NewEncapsedStringPart($2.Value) - positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($2)) - $$ = append($1, encapsed) - comments.AddComments(encapsed, $2.Comments()) - } - | encaps_var { $$ = []node.Node{$1} } - | T_ENCAPSED_AND_WHITESPACE encaps_var - { - encapsed := scalar.NewEncapsedStringPart($1.Value) - positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($1)) - $$ = []node.Node{encapsed, $2} - comments.AddComments(encapsed, $1.Comments()) - } + encaps_list encaps_var { } + | encaps_list T_ENCAPSED_AND_WHITESPACE { } + | encaps_var { } + | T_ENCAPSED_AND_WHITESPACE encaps_var { } ; + + encaps_var: - T_VARIABLE - { - name := node.NewIdentifier($1.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewVariable(name) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - - comments.AddComments(name, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_VARIABLE '[' encaps_var_offset ']' - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewArrayDimFetch(variable, $3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_VARIABLE T_OBJECT_OPERATOR T_STRING - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - fetch := node.NewIdentifier($3.Value) - positions.AddPosition(fetch, positionBuilder.NewTokenPosition($3)) - $$ = expr.NewPropertyFetch(variable, fetch) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments(fetch, $3.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_DOLLAR_OPEN_CURLY_BRACES expr '}' - { - $$ = expr.NewVariable($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - comments.AddComments($$, $1.Comments()) - } - | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' - { - name := node.NewIdentifier($2.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = expr.NewVariable(name) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) - - comments.AddComments(name, $2.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' - { - identifier := node.NewIdentifier($2.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) - variable := expr.NewVariable(identifier) - positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) - $$ = expr.NewArrayDimFetch(variable, $4) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) - - - comments.AddComments(identifier, $2.Comments()) - comments.AddComments(variable, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } - | T_CURLY_OPEN variable '}' { $$ = $2; } + T_VARIABLE { } + | T_VARIABLE '[' { } encaps_var_offset ']' { } + | T_VARIABLE T_OBJECT_OPERATOR T_STRING { } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { } + | T_CURLY_OPEN variable '}' { } ; + + encaps_var_offset: - T_STRING - { - $$ = scalar.NewString($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - comments.AddComments($$, $1.Comments()) - } - | T_NUM_STRING - { - // TODO: add option to handle 64 bit integer - if _, err := strconv.Atoi($1.Value); err == nil { - $$ = scalar.NewLnumber($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - } else { - $$ = scalar.NewString($1.Value) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - } - comments.AddComments($$, $1.Comments()) - } - | '-' T_NUM_STRING - { - // TODO: add option to handle 64 bit integer - if _, err := strconv.Atoi($2.Value); err == nil { - lnumber := scalar.NewLnumber($2.Value) - positions.AddPosition(lnumber, positionBuilder.NewTokensPosition($1, $2)) - $$ = expr.NewUnaryMinus(lnumber) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) - - comments.AddComments(lnumber, $1.Comments()) - } else { - $2.Value = "-"+$2.Value - $$ = scalar.NewString($2.Value) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) - } - - comments.AddComments($$, $1.Comments()) - } - | T_VARIABLE - { - identifier := node.NewIdentifier($1.Value) - positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewVariable(identifier) - positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) - - comments.AddComments(identifier, $1.Comments()) - comments.AddComments($$, $1.Comments()) - } + T_STRING { } + | T_NUM_STRING { } + | T_VARIABLE { } ; + internal_functions_in_yacc: - T_ISSET '(' isset_variables possible_comma ')' - { - $$ = expr.NewIsset($3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) - comments.AddComments($$, $1.Comments()) - } - | T_EMPTY '(' expr ')' - { - $$ = expr.NewEmpty($3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } - | T_INCLUDE expr - { - $$ = expr.NewInclude($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_INCLUDE_ONCE expr - { - $$ = expr.NewIncludeOnce($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_EVAL '(' expr ')' - { - $$ = expr.NewEval($3) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } - | T_REQUIRE expr - { - $$ = expr.NewRequire($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } - | T_REQUIRE_ONCE expr - { - $$ = expr.NewRequireOnce($2) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) - comments.AddComments($$, $1.Comments()) - } + T_ISSET '(' isset_variables ')' { } + | T_EMPTY '(' variable ')' { } + | T_EMPTY '(' expr_without_variable ')' { } + | T_INCLUDE expr { } + | T_INCLUDE_ONCE expr { } + | T_EVAL '(' expr ')' { } + | T_REQUIRE expr { } + | T_REQUIRE_ONCE expr { } ; isset_variables: - isset_variable { $$ = []node.Node{$1} } - | isset_variables ',' isset_variable { $$ = append($1, $3) } + isset_variable { } + | isset_variables ',' { } isset_variable { } ; isset_variable: - expr { $$ = $1 } + variable { } + | expr_without_variable { } ; -///////////////////////////////////////////////////////////////////////// +class_constant: + class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } +; + +static_class_name_scalar: + class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } +; + +class_name_scalar: + class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } +; %% \ No newline at end of file From 70c091d323ebedccea5c940f44b6636243dc5b85 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Mon, 29 Jan 2018 16:11:45 +0200 Subject: [PATCH 05/31] fix token consts --- php5/php5.go | 5420 +++++++++++++++++++++++++++++----------------- php5/php5.y | 1430 ++++++------ php7/php7.go | 3328 ++++++++++++++-------------- php7/php7.y | 71 +- scanner/lexer.go | 268 +-- 5 files changed, 6053 insertions(+), 4464 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index a14c4a9..324e3af 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -7,11 +7,11 @@ import __yyfmt__ "fmt" import ( // "strings" // "strconv" - "github.com/z7zmey/php-parser/token" // "github.com/z7zmey/php-parser/node" - // "github.com/z7zmey/php-parser/node/scalar" - // "github.com/z7zmey/php-parser/node/name" - // "github.com/z7zmey/php-parser/node/stmt" - // "github.com/z7zmey/php-parser/node/expr" + + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/token" // "github.com/z7zmey/php-parser/node/scalar" + "github.com/z7zmey/php-parser/node/name" + "github.com/z7zmey/php-parser/node/stmt" // "github.com/z7zmey/php-parser/node/expr" // "github.com/z7zmey/php-parser/node/expr/assign_op" // "github.com/z7zmey/php-parser/node/expr/binary_op" // "github.com/z7zmey/php-parser/node/expr/cast" @@ -20,142 +20,151 @@ import ( //line php5/php5.y:21 type yySymType struct { yys int + node node.Node token token.Token + // boolWithToken boolWithToken + list []node.Node + // foreachVariable foreachVariable + // nodesWithEndToken *nodesWithEndToken + // str string } const T_INCLUDE = 57346 const T_INCLUDE_ONCE = 57347 -const T_EVAL = 57348 -const T_REQUIRE = 57349 -const T_REQUIRE_ONCE = 57350 -const T_LOGICAL_OR = 57351 -const T_LOGICAL_XOR = 57352 -const T_LOGICAL_AND = 57353 -const T_PRINT = 57354 -const T_YIELD = 57355 -const T_PLUS_EQUAL = 57356 -const T_MINUS_EQUAL = 57357 -const T_MUL_EQUAL = 57358 -const T_DIV_EQUAL = 57359 -const T_CONCAT_EQUAL = 57360 -const T_MOD_EQUAL = 57361 -const T_AND_EQUAL = 57362 -const T_OR_EQUAL = 57363 -const T_XOR_EQUAL = 57364 -const T_SL_EQUAL = 57365 -const T_SR_EQUAL = 57366 -const T_POW_EQUAL = 57367 -const T_BOOLEAN_OR = 57368 -const T_BOOLEAN_AND = 57369 -const T_IS_EQUAL = 57370 -const T_IS_NOT_EQUAL = 57371 -const T_IS_IDENTICAL = 57372 -const T_IS_NOT_IDENTICAL = 57373 -const T_IS_SMALLER_OR_EQUAL = 57374 -const T_IS_GREATER_OR_EQUAL = 57375 -const T_SL = 57376 -const T_SR = 57377 -const T_INSTANCEOF = 57378 -const T_INC = 57379 -const T_DEC = 57380 -const T_INT_CAST = 57381 -const T_DOUBLE_CAST = 57382 -const T_STRING_CAST = 57383 -const T_ARRAY_CAST = 57384 -const T_OBJECT_CAST = 57385 -const T_BOOL_CAST = 57386 -const T_UNSET_CAST = 57387 -const T_POW = 57388 -const T_NEW = 57389 -const T_CLONE = 57390 -const T_ELSEIF = 57391 -const T_ELSE = 57392 -const T_ENDIF = 57393 -const T_STATIC = 57394 -const T_ABSTRACT = 57395 -const T_FINAL = 57396 -const T_PRIVATE = 57397 -const T_PROTECTED = 57398 -const T_PUBLIC = 57399 -const T_EXIT = 57400 -const T_IF = 57401 -const T_LNUMBER = 57402 -const T_DNUMBER = 57403 -const T_STRING = 57404 -const T_STRING_VARNAME = 57405 -const T_VARIABLE = 57406 -const T_NUM_STRING = 57407 -const T_INLINE_HTML = 57408 -const T_CHARACTER = 57409 -const T_BAD_CHARACTER = 57410 -const T_ENCAPSED_AND_WHITESPACE = 57411 -const T_CONSTANT_ENCAPSED_STRING = 57412 -const T_ECHO = 57413 -const T_DO = 57414 -const T_WHILE = 57415 -const T_ENDWHILE = 57416 -const T_FOR = 57417 -const T_ENDFOR = 57418 -const T_FOREACH = 57419 -const T_ENDFOREACH = 57420 -const T_DECLARE = 57421 -const T_ENDDECLARE = 57422 -const T_AS = 57423 -const T_SWITCH = 57424 -const T_ENDSWITCH = 57425 -const T_CASE = 57426 -const T_DEFAULT = 57427 -const T_BREAK = 57428 -const T_CONTINUE = 57429 -const T_GOTO = 57430 -const T_FUNCTION = 57431 -const T_CONST = 57432 -const T_RETURN = 57433 -const T_TRY = 57434 -const T_CATCH = 57435 -const T_FINALLY = 57436 -const T_THROW = 57437 -const T_USE = 57438 -const T_INSTEADOF = 57439 -const T_GLOBAL = 57440 -const T_VAR = 57441 -const T_UNSET = 57442 -const T_ISSET = 57443 -const T_EMPTY = 57444 -const T_HALT_COMPILER = 57445 -const T_CLASS = 57446 -const T_TRAIT = 57447 -const T_INTERFACE = 57448 -const T_EXTENDS = 57449 -const T_IMPLEMENTS = 57450 -const T_OBJECT_OPERATOR = 57451 -const T_DOUBLE_ARROW = 57452 -const T_LIST = 57453 -const T_ARRAY = 57454 -const T_CALLABLE = 57455 -const T_CLASS_C = 57456 -const T_TRAIT_C = 57457 -const T_METHOD_C = 57458 -const T_FUNC_C = 57459 -const T_LINE = 57460 -const T_FILE = 57461 -const T_COMMENT = 57462 -const T_DOC_COMMENT = 57463 -const T_OPEN_TAG = 57464 -const T_OPEN_TAG_WITH_ECHO = 57465 -const T_CLOSE_TAG = 57466 -const T_WHITESPACE = 57467 -const T_START_HEREDOC = 57468 -const T_END_HEREDOC = 57469 -const T_DOLLAR_OPEN_CURLY_BRACES = 57470 -const T_CURLY_OPEN = 57471 -const T_PAAMAYIM_NEKUDOTAYIM = 57472 -const T_NAMESPACE = 57473 -const T_NS_C = 57474 -const T_DIR = 57475 -const T_NS_SEPARATOR = 57476 -const T_ELLIPSIS = 57477 -const T_YIELD_FROM = 57478 +const T_EXIT = 57348 +const T_IF = 57349 +const T_LNUMBER = 57350 +const T_DNUMBER = 57351 +const T_STRING = 57352 +const T_STRING_VARNAME = 57353 +const T_VARIABLE = 57354 +const T_NUM_STRING = 57355 +const T_INLINE_HTML = 57356 +const T_CHARACTER = 57357 +const T_BAD_CHARACTER = 57358 +const T_ENCAPSED_AND_WHITESPACE = 57359 +const T_CONSTANT_ENCAPSED_STRING = 57360 +const T_ECHO = 57361 +const T_DO = 57362 +const T_WHILE = 57363 +const T_ENDWHILE = 57364 +const T_FOR = 57365 +const T_ENDFOR = 57366 +const T_FOREACH = 57367 +const T_ENDFOREACH = 57368 +const T_DECLARE = 57369 +const T_ENDDECLARE = 57370 +const T_AS = 57371 +const T_SWITCH = 57372 +const T_ENDSWITCH = 57373 +const T_CASE = 57374 +const T_DEFAULT = 57375 +const T_BREAK = 57376 +const T_CONTINUE = 57377 +const T_GOTO = 57378 +const T_FUNCTION = 57379 +const T_CONST = 57380 +const T_RETURN = 57381 +const T_TRY = 57382 +const T_CATCH = 57383 +const T_FINALLY = 57384 +const T_THROW = 57385 +const T_USE = 57386 +const T_INSTEADOF = 57387 +const T_GLOBAL = 57388 +const T_VAR = 57389 +const T_UNSET = 57390 +const T_ISSET = 57391 +const T_EMPTY = 57392 +const T_HALT_COMPILER = 57393 +const T_CLASS = 57394 +const T_TRAIT = 57395 +const T_INTERFACE = 57396 +const T_EXTENDS = 57397 +const T_IMPLEMENTS = 57398 +const T_OBJECT_OPERATOR = 57399 +const T_DOUBLE_ARROW = 57400 +const T_LIST = 57401 +const T_ARRAY = 57402 +const T_CALLABLE = 57403 +const T_CLASS_C = 57404 +const T_TRAIT_C = 57405 +const T_METHOD_C = 57406 +const T_FUNC_C = 57407 +const T_LINE = 57408 +const T_FILE = 57409 +const T_COMMENT = 57410 +const T_DOC_COMMENT = 57411 +const T_OPEN_TAG = 57412 +const T_OPEN_TAG_WITH_ECHO = 57413 +const T_CLOSE_TAG = 57414 +const T_WHITESPACE = 57415 +const T_START_HEREDOC = 57416 +const T_END_HEREDOC = 57417 +const T_DOLLAR_OPEN_CURLY_BRACES = 57418 +const T_CURLY_OPEN = 57419 +const T_PAAMAYIM_NEKUDOTAYIM = 57420 +const T_NAMESPACE = 57421 +const T_NS_C = 57422 +const T_DIR = 57423 +const T_NS_SEPARATOR = 57424 +const T_ELLIPSIS = 57425 +const T_EVAL = 57426 +const T_REQUIRE = 57427 +const T_REQUIRE_ONCE = 57428 +const T_LOGICAL_OR = 57429 +const T_LOGICAL_XOR = 57430 +const T_LOGICAL_AND = 57431 +const T_INSTANCEOF = 57432 +const T_NEW = 57433 +const T_CLONE = 57434 +const T_ELSEIF = 57435 +const T_ELSE = 57436 +const T_ENDIF = 57437 +const T_PRINT = 57438 +const T_YIELD = 57439 +const T_STATIC = 57440 +const T_ABSTRACT = 57441 +const T_FINAL = 57442 +const T_PRIVATE = 57443 +const T_PROTECTED = 57444 +const T_PUBLIC = 57445 +const T_INC = 57446 +const T_DEC = 57447 +const T_YIELD_FROM = 57448 +const T_INT_CAST = 57449 +const T_DOUBLE_CAST = 57450 +const T_STRING_CAST = 57451 +const T_ARRAY_CAST = 57452 +const T_OBJECT_CAST = 57453 +const T_BOOL_CAST = 57454 +const T_UNSET_CAST = 57455 +const T_COALESCE = 57456 +const T_SPACESHIP = 57457 +const T_NOELSE = 57458 +const T_PLUS_EQUAL = 57459 +const T_MINUS_EQUAL = 57460 +const T_MUL_EQUAL = 57461 +const T_DIV_EQUAL = 57462 +const T_CONCAT_EQUAL = 57463 +const T_MOD_EQUAL = 57464 +const T_AND_EQUAL = 57465 +const T_OR_EQUAL = 57466 +const T_XOR_EQUAL = 57467 +const T_SL_EQUAL = 57468 +const T_SR_EQUAL = 57469 +const T_POW_EQUAL = 57470 +const T_BOOLEAN_OR = 57471 +const T_BOOLEAN_AND = 57472 +const T_IS_EQUAL = 57473 +const T_IS_NOT_EQUAL = 57474 +const T_IS_IDENTICAL = 57475 +const T_IS_NOT_IDENTICAL = 57476 +const T_IS_SMALLER_OR_EQUAL = 57477 +const T_IS_GREATER_OR_EQUAL = 57478 +const T_SL = 57479 +const T_SR = 57480 +const T_POW = 57481 var yyToknames = [...]string{ "$end", @@ -163,77 +172,6 @@ var yyToknames = [...]string{ "$unk", "T_INCLUDE", "T_INCLUDE_ONCE", - "T_EVAL", - "T_REQUIRE", - "T_REQUIRE_ONCE", - "','", - "T_LOGICAL_OR", - "T_LOGICAL_XOR", - "T_LOGICAL_AND", - "T_PRINT", - "T_YIELD", - "'='", - "T_PLUS_EQUAL", - "T_MINUS_EQUAL", - "T_MUL_EQUAL", - "T_DIV_EQUAL", - "T_CONCAT_EQUAL", - "T_MOD_EQUAL", - "T_AND_EQUAL", - "T_OR_EQUAL", - "T_XOR_EQUAL", - "T_SL_EQUAL", - "T_SR_EQUAL", - "T_POW_EQUAL", - "'?'", - "':'", - "T_BOOLEAN_OR", - "T_BOOLEAN_AND", - "'|'", - "'^'", - "'&'", - "T_IS_EQUAL", - "T_IS_NOT_EQUAL", - "T_IS_IDENTICAL", - "T_IS_NOT_IDENTICAL", - "'<'", - "T_IS_SMALLER_OR_EQUAL", - "'>'", - "T_IS_GREATER_OR_EQUAL", - "T_SL", - "T_SR", - "'+'", - "'-'", - "'.'", - "'*'", - "'/'", - "'%'", - "'!'", - "T_INSTANCEOF", - "'~'", - "T_INC", - "T_DEC", - "T_INT_CAST", - "T_DOUBLE_CAST", - "T_STRING_CAST", - "T_ARRAY_CAST", - "T_OBJECT_CAST", - "T_BOOL_CAST", - "T_UNSET_CAST", - "'@'", - "T_POW", - "'['", - "T_NEW", - "T_CLONE", - "T_ELSEIF", - "T_ELSE", - "T_ENDIF", - "T_STATIC", - "T_ABSTRACT", - "T_FINAL", - "T_PRIVATE", - "T_PROTECTED", - "T_PUBLIC", "T_EXIT", "T_IF", "T_LNUMBER", @@ -312,16 +250,90 @@ var yyToknames = [...]string{ "T_DIR", "T_NS_SEPARATOR", "T_ELLIPSIS", + "T_EVAL", + "T_REQUIRE", + "T_REQUIRE_ONCE", + "T_LOGICAL_OR", + "T_LOGICAL_XOR", + "T_LOGICAL_AND", + "T_INSTANCEOF", + "T_NEW", + "T_CLONE", + "T_ELSEIF", + "T_ELSE", + "T_ENDIF", + "T_PRINT", + "T_YIELD", + "T_STATIC", + "T_ABSTRACT", + "T_FINAL", + "T_PRIVATE", + "T_PROTECTED", + "T_PUBLIC", + "T_INC", + "T_DEC", "T_YIELD_FROM", + "T_INT_CAST", + "T_DOUBLE_CAST", + "T_STRING_CAST", + "T_ARRAY_CAST", + "T_OBJECT_CAST", + "T_BOOL_CAST", + "T_UNSET_CAST", + "T_COALESCE", + "T_SPACESHIP", + "T_NOELSE", "'\"'", "'`'", "'{'", "'}'", "';'", + "':'", "'('", "')'", + "'['", "']'", + "'?'", + "'&'", + "'-'", + "'+'", + "'!'", + "'~'", + "'@'", "'$'", + "','", + "'='", + "T_PLUS_EQUAL", + "T_MINUS_EQUAL", + "T_MUL_EQUAL", + "T_DIV_EQUAL", + "T_CONCAT_EQUAL", + "T_MOD_EQUAL", + "T_AND_EQUAL", + "T_OR_EQUAL", + "T_XOR_EQUAL", + "T_SL_EQUAL", + "T_SR_EQUAL", + "T_POW_EQUAL", + "T_BOOLEAN_OR", + "T_BOOLEAN_AND", + "'|'", + "'^'", + "T_IS_EQUAL", + "T_IS_NOT_EQUAL", + "T_IS_IDENTICAL", + "T_IS_NOT_IDENTICAL", + "'<'", + "T_IS_SMALLER_OR_EQUAL", + "'>'", + "T_IS_GREATER_OR_EQUAL", + "T_SL", + "T_SR", + "'.'", + "'*'", + "'/'", + "'%'", + "T_POW", } var yyStatenames = [...]string{} @@ -329,219 +341,1426 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1262 +//line php5/php5.y:1472 //line yacctab:1 var yyExca = [...]int{ -1, 1, 1, -1, -2, 0, + -1, 50, + 104, 496, + 105, 496, + -2, 494, + -1, 99, + 125, 518, + -2, 522, + -1, 101, + 78, 391, + 123, 374, + -2, 472, + -1, 113, + 78, 516, + 123, 512, + -2, 523, + -1, 153, + 104, 496, + 105, 496, + -2, 494, + -1, 203, + 121, 357, + 124, 357, + -2, 491, + -1, 204, + 104, 496, + 105, 496, + 121, 358, + 124, 358, + -2, 494, + -1, 227, + 123, 374, + -2, 391, + -1, 270, + 78, 516, + -2, 523, + -1, 296, + 78, 393, + 123, 378, + -2, 474, + -1, 300, + 123, 513, + -2, 524, + -1, 309, + 78, 392, + 123, 376, + -2, 473, + -1, 366, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 318, + -1, 367, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 319, + -1, 368, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 320, + -1, 369, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 321, + -1, 370, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 322, + -1, 371, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 323, + -1, 372, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 324, + -1, 373, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 325, + -1, 380, + 104, 496, + 105, 496, + -2, 494, + -1, 408, + 123, 378, + -2, 393, + -1, 438, + 104, 496, + 105, 496, + 124, 583, + 135, 583, + -2, 494, + -1, 439, + 124, 584, + 135, 584, + -2, 491, + -1, 440, + 104, 496, + 105, 496, + -2, 494, + -1, 462, + 123, 382, + -2, 514, + -1, 463, + 123, 538, + -2, 585, + -1, 471, + 123, 386, + -2, 515, + -1, 472, + 123, 538, + -2, 586, + -1, 495, + 78, 391, + -2, 430, + -1, 540, + 124, 174, + -2, 179, + -1, 548, + 121, 359, + 124, 359, + -2, 491, + -1, 549, + 104, 496, + 105, 496, + 121, 360, + 124, 360, + -2, 494, + -1, 556, + 123, 376, + -2, 392, + -1, 558, + 57, 266, + 125, 266, + -2, 265, + -1, 594, + 124, 188, + 135, 188, + -2, 491, + -1, 595, + 104, 496, + 105, 496, + 124, 189, + 135, 189, + -2, 494, + -1, 646, + 78, 393, + -2, 432, + -1, 672, + 124, 174, + -2, 179, + -1, 683, + 124, 174, + -2, 179, + -1, 709, + 123, 507, + -2, 511, + -1, 748, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 458, + -1, 749, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 459, + -1, 750, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 460, + -1, 751, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 461, + -1, 752, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 462, + -1, 753, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 463, + -1, 754, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 464, + -1, 755, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 465, + -1, 758, + 78, 392, + -2, 431, + -1, 808, + 57, 261, + -2, 263, + -1, 870, + 37, 235, + -2, 232, + -1, 938, + 123, 507, + -2, 511, + -1, 1014, + 29, 223, + -2, 4, + -1, 1043, + 124, 174, + -2, 179, + -1, 1047, + 121, 227, + -2, 229, } const yyPrivate = 57344 -const yyLast = 2 +const yyLast = 6449 var yyAct = [...]int{ - 2, 1, + 101, 1071, 136, 491, 684, 113, 874, 815, 1008, 122, + 130, 986, 199, 690, 566, 552, 809, 858, 329, 114, + 146, 840, 60, 38, 811, 4, 570, 801, 782, 696, + 848, 450, 117, 97, 686, 593, 378, 317, 437, 43, + 137, 648, 666, 263, 142, 313, 25, 157, 161, 129, + 257, 2, 288, 571, 618, 227, 227, 553, 178, 191, + 569, 453, 1042, 1002, 152, 1054, 42, 973, 1001, 972, + 969, 557, 463, 120, 120, 999, 168, 170, 169, 191, + 266, 203, 618, 971, 191, 270, 995, 989, 964, 1000, + 934, 927, 854, 802, 250, 804, 622, 996, 700, 271, + 681, 700, 796, 296, 718, 928, 492, 671, 490, 240, + 842, 841, 346, 269, 464, 719, 192, 172, 176, 175, + 300, 621, 623, 624, 622, 309, 699, 323, 314, 318, + 762, 191, 321, 177, 179, 180, 178, 700, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 516, 679, 334, + 227, 178, 327, 451, 200, 977, 328, 893, 161, 680, + 176, 175, 576, 532, 345, 308, 168, 170, 169, 191, + 465, 465, 618, 577, 533, 240, 620, 619, 892, 191, + 976, 472, 266, 120, 227, 119, 119, 270, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 896, + 1021, 271, 974, 484, 937, 120, 192, 172, 176, 175, + 630, 621, 623, 624, 622, 269, 340, 485, 176, 175, + 408, 120, 158, 895, 381, 374, 962, 813, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 480, 347, 343, + 338, 227, 174, 177, 179, 180, 178, 578, 760, 432, + 812, 481, 348, 344, 339, 717, 603, 434, 588, 208, + 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, + 220, 212, 227, 299, 582, 581, 240, 310, 560, 298, + 465, 559, 885, 466, 631, 632, 420, 421, 466, 416, + 449, 311, 130, 439, 441, 119, 483, 467, 564, 456, + 487, 711, 467, 125, 495, 120, 1022, 710, 132, 38, + 462, 424, 421, 420, 420, 471, 421, 301, 810, 292, + 448, 618, 133, 644, 626, 620, 619, 495, 286, 458, + 524, 511, 963, 119, 159, 280, 253, 473, 461, 476, + 252, 479, 1078, 470, 1058, 635, 634, 625, 627, 638, + 639, 636, 637, 640, 642, 641, 643, 628, 629, 630, + 621, 623, 624, 622, 618, 1040, 538, 520, 620, 619, + 543, 983, 228, 915, 227, 229, 912, 857, 1074, 423, + 125, 846, 120, 542, 551, 829, 795, 227, 556, 720, + 583, 232, 579, 413, 411, 466, 466, 305, 1043, 138, + 628, 629, 630, 621, 623, 624, 622, 923, 459, 467, + 467, 548, 573, 856, 466, 851, 466, 842, 841, 294, + 701, 466, 462, 471, 683, 191, 672, 119, 467, 555, + 467, 647, 540, 518, 382, 467, 519, 125, 287, 120, + 277, 568, 274, 572, 273, 249, 221, 194, 575, 228, + 461, 470, 229, 602, 193, 141, 307, 121, 306, 1082, + 981, 125, 314, 120, 176, 175, 318, 1064, 232, 1063, + 1060, 495, 948, 376, 617, 774, 775, 38, 646, 594, + 495, 326, 134, 1050, 103, 1030, 592, 495, 495, 495, + 495, 495, 774, 775, 598, 659, 181, 182, 174, 177, + 179, 180, 178, 613, 119, 1029, 228, 610, 980, 229, + 785, 956, 609, 910, 227, 906, 844, 838, 837, 661, + 675, 543, 669, 667, 515, 232, 694, 475, 543, 385, + 228, 336, 266, 229, 155, 1068, 1065, 270, 1039, 230, + 230, 697, 668, 418, 1027, 1017, 341, 419, 994, 232, + 676, 271, 993, 890, 682, 565, 324, 1080, 125, 1057, + 466, 119, 946, 843, 264, 269, 227, 258, 227, 712, + 443, 991, 422, 952, 467, 698, 447, 227, 90, 784, + 773, 922, 455, 921, 798, 119, 650, 568, 468, 695, + 304, 383, 862, 653, 654, 655, 656, 657, 615, 495, + 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, + 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, + 495, 495, 495, 495, 495, 495, 758, 715, 495, 716, + 124, 259, 260, 723, 724, 223, 224, 1033, 721, 726, + 727, 534, 904, 905, 230, 769, 833, 834, 256, 294, + 612, 294, 495, 543, 693, 779, 645, 780, 227, 227, + 431, 761, 495, 771, 543, 791, 770, 123, 794, 759, + 125, 407, 444, 543, 800, 124, 264, 652, 230, 435, + 797, 227, 430, 489, 410, 788, 697, 786, 409, 125, + 776, 302, 778, 297, 125, 445, 120, 125, 125, 125, + 120, 849, 799, 294, 812, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 757, 822, 439, 650, 825, 294, 495, 805, 594, + 281, 285, 319, 495, 495, 230, 589, 125, 208, 209, + 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, + 212, 315, 486, 228, 482, 227, 229, 267, 544, 131, + 268, 545, 853, 125, 127, 128, 230, 543, 943, 1014, + 320, 651, 232, 543, 61, 433, 232, 227, 878, 879, + 880, 877, 876, 875, 692, 258, 881, 852, 466, 258, + 422, 262, 884, 547, 422, 227, 863, 889, 505, 495, + 882, 860, 467, 53, 887, 294, 389, 294, 119, 131, + 207, 258, 119, 688, 689, 568, 283, 206, 859, 258, + 227, 505, 919, 294, 258, 495, 901, 764, 917, 284, + 902, 908, 544, 827, 911, 545, 1031, 238, 544, 830, + 831, 545, 894, 1072, 543, 793, 258, 930, 913, 259, + 260, 282, 446, 259, 260, 162, 898, 933, 225, 233, + 929, 44, 258, 845, 774, 775, 1032, 255, 230, 765, + 535, 495, 916, 936, 284, 259, 260, 777, 774, 775, + 44, 230, 951, 259, 260, 227, 939, 445, 259, 260, + 1038, 543, 493, 1056, 959, 960, 949, 947, 836, 514, + 954, 1077, 1041, 1023, 958, 899, 705, 1020, 707, 706, + 259, 260, 968, 997, 966, 493, 975, 924, 522, 466, + 1055, 982, 1048, 984, 1003, 985, 259, 260, 978, 967, + 931, 887, 125, 467, 790, 495, 729, 990, 998, 728, + 495, 979, 543, 1004, 543, 616, 568, 614, 611, 987, + 562, 987, 537, 488, 457, 1005, 386, 1013, 322, 713, + 202, 1018, 201, 198, 1019, 505, 135, 436, 704, 561, + 289, 806, 495, 495, 505, 1024, 1025, 944, 543, 567, + 118, 505, 505, 505, 505, 505, 1028, 872, 1034, 293, + 819, 1013, 98, 873, 115, 818, 871, 816, 817, 938, + 891, 709, 543, 428, 78, 649, 89, 100, 230, 1047, + 1049, 502, 1036, 495, 543, 1045, 1052, 494, 1053, 500, + 942, 897, 821, 574, 265, 543, 264, 303, 606, 605, + 1061, 600, 599, 460, 478, 295, 99, 1066, 1059, 961, + 88, 523, 1073, 387, 254, 543, 75, 878, 879, 880, + 877, 876, 875, 1081, 74, 73, 251, 248, 1075, 493, + 230, 63, 230, 531, 781, 375, 558, 352, 493, 925, + 351, 230, 350, 349, 803, 493, 493, 493, 493, 493, + 406, 429, 703, 702, 886, 807, 808, 665, 330, 870, + 888, 1046, 1012, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 1044, 1011, 505, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 1010, 1009, 1007, 1006, + 970, 932, 1062, 1026, 618, 869, 505, 868, 620, 619, + 867, 965, 230, 230, 926, 866, 505, 865, 591, 687, + 685, 1015, 945, 909, 950, 935, 116, 914, 546, 390, + 40, 691, 940, 941, 541, 230, 640, 642, 641, 643, + 628, 629, 630, 621, 623, 624, 622, 493, 493, 493, + 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, + 493, 493, 493, 493, 388, 39, 493, 539, 861, 14, + 13, 231, 231, 1079, 1076, 1070, 957, 1069, 1067, 1051, + 992, 505, 920, 918, 855, 792, 196, 505, 505, 787, + 493, 536, 195, 955, 678, 953, 272, 900, 337, 677, + 493, 377, 163, 160, 156, 517, 618, 332, 1035, 230, + 620, 619, 1016, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 633, 631, 632, 907, + 50, 230, 664, 663, 638, 639, 636, 637, 640, 642, + 641, 643, 628, 629, 630, 621, 623, 624, 622, 230, + 140, 872, 660, 505, 513, 153, 139, 873, 903, 835, + 871, 768, 512, 832, 618, 767, 644, 626, 620, 619, + 658, 325, 204, 11, 230, 493, 231, 10, 6, 505, + 5, 493, 493, 1, 316, 226, 226, 312, 635, 634, + 625, 627, 638, 639, 636, 637, 640, 642, 641, 643, + 628, 629, 630, 621, 623, 624, 622, 126, 272, 3, + 231, 878, 879, 880, 877, 876, 875, 0, 0, 0, + 0, 0, 0, 0, 618, 505, 644, 626, 620, 619, + 0, 0, 0, 864, 0, 0, 0, 0, 0, 230, + 0, 0, 0, 0, 0, 0, 0, 493, 635, 634, + 625, 627, 638, 639, 636, 637, 640, 642, 641, 643, + 628, 629, 630, 621, 623, 624, 622, 0, 0, 0, + 0, 0, 0, 493, 0, 0, 0, 231, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, + 342, 0, 30, 0, 505, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, + 0, 0, 0, 0, 0, 144, 150, 154, 0, 493, + 0, 164, 0, 0, 379, 380, 505, 505, 0, 197, + 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 222, 0, 0, 0, 234, + 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, + 244, 245, 246, 247, 0, 0, 0, 505, 0, 0, + 261, 0, 0, 0, 0, 275, 276, 632, 278, 279, + 0, 0, 0, 493, 0, 0, 0, 0, 493, 290, + 0, 427, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 438, 440, 0, 0, 0, 0, + 231, 0, 0, 618, 0, 644, 626, 620, 619, 0, + 493, 493, 454, 231, 0, 0, 0, 0, 0, 0, + 0, 239, 0, 0, 331, 0, 0, 635, 634, 625, + 627, 638, 639, 636, 637, 640, 642, 641, 643, 628, + 629, 630, 621, 623, 624, 622, 0, 0, 0, 0, + 0, 493, 0, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 0, 0, 0, 154, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 392, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 0, 0, 0, 0, 0, 0, + 0, 0, 549, 0, 550, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, + 0, 0, 239, 0, 415, 417, 417, 0, 0, 0, + 231, 0, 425, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 154, 154, 272, 0, + 442, 0, 0, 417, 0, 0, 0, 0, 0, 417, + 290, 0, 0, 0, 0, 417, 725, 0, 0, 0, + 595, 417, 469, 192, 172, 176, 175, 474, 0, 0, + 0, 0, 231, 0, 231, 0, 0, 0, 0, 0, + 0, 0, 0, 231, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 521, 633, 631, 632, 0, 0, + 0, 525, 526, 527, 528, 529, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 379, 0, 0, 0, 530, 0, + 828, 0, 0, 618, 0, 644, 626, 620, 619, 0, + 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 231, 231, 0, 635, 634, 625, + 627, 638, 639, 636, 637, 640, 642, 641, 643, 628, + 629, 630, 621, 623, 624, 622, 454, 231, 454, 0, + 168, 170, 169, 191, 0, 0, 0, 454, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 618, 0, + 0, 626, 620, 619, 584, 586, 0, 0, 0, 417, + 0, 0, 154, 0, 0, 0, 0, 0, 601, 814, + 192, 172, 176, 175, 625, 627, 638, 639, 636, 637, + 640, 642, 641, 643, 628, 629, 630, 621, 623, 624, + 622, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 231, 0, 0, 0, 0, 0, 0, 783, 783, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 231, 674, 0, 0, 0, 0, 0, + 0, 554, 633, 631, 632, 0, 0, 0, 0, 0, + 0, 231, 0, 0, 438, 0, 0, 0, 0, 0, + 595, 0, 0, 0, 0, 0, 0, 708, 0, 0, + 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, + 618, 826, 644, 626, 620, 619, 0, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 722, 0, 0, 0, 635, 634, 625, 627, 638, 639, + 636, 637, 640, 642, 641, 643, 628, 629, 630, 621, + 623, 624, 622, 0, 0, 850, 176, 175, 0, 0, + 0, 0, 633, 631, 632, 0, 0, 0, 0, 0, + 0, 231, 0, 0, 0, 0, 0, 554, 0, 0, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 454, 0, 331, 772, 766, + 618, 0, 644, 626, 620, 619, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 783, 0, 0, 0, 635, 634, 625, 627, 638, 639, + 636, 637, 640, 642, 641, 643, 628, 629, 630, 621, + 623, 624, 622, 417, 820, 0, 154, 823, 0, 0, + 0, 0, 154, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 554, 0, 0, 673, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 839, 0, 0, + 0, 0, 0, 0, 847, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 0, 0, 883, 0, 0, + 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, + 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, + 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 417, 0, + 0, 0, 0, 0, 92, 417, 417, 0, 0, 8, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 331, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 608, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 15, + 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, + 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 477, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, + 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 0, 34, 1037, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 0, 34, 988, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 0, 34, 789, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 0, 34, 662, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 763, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 633, 631, 632, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 714, 0, 0, 91, 76, 16, 0, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 0, 0, 618, 0, 644, 626, 620, 619, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 635, 634, + 625, 627, 638, 639, 636, 637, 640, 642, 641, 643, + 628, 629, 630, 621, 623, 624, 622, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 670, 0, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 607, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 604, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 580, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 563, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 391, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 412, 0, + 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 384, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 335, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 333, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 633, 631, 632, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 618, 0, 644, 626, 620, + 619, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, + 634, 625, 627, 638, 639, 636, 637, 640, 642, 641, + 643, 628, 629, 630, 621, 623, 624, 622, 0, 0, + 0, 192, 172, 176, 175, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 192, 172, 176, 175, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 0, 192, 172, 176, 175, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 192, 172, 176, + 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 618, 0, + 0, 626, 620, 619, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 635, 634, 625, 627, 638, 639, 636, 637, + 640, 642, 641, 643, 628, 629, 630, 621, 623, 624, + 622, 0, 172, 176, 175, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 618, 0, 0, + 626, 620, 619, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 634, 625, 627, 638, 639, 636, 637, 640, + 642, 641, 643, 628, 629, 630, 621, 623, 624, 622, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 176, + 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 597, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 0, 62, 590, 96, 0, 0, 596, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 191, 0, + 0, 148, 112, 108, 102, 597, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 172, 176, 175, 91, + 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 596, 57, 56, 58, 59, 72, 119, 0, 0, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 618, 0, 0, 626, + 620, 619, 0, 0, 0, 0, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 627, 638, 639, 636, 637, 640, 642, + 641, 643, 628, 629, 630, 621, 623, 624, 622, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 824, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 587, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 191, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 172, 176, + 175, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 0, 585, 57, 56, 58, 59, 72, 119, 0, + 0, 0, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, + 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 0, 291, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 0, 0, 0, 0, 62, 414, + 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 0, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 393, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 151, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 149, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 143, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 618, 91, 76, 626, + 620, 619, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 638, 639, 636, 637, 640, 642, + 641, 643, 628, 629, 630, 621, 623, 624, 622, 82, + 83, 71, 0, 104, 105, 125, 426, 120, 0, 0, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 104, + 105, 125, 77, 41, 147, 0, 0, 0, 0, 503, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 498, 0, 501, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 504, 0, 0, 0, 0, + 496, 112, 108, 497, 104, 105, 125, 0, 0, 0, + 0, 0, 0, 0, 503, 0, 0, 0, 0, 232, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 756, 510, 0, 499, 0, 0, 0, + 509, 508, 506, 507, 0, 0, 498, 0, 501, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 504, 0, 0, 0, 0, 496, 112, 108, 497, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, + 0, 499, 0, 0, 0, 509, 508, 506, 507, } var yyPact = [...]int{ - -1000, -1000, -1000, + -1000, -1000, 2552, -1000, -1000, -1000, -1000, 354, 568, 757, + 207, -1000, 380, -1000, -1000, 986, -1000, 296, -1000, -1000, + 352, 296, 5739, 5608, 5477, 433, 220, 873, 5870, -1000, + 3856, 351, 344, -1000, -1000, -1000, 5870, 983, 36, 982, + 980, 5870, -1000, -1000, -1000, -1000, 795, -1000, 788, -1000, + 1017, 343, 5870, 551, 704, 704, 5870, 5870, 5870, 5870, + -1000, -1000, 6156, -1000, 5870, 5870, 5870, 5870, 5870, 5870, + 5870, 342, -1000, -1000, 235, 231, 880, 5870, 764, 708, + 341, 339, 5870, 5870, 337, 5870, 5870, -1000, 230, -1000, + -1000, 864, 829, -1000, 223, 335, 5084, -1000, 214, -1000, + -1000, 587, 952, 635, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 174, 203, -1000, 633, -1000, -1000, 491, + -1000, 293, 357, -1000, 952, -1000, 176, 699, 680, -1000, + 771, 952, -1000, 978, -1000, -9, 456, 379, 6156, 296, + 3207, 5870, -1000, -1000, 3809, -1000, 36, 854, 613, -1000, + 3762, -1000, 430, 1157, 3944, -1000, 139, -1000, -1000, 447, + 138, 36, -24, 137, 3944, -1000, -1000, -1000, -1000, -1000, + 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, + 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, + 5870, 708, 371, 704, 5870, 331, 492, 3715, 428, 976, + -1000, 781, -1000, -1000, 1017, 3668, -1000, -1000, 5346, 5870, + 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, + 5870, -1000, -1000, -1000, -1000, -1000, -1000, 587, 609, 952, + 630, 626, -1000, -1000, -109, -109, -6, -109, 290, 3624, + 289, -109, -109, -109, -109, -109, -109, -109, -1000, 5215, + -1000, 5870, 5870, 5870, 449, 837, 803, -1000, 274, 6025, + 704, 4070, -1000, -1000, 624, -1000, 587, 598, 952, 748, + 174, 203, 621, 5870, 5870, 3944, 3944, 5870, 3944, 3944, + 5870, 575, 837, 842, -1000, 807, 5870, 5084, 184, 28, + 3580, 704, 5870, 194, 974, 305, 587, 62, 5870, 5870, + 174, 491, 181, 305, 5870, 426, -1000, -1000, 2421, 587, + -1000, 707, 136, -1000, 755, 952, 92, -1000, 753, 952, + 973, 674, -28, 6316, -1000, 3207, -1000, -1000, 908, 423, + 22, 3944, 334, -1000, -1000, -1000, -1000, -1000, -1000, 220, + -1000, 5870, -1000, -1000, 936, -1000, 6316, -1000, 5870, 5870, + 5870, 5870, 5870, 4029, 4920, 1967, 5213, -31, -31, -31, + -6, -109, -6, -6, 99, 99, 41, 41, 41, 41, + 355, 355, 355, 355, -1000, 5870, -1000, 49, -1000, -1000, + 632, 871, 972, -1000, -1000, -1000, -1000, 329, -1000, 709, + 768, 5870, 4070, 313, 4070, 4070, 4070, 4070, 4070, 4070, + 4070, 4070, 4070, 4070, 4070, 4070, 390, 952, 587, 61, + 61, -1000, -1000, -1000, -1000, -109, 175, 3944, 172, -1000, + -1000, -1000, -1000, -1000, 970, 3499, 193, 455, 61, 305, + 219, 952, 587, -1000, 174, 219, 48, -1000, 1017, -1000, + 143, 288, 3451, 169, -1000, -1000, -1000, 168, 286, -1000, + -1000, 4934, 4803, -1000, -1000, 152, 5870, -1000, -1000, 4381, + 305, -1000, -1000, -1000, -1000, 5870, 174, 203, 150, 3407, + -1000, -1000, -1000, -1000, 3359, -1000, 2290, -1000, 305, -1000, + -1000, 699, 968, 641, -1000, 680, 967, 589, -1000, 965, + 6316, -1000, 3900, -1000, -1000, 587, 594, 952, 328, 6316, + -1000, -1000, -1000, -1000, 784, 619, 6316, 6316, 6316, 6316, + 6316, -1000, -1000, 3076, -1000, -1000, -1000, -1000, 422, 421, + -1000, 3311, -29, 323, -1000, 3944, 4250, 4498, 3987, 4070, + 2106, 5870, 419, 704, -1000, -1000, 34, -36, 454, 321, + 783, 758, -1000, 587, 592, 952, 490, 709, -1000, 1017, + -1000, 708, 2, -1000, -1000, 317, 587, -1000, -1000, -1000, + -1000, 926, -1000, -1000, 5870, -1000, -1000, 202, -1000, -1000, + -1000, -1000, -1000, 587, 61, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 3263, 704, 3944, 704, -1000, 149, + -1000, -20, 285, -1000, -1000, 1017, 704, 5870, -1000, 305, + 305, 1646, 174, -1000, -1000, 305, 305, -1000, -1000, -1000, + -1000, -1000, 959, -1000, -1000, 956, -1000, -1000, 6316, 6316, + 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, + 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, + 6316, 6316, 6316, 6316, 6241, 952, 587, 6316, 142, -5, + 3219, 640, 847, -71, -71, -43, -43, 2015, -1000, -1000, + -1000, -1000, -1000, 296, 5870, 5870, 480, -1000, 876, -1000, + -1000, 6316, 783, -1000, 4154, -1000, -1000, 471, 471, 2945, + 954, 6316, 834, 783, 282, -33, -1000, 36, -1000, -1000, + -1000, 485, 709, 952, 587, -1000, -42, -1000, -1000, -41, + 390, -1000, -1000, 213, 111, -1000, -1000, -1000, 1813, -1000, + 5870, 5870, -1000, 5870, 4672, -1000, -1000, -1000, -1000, 4512, + -1000, -1000, 3944, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1925, -43, -43, -71, -71, -71, -71, 4541, 1161, 5861, + 57, 57, -43, 1468, 1279, 216, 1793, 4172, 1049, 1049, + 1049, 1049, 259, 259, 259, 259, 6316, 1728, 587, 281, + -1000, -1000, 6316, 6316, -1000, -1000, -1000, 573, -1000, 906, + 417, 416, 3944, -1000, 5870, 316, 463, 415, 862, -1000, + 277, 5870, 663, -1000, 704, 312, 663, -1000, -1000, -1000, + -44, -1000, -1000, 310, 273, 804, 783, 529, -1000, -42, + 587, 1293, 709, 305, 5870, -1000, 390, -1000, 177, 667, + 5870, -1000, 61, -1000, 453, -1000, 63, 42, 305, 107, + 89, -1000, -1000, 3944, 704, -1000, -1000, 4113, 6316, -1000, + 1219, 3900, -1000, 296, 3207, 569, 414, -1000, -1000, -11, + -1000, -1000, -1000, -1000, -1000, 412, 804, 4154, 272, 471, + -1000, -1000, 269, 874, 6316, 810, -1000, 484, 482, 304, + -1000, 935, -1000, 979, -1000, -1000, -1000, -30, -1000, 854, + 710, -1000, 950, 709, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 4070, -34, 5870, 667, -1000, 88, -1000, + -1000, 667, 5870, 5870, -1000, -1000, -1000, 741, -1000, 4113, + 6316, -1000, -1000, 487, 296, 370, -1000, 5870, -1000, -1000, + -1000, 474, -1000, -1000, 390, -1000, 410, -1000, -1000, -1000, + 709, -1000, -1000, 224, -48, -1000, 932, -1000, 949, 36, + -1000, -66, -52, -1000, -1000, 86, 667, -1000, -1000, -1000, + 64, 39, -1000, 61, 3900, 3207, 407, 358, -1000, 267, + -1000, -1000, -1000, 2814, -37, 2814, -1000, 472, -1000, 452, + 448, -38, -1000, 931, 6316, -46, -68, -73, 944, 6316, + -1000, 709, -1000, 789, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 445, -1000, -1000, -1000, -1000, + -1000, -1000, 925, -1000, -1000, -1000, 198, -1000, -1000, -1000, + 921, 6316, 6316, -1000, -1000, -1000, 444, 789, -1000, 404, + 384, 821, 867, 579, -1000, -1000, 2683, -1000, 894, 438, + 261, -1000, 920, -74, -1000, -1000, 295, -1000, -1000, -1000, + -1000, 709, 710, 942, -1000, -1000, -1000, -1000, 382, -1000, + -1000, -1000, 6316, 783, -70, -1000, 940, -1000, -1000, 899, + -1000, 460, -1000, 240, 709, -1000, 369, -1000, 368, -1000, + -1000, 436, -1000, -1000, -1000, -1000, 435, 832, -1000, -1000, + 832, -1000, 275, -1000, 709, -1000, 919, 238, -1000, 458, + -1000, 359, -1000, } var yyPgo = [...]int{ - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, + 0, 1389, 49, 45, 37, 51, 0, 1387, 1367, 1364, + 1363, 25, 1360, 1358, 1357, 3, 2, 1357, 1353, 22, + 1351, 1350, 1345, 1343, 1342, 1341, 1339, 1338, 1336, 1334, + 1332, 1330, 1313, 18, 1312, 1309, 1292, 1288, 1287, 1285, + 1472, 39, 1310, 46, 1284, 1283, 1282, 1281, 1279, 28, + 30, 1275, 11, 1274, 1273, 1272, 1271, 1269, 1266, 1265, + 1264, 1263, 1262, 13, 1260, 1259, 1258, 1257, 1256, 1255, + 1, 1254, 1253, 36, 1250, 1249, 12, 1248, 20, 1247, + 4, 1245, 1244, 1204, 1201, 27, 1200, 1199, 1198, 29, + 1197, 15, 42, 21, 1194, 1193, 1192, 1191, 1190, 34, + 1189, 53, 1188, 35, 61, 47, 66, 1187, 1185, 1184, + 1181, 1180, 1177, 1175, 1173, 1172, 1171, 1170, 1169, 1168, + 8, 1167, 1166, 1151, 1150, 1122, 1121, 6, 1119, 1118, + 1117, 16, 24, 1116, 309, 1115, 1114, 1113, 1112, 804, + 43, 1111, 26, 1110, 1104, 833, 1103, 1102, 1100, 1097, + 1096, 1095, 1094, 1093, 1091, 1087, 1086, 1085, 1084, 1076, + 1074, 1073, 17, 1071, 1070, 52, 1069, 1066, 1065, 1064, + 1063, 504, 60, 1062, 32, 1061, 1196, 1059, 1058, 1057, + 1054, 33, 1053, 14, 1052, 1051, 1050, 668, 598, 1049, + 106, 1047, 41, 1041, 1037, 1036, 1035, 31, 1034, 1033, + 1031, 7, 1030, 1029, 1028, 1027, 1025, 5, 19, 1024, + 1022, 1019, 1010, 1009, 57, 1001, 1000, 50, 999, 998, + 997, 38, 989, } var yyR1 = [...]int{ - 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, - 4, 8, 4, 9, 4, 4, 4, 4, 4, 10, - 10, 14, 14, 14, 14, 11, 11, 15, 15, 15, - 15, 12, 12, 16, 16, 16, 16, 13, 13, 18, - 18, 19, 19, 19, 19, 5, 5, 20, 22, 23, - 20, 26, 27, 20, 30, 31, 20, 33, 34, 20, - 36, 37, 38, 20, 40, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 50, 53, 20, 55, 56, 20, 57, 20, 20, 60, - 62, 20, 20, 20, 61, 64, 66, 67, 68, 61, - 63, 70, 63, 69, 69, 71, 71, 73, 74, 72, - 49, 49, 75, 6, 7, 78, 78, 79, 79, 81, - 76, 85, 77, 89, 77, 83, 83, 83, 83, 84, - 84, 88, 90, 90, 86, 86, 91, 91, 52, 52, - 51, 51, 92, 51, 39, 39, 54, 54, 59, 59, - 58, 58, 41, 41, 41, 41, 94, 96, 94, 97, - 94, 95, 95, 32, 32, 24, 98, 24, 28, 99, - 28, 25, 25, 29, 29, 82, 82, 100, 100, 101, - 101, 102, 102, 102, 102, 103, 103, 103, 104, 104, - 105, 105, 105, 105, 46, 46, 107, 107, 107, 47, - 47, 47, 47, 87, 87, 111, 109, 109, 109, 116, - 109, 114, 118, 118, 119, 119, 120, 120, 121, 121, - 122, 122, 123, 126, 126, 127, 127, 125, 124, 124, - 128, 128, 117, 117, 110, 110, 115, 115, 130, 130, - 129, 129, 129, 129, 129, 129, 112, 112, 112, 112, - 113, 113, 48, 48, 35, 35, 132, 131, 131, 133, - 133, 135, 135, 138, 137, 137, 137, 139, 140, 139, - 143, 141, 145, 43, 43, 43, 146, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 148, 43, 149, 43, 150, - 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 152, 43, 153, 154, 43, 155, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 158, 43, 43, - 43, 43, 43, 43, 43, 163, 43, 165, 43, 45, - 45, 45, 45, 160, 160, 160, 160, 161, 161, 80, - 164, 164, 168, 168, 168, 168, 170, 169, 171, 169, - 172, 169, 175, 169, 177, 169, 179, 169, 180, 169, - 181, 169, 173, 173, 173, 173, 65, 65, 65, 142, - 142, 184, 186, 182, 182, 187, 187, 188, 157, 157, - 157, 162, 162, 162, 144, 144, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 191, 17, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 166, 166, 166, 166, 159, 159, 159, - 159, 159, 159, 159, 194, 194, 199, 199, 198, 198, - 198, 198, 42, 42, 21, 21, 108, 106, 147, 201, - 202, 44, 44, 204, 204, 205, 134, 206, 206, 208, - 207, 203, 203, 203, 176, 176, 211, 211, 178, 212, - 213, 212, 200, 200, 200, 183, 183, 183, 209, 209, - 209, 214, 214, 136, 136, 185, 185, 215, 215, 215, - 174, 174, 210, 210, 93, 93, 216, 217, 216, 216, - 167, 167, 218, 218, 218, 218, 218, 218, 218, 218, - 189, 189, 189, 189, 219, 220, 219, 219, 219, 219, - 219, 221, 221, 221, 156, 156, 156, 156, 156, 156, - 156, 156, 222, 224, 222, 223, 223, 196, 196, 193, - 197, + 0, 10, 5, 5, 6, 6, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 7, 7, 2, + 2, 2, 2, 8, 8, 3, 3, 3, 3, 9, + 9, 4, 4, 4, 4, 14, 14, 16, 16, 17, + 17, 17, 17, 11, 11, 18, 20, 21, 18, 24, + 25, 18, 28, 29, 18, 31, 32, 18, 34, 35, + 36, 18, 38, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 48, 51, + 18, 53, 54, 18, 55, 18, 18, 58, 60, 18, + 18, 18, 59, 62, 64, 65, 66, 59, 61, 68, + 61, 67, 67, 69, 69, 71, 72, 70, 47, 47, + 73, 12, 13, 76, 76, 77, 77, 79, 74, 83, + 75, 87, 75, 81, 81, 81, 81, 82, 82, 86, + 88, 88, 84, 84, 89, 89, 50, 50, 49, 49, + 90, 49, 37, 37, 52, 52, 57, 57, 56, 56, + 39, 39, 39, 39, 92, 94, 92, 95, 92, 93, + 93, 30, 30, 22, 96, 22, 26, 97, 26, 23, + 23, 27, 27, 80, 80, 98, 98, 99, 99, 100, + 100, 100, 100, 101, 101, 101, 102, 102, 103, 103, + 103, 103, 44, 44, 105, 105, 105, 45, 45, 45, + 45, 85, 85, 109, 107, 107, 107, 114, 107, 112, + 116, 116, 117, 117, 118, 118, 119, 119, 120, 120, + 121, 124, 124, 125, 125, 123, 122, 122, 126, 126, + 115, 115, 108, 108, 113, 113, 128, 128, 127, 127, + 127, 127, 127, 127, 110, 110, 110, 110, 111, 111, + 46, 46, 33, 33, 130, 129, 129, 131, 131, 133, + 133, 136, 135, 135, 135, 137, 138, 137, 141, 139, + 143, 41, 41, 41, 144, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 146, 41, 147, 41, 148, 41, 149, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 150, + 41, 151, 152, 41, 153, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 156, 41, 41, 41, 41, + 41, 41, 41, 161, 41, 163, 41, 43, 43, 43, + 43, 158, 158, 158, 158, 159, 159, 78, 162, 162, + 166, 166, 166, 166, 168, 167, 169, 167, 170, 167, + 173, 167, 175, 167, 177, 167, 178, 167, 179, 167, + 171, 171, 171, 171, 63, 63, 63, 140, 140, 182, + 184, 180, 180, 185, 185, 186, 155, 155, 155, 160, + 160, 160, 142, 142, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 189, 15, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 164, 164, 164, 164, 157, 157, 157, 157, 157, + 157, 157, 192, 192, 197, 197, 196, 196, 196, 196, + 40, 40, 19, 19, 106, 104, 145, 199, 200, 42, + 42, 202, 202, 203, 132, 204, 204, 206, 205, 201, + 201, 201, 174, 174, 209, 209, 176, 210, 211, 210, + 198, 198, 198, 181, 181, 181, 207, 207, 207, 212, + 212, 134, 134, 183, 183, 213, 213, 213, 172, 172, + 208, 208, 91, 91, 214, 215, 214, 214, 165, 165, + 216, 216, 216, 216, 216, 216, 216, 216, 187, 187, + 187, 187, 217, 218, 217, 217, 217, 217, 217, 219, + 219, 219, 154, 154, 154, 154, 154, 154, 154, 154, + 220, 222, 220, 221, 221, 194, 194, 191, 195, } var yyR2 = [...]int{ - 0, 1, 1, 0, 1, 3, 1, 1, 1, 4, - 3, 0, 6, 0, 5, 3, 4, 4, 2, 3, - 1, 1, 3, 2, 4, 3, 1, 1, 3, 2, - 4, 3, 1, 1, 3, 2, 4, 5, 4, 1, - 0, 1, 1, 1, 4, 1, 2, 3, 0, 0, - 7, 0, 0, 10, 0, 0, 5, 0, 0, 7, - 0, 0, 0, 12, 0, 4, 2, 3, 2, 3, - 2, 3, 3, 2, 3, 3, 3, 1, 2, 5, - 0, 0, 10, 0, 0, 10, 0, 6, 1, 0, - 0, 8, 3, 3, 0, 0, 0, 0, 0, 13, - 0, 0, 5, 1, 0, 1, 2, 0, 0, 10, - 1, 3, 1, 1, 1, 0, 1, 0, 1, 0, - 10, 0, 8, 0, 7, 1, 2, 1, 2, 0, - 2, 1, 0, 2, 0, 2, 1, 3, 0, 2, - 1, 2, 0, 5, 1, 4, 1, 4, 1, 4, - 3, 5, 3, 4, 4, 5, 0, 0, 6, 0, - 5, 1, 1, 1, 4, 0, 0, 5, 0, 0, - 6, 0, 2, 0, 3, 1, 0, 1, 3, 4, - 6, 0, 1, 1, 1, 2, 3, 3, 1, 3, - 1, 1, 2, 2, 3, 1, 1, 2, 4, 3, - 5, 1, 3, 2, 0, 0, 4, 2, 1, 0, - 9, 3, 1, 3, 1, 3, 0, 1, 1, 2, - 2, 2, 3, 1, 3, 1, 1, 3, 4, 3, - 0, 1, 1, 3, 1, 1, 0, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 3, 5, 1, 3, - 5, 4, 3, 1, 0, 1, 0, 4, 1, 2, - 1, 4, 3, 0, 3, 1, 1, 0, 0, 2, - 0, 4, 0, 7, 3, 4, 0, 7, 2, 3, + 0, 1, 2, 0, 1, 3, 1, 1, 1, 4, + 3, 5, 4, 3, 4, 4, 2, 3, 1, 1, + 3, 2, 4, 3, 1, 1, 3, 2, 4, 3, + 1, 1, 3, 2, 4, 5, 4, 1, 0, 1, + 1, 1, 4, 1, 2, 3, 0, 0, 7, 0, + 0, 10, 0, 0, 5, 0, 0, 7, 0, 0, + 0, 12, 0, 4, 2, 3, 2, 3, 2, 3, + 3, 2, 3, 3, 3, 1, 2, 5, 0, 0, + 10, 0, 0, 10, 0, 6, 1, 0, 0, 8, + 3, 3, 0, 0, 0, 0, 0, 13, 0, 0, + 5, 1, 0, 1, 2, 0, 0, 10, 1, 3, + 1, 1, 1, 0, 1, 0, 1, 0, 10, 0, + 8, 0, 7, 1, 2, 1, 2, 0, 2, 1, + 0, 2, 0, 2, 1, 3, 0, 2, 1, 2, + 0, 5, 1, 4, 1, 4, 1, 4, 3, 5, + 3, 4, 4, 5, 0, 0, 6, 0, 5, 1, + 1, 1, 4, 0, 0, 5, 0, 0, 6, 0, + 2, 0, 3, 1, 0, 1, 3, 4, 6, 0, + 1, 1, 1, 2, 3, 3, 1, 3, 1, 1, + 2, 2, 3, 1, 1, 2, 4, 3, 5, 1, + 3, 2, 0, 0, 4, 2, 1, 0, 9, 3, + 1, 3, 1, 3, 0, 1, 1, 2, 2, 2, + 3, 1, 3, 1, 1, 3, 4, 3, 0, 1, + 1, 3, 1, 1, 0, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, + 3, 1, 0, 1, 0, 4, 1, 2, 1, 4, + 3, 0, 3, 1, 1, 0, 0, 2, 0, 4, + 0, 7, 3, 4, 0, 7, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 0, 4, 0, 4, 0, 4, 0, + 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 1, 1, 0, + 5, 0, 0, 7, 0, 5, 1, 2, 2, 2, + 2, 2, 2, 2, 2, 0, 3, 1, 1, 1, + 3, 2, 1, 0, 10, 0, 11, 2, 2, 4, + 4, 4, 4, 4, 4, 4, 3, 1, 0, 4, + 3, 4, 1, 2, 0, 3, 0, 5, 0, 4, + 0, 5, 0, 5, 0, 5, 0, 5, 0, 3, + 1, 1, 3, 2, 1, 3, 2, 1, 1, 0, + 0, 6, 1, 2, 0, 2, 0, 2, 1, 0, + 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 2, 3, 1, 1, 1, + 1, 3, 2, 4, 3, 1, 1, 1, 4, 3, + 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 0, 4, 0, 4, 0, - 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 1, 0, 5, 0, 0, 7, 0, 5, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 0, 3, 1, - 1, 1, 3, 2, 1, 0, 10, 0, 11, 2, - 2, 4, 4, 4, 4, 4, 4, 4, 3, 1, - 0, 4, 3, 4, 1, 2, 0, 3, 0, 5, - 0, 4, 0, 5, 0, 5, 0, 5, 0, 5, - 0, 3, 1, 1, 3, 2, 1, 3, 2, 1, - 1, 0, 0, 6, 1, 2, 0, 2, 0, 2, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 2, 3, 1, - 1, 1, 1, 3, 2, 4, 3, 1, 1, 1, - 4, 3, 3, 3, 3, 3, 3, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, - 2, 2, 3, 1, 1, 3, 2, 1, 1, 1, - 1, 3, 3, 1, 0, 2, 0, 1, 5, 3, - 3, 1, 1, 1, 3, 3, 1, 1, 1, 0, - 0, 7, 1, 2, 0, 0, 4, 4, 4, 0, - 2, 1, 1, 0, 1, 2, 3, 3, 1, 4, - 0, 5, 1, 1, 1, 1, 2, 1, 4, 4, - 1, 1, 4, 0, 1, 1, 1, 4, 4, 1, - 1, 3, 1, 2, 3, 1, 1, 0, 5, 0, - 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, - 2, 2, 1, 2, 1, 0, 5, 3, 3, 6, - 3, 1, 1, 1, 4, 4, 4, 2, 2, 4, - 2, 2, 1, 0, 4, 1, 1, 3, 3, 3, - 3, + 3, 3, 3, 3, 3, 3, 4, 5, 2, 2, + 3, 1, 1, 3, 2, 1, 1, 1, 1, 3, + 3, 1, 0, 2, 0, 1, 5, 3, 3, 1, + 1, 1, 3, 3, 1, 1, 1, 0, 0, 7, + 1, 2, 0, 0, 4, 4, 4, 0, 2, 1, + 1, 0, 1, 2, 3, 3, 1, 4, 0, 5, + 1, 1, 1, 1, 2, 1, 4, 4, 1, 1, + 4, 0, 1, 1, 1, 4, 4, 1, 1, 3, + 1, 2, 3, 1, 1, 0, 5, 0, 0, 2, + 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, + 1, 2, 1, 0, 5, 3, 3, 6, 3, 1, + 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, + 1, 0, 4, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -1, -2, + -1000, -10, -5, -1, -11, -12, -13, 51, 79, 44, + -14, -18, 10, -74, -75, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -43, 46, 98, 19, 14, + -40, 48, 25, 27, 121, 40, 43, 36, -78, -81, + -86, 97, -106, -41, 37, 52, 99, 53, 100, 54, + -42, 59, 92, -145, 104, 105, 130, 129, 131, 132, + -19, -139, 123, -154, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -157, -158, -159, 118, 96, -198, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -164, -195, + -188, 117, 74, 62, 18, 60, 125, -181, -210, -167, + -194, -6, 82, -171, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -207, -208, -209, -176, -174, -212, 134, + 12, 123, -6, 119, 82, 10, -7, 37, 38, -2, + -6, 82, 121, 135, 122, 10, -16, -19, 123, -28, + -31, 123, -19, 121, -40, 97, -78, 98, 79, 121, + -40, 121, -41, -42, -40, 121, -44, -105, 12, 134, + -45, -78, 12, -46, -40, 121, 149, 150, 87, 89, + 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, + 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, + 160, 90, 127, 123, 123, -55, -58, -40, 10, -76, + 128, 10, 10, -41, -42, -40, 52, 52, 136, 137, + 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, + 147, 123, -40, 104, 105, -145, -42, -6, 79, 82, + -171, -176, 98, -145, -40, -40, -40, -40, -139, -40, + -43, -40, -40, -40, -40, -40, -40, -40, -155, 123, + -19, -156, 125, 125, -160, 17, -187, -217, 12, 76, + 77, -40, 57, -140, -171, -180, -6, 79, 82, -181, + -207, -208, -176, 123, 123, -40, -40, 123, -40, -40, + 125, -187, 17, 17, 75, -187, 125, 123, -165, -216, + -40, 128, 125, -211, 82, -168, -6, 78, 125, 119, + -207, 134, 78, -179, 119, 124, 121, 119, -5, -6, + 121, 135, -8, -3, -6, 82, -9, -4, -6, 82, + 29, -6, 10, 136, 120, -20, 122, -19, -11, -33, + -129, -40, -38, 121, -76, 121, 121, 121, 121, 135, + -106, 119, -42, 121, 135, -76, 136, 121, 135, -146, + -147, -148, -149, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -140, -151, 122, -47, -73, -42, + -42, -41, 123, 119, 121, 121, 10, -161, -82, 55, + -87, 58, -40, 128, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -143, 82, -6, 78, + 78, 124, 124, 124, 124, -40, -134, -40, -134, 118, + -217, -217, 17, 125, 57, -40, 11, -42, -199, -141, + 78, 82, -6, 57, -207, 78, -220, -221, -42, -41, + -42, -41, -40, -134, 117, 75, 75, -134, -165, 126, + -197, 135, 58, -104, -42, -134, 125, 10, -101, 123, + -170, -172, -174, 10, 52, 119, -207, -208, -134, -40, + -172, -174, 10, -101, -40, 121, -5, 120, -169, -2, + 121, 135, 29, -6, 121, 135, 29, -6, 10, 29, + 136, -15, -190, -188, -191, -6, 79, 82, 60, 125, + -189, 62, -193, 18, 74, -171, 131, 132, 130, 129, + 123, -11, -24, -29, 21, 121, 135, -39, 119, 122, + -105, -40, 12, -163, -15, -40, -40, -40, -40, -40, + -40, -153, 124, 135, 29, 29, -56, 10, -16, -79, + 123, -83, -63, -6, 79, 82, -88, 55, -41, -42, + -42, 91, -91, -214, -42, 59, -6, 10, -150, 126, + 126, -218, 10, 120, 125, 120, -183, -213, -174, -172, + -142, -101, -174, -6, -182, -174, 124, 135, 124, 124, + 124, 126, 126, 124, -40, 128, -40, 128, 126, -134, + 124, -102, -43, -103, -41, -42, 128, 83, -101, -173, + -175, -40, -207, 126, 120, -177, -178, 120, 120, -101, + -3, 10, 29, -4, 10, 29, 10, -15, 125, 130, + 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, + 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, + 157, 159, 158, 160, 127, 82, -6, 123, -192, -196, + -190, 17, 78, -190, -190, -190, -190, -190, -21, -16, + -30, -11, 122, -32, -34, -130, -92, 121, -92, 121, + 120, 136, 123, 122, -40, 121, -73, -48, -53, 124, + 135, 136, 120, 123, -80, -98, -99, -100, 60, 61, + -63, -84, 56, 82, -6, 119, -89, -63, -140, 124, + 135, 123, -137, -138, -219, 10, 13, 12, -40, -200, + 125, 119, -183, -222, 58, -104, -104, 126, 124, 135, + 124, -104, -40, -101, -101, 120, -101, -101, 10, 10, + -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, + -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, + -190, -190, -190, -190, -190, -190, 122, -190, -6, -192, + 126, -197, 135, 58, 10, 52, 124, -22, -25, -16, + -19, -33, -40, 120, 32, 33, -92, 31, -92, -15, + -80, -152, -49, -42, 128, 59, -49, -57, -11, 122, + 10, -15, -59, 41, -80, 124, 135, -76, 119, -89, + -6, -85, 135, -144, 136, -214, -215, -135, -133, -131, + 125, -132, 57, 126, 126, -201, -205, -204, -206, -134, + -40, -184, -221, -40, 128, -103, 126, -190, 122, 124, + -190, -190, -23, 93, 94, -26, 22, 121, 121, -40, + -93, 122, 121, 120, 121, 31, 124, -40, -50, 58, + -42, 123, -50, -16, 136, -60, 123, 124, -162, 44, + -99, -77, 83, -85, 120, -107, -108, -111, -112, -113, + -128, 47, 38, 44, -127, 103, 102, 101, 98, 99, + 100, -63, -142, -40, -91, 125, -136, -132, -134, -183, + 120, -202, 125, 125, -101, 126, 120, -185, -104, -190, + 58, -19, -11, -27, 93, 94, 121, -35, -93, -95, + 121, -162, 124, -49, -90, 124, 28, -15, -61, 42, + -62, 119, 119, 123, 12, 120, -109, 121, 135, -78, + -127, 10, -116, -63, 124, -134, -131, 126, -203, -132, + -134, -134, -186, 57, -190, -96, 95, -19, 122, -33, + -94, -16, 119, -51, -91, -54, 121, -68, -63, -16, + -16, -166, 12, 128, 136, -110, 12, 10, -76, 136, + -117, 135, 121, 119, 126, -201, 126, 126, -183, -11, + 121, 122, -16, 124, -16, -16, -52, -11, 122, 124, + -52, 119, -64, 120, 120, 124, 135, 12, -15, 121, + 135, 136, 136, 10, -15, -63, -118, -119, -120, -121, + -122, -123, -125, -63, 10, -97, -36, 120, -16, -16, + 12, 12, 128, 12, -15, -15, -114, 120, -120, 121, + 121, 45, 29, 78, -16, -37, -11, 122, 26, 120, + 124, 12, 136, 123, -124, -63, -126, -127, 10, -16, + 121, -65, -15, -80, 135, 10, 24, 119, 124, -63, + 121, -16, -115, 121, 119, 120, -16, -66, 120, -67, + -69, -70, 41, -70, 123, -63, -71, 12, 124, -72, + 119, -16, 120, } var yyDef = [...]int{ - 3, -2, 1, + 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, + 0, 43, 4, 111, 112, 0, 38, 0, 52, 55, + 0, 0, 0, 0, 0, 0, 0, 390, 0, 75, + 0, 0, 0, 84, 86, 87, 0, 0, 113, 0, + 0, 352, 490, 491, 367, 123, 0, 125, 0, 129, + -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 327, 328, 0, 336, 0, 0, 0, 0, 0, 0, + 0, 406, 345, 347, 348, 349, 409, 0, 500, 0, + 0, 0, 0, 0, 0, 0, 0, 475, 476, 477, + 478, 0, 0, 481, 416, 0, 548, 520, 521, -2, + 471, -2, 0, 0, 414, 415, 417, 418, 419, 420, + 421, 422, 423, -2, 0, 525, 0, 388, 528, 540, + 529, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, + 0, 252, 62, 64, 0, 352, 113, 390, 0, 66, + 0, 68, 491, -2, 0, 71, 0, 193, 194, 0, + 0, 113, 199, 0, 251, 76, 293, 295, 297, 299, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 331, 0, 0, 0, 0, 0, 0, 353, + 114, 127, 121, -2, -2, 0, 124, 126, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 270, 276, 289, 291, 290, 496, -2, 0, 0, + 0, 0, 390, 292, 314, 315, 316, 317, 328, 0, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, + 408, 0, 531, 531, 0, 410, 411, 560, 562, 0, + 0, 351, 497, 268, 397, 398, 391, 0, 0, 402, + -2, 0, 0, 0, 0, 575, 576, 0, 578, 579, + 531, 0, 0, 0, 425, 0, 531, 548, 0, 484, + 553, 0, 531, 0, 0, 0, -2, 0, 531, 0, + -2, 541, 0, 0, 0, 0, 10, 3, 0, -2, + 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, + 0, 21, 0, 0, 45, 0, 49, 53, 0, 0, + 253, 256, 0, 65, 353, 67, 69, 70, 72, 0, + 195, 0, 494, 73, 0, 355, 0, 74, 0, 0, + 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, -2, -2, -2, -2, + -2, -2, -2, -2, 326, 0, 334, 0, 108, 110, + -2, 491, 0, 38, 90, 91, 117, 0, 119, 0, + 130, 0, 272, 0, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 547, 0, -2, 0, + 0, 329, 492, 493, 407, 346, 0, 532, 0, 350, + 561, 558, 559, 563, 0, 0, 475, 0, 0, 412, + 0, 0, 393, 399, 524, 0, 0, 580, -2, -2, + -2, 491, 0, 0, 479, 424, 480, 0, 0, 366, + 549, 485, 0, 557, 495, 0, 531, 5, 375, 0, + 0, 380, -2, -2, 588, 0, 512, 0, 0, 0, + 384, -2, -2, 389, 0, 9, 0, 12, 0, 17, + 14, 0, 0, 27, 15, 0, 0, 33, 20, 0, + 0, 36, 427, 428, 429, -2, 0, 0, 0, 482, + 435, 436, 437, 416, 0, 0, 0, 0, 0, 0, + 0, 47, 38, 0, 56, 58, 254, 63, 154, 154, + 192, 0, 197, 0, 200, 250, 294, 296, 298, 300, + 0, 0, 0, 0, 78, 81, 0, 0, 0, 0, + -2, 132, 128, 394, 0, 0, 0, 0, -2, -2, + 273, 0, 0, 543, 544, 0, -2, 538, -2, 362, + 361, 0, 565, 566, 0, 568, 498, 533, 534, 537, + 269, 413, 514, 392, 0, 515, 572, 581, 573, 574, + 577, 364, 363, 365, 551, 0, 552, 0, 517, 0, + 183, 0, 0, 186, -2, -2, 0, 0, 379, 0, + 0, 0, 513, 526, 527, 0, 0, 530, 11, 377, + 23, 26, 0, 29, 32, 0, 22, 35, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -2, 482, 0, 484, + 489, 0, 0, 445, 446, 468, 469, 0, 163, 37, + 54, 161, 38, 0, 252, 0, 0, 154, 0, 154, + 196, 0, -2, 332, 335, 77, 109, 0, 0, 0, + 0, 0, 92, -2, 0, 173, 175, 113, 180, 181, + 182, 0, 0, 0, 396, 202, 131, 134, 274, 0, + 547, 545, 330, 0, 0, 569, 570, 571, 0, -2, + 531, 0, 400, 0, 0, 555, 556, 519, 184, 0, + 185, 190, 191, 381, 383, 539, 385, 387, 28, 34, + 0, 439, 440, 441, 442, 443, 444, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, -2, -2, + -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, + 434, 483, 485, 0, 426, 587, 470, 169, 166, 0, + 0, 0, 255, 150, 0, 0, 0, 0, 0, 198, + 0, 0, 136, 138, 0, 0, 136, 85, 146, 38, + 0, 148, 88, 0, 0, 368, 179, 115, 202, 133, + 395, 234, 0, 412, 0, 542, 547, 267, -2, 264, + 531, 258, 0, 564, 0, 502, 509, 510, 0, 0, + 0, 404, 582, 550, 0, 187, 438, 466, 0, 433, + 487, 488, 48, 0, 0, 171, 0, 57, 59, 0, + 157, 159, 160, 151, 152, 0, 368, 333, 0, 0, + 139, 140, 0, 0, 0, 98, 93, 0, 0, 0, + 176, 0, 116, 234, 122, 201, 203, 0, 206, 0, + -2, 233, 0, 0, 236, 238, 239, 240, 241, 242, + 243, 135, 275, 271, 0, 531, 0, 257, 0, 503, + 567, 499, 531, 531, 508, 535, 536, 401, 554, 467, + 0, 164, 170, 0, 0, 0, 162, 252, 155, 38, + 153, 0, 79, 137, 547, 82, 0, 149, 89, 99, + 0, 38, 38, 0, 177, 120, 0, 205, 0, 113, + 237, 0, 0, 210, 546, 0, 262, 260, -2, 501, + 0, 0, 403, 0, 486, 0, 0, 0, 38, 0, + 38, 37, 38, 0, 0, 0, 147, 0, 94, 0, + 0, 0, 372, 0, 0, 0, 246, 0, 0, 0, + 209, 0, 212, 214, 259, 504, 506, 505, 405, 165, + 51, 167, 37, 60, 37, 0, 80, 144, 38, 141, + 83, 38, 0, 118, 354, 369, 0, 373, 178, 204, + 0, 0, 0, 207, 249, 211, 0, 215, 216, 0, + 0, 224, 0, 0, -2, 38, 0, 356, 0, 0, + 0, 370, 0, 244, 247, 248, 0, 213, 217, 218, + 219, 0, 228, 0, 37, 61, 142, 38, 0, 100, + 95, 371, 0, -2, 220, 221, 0, -2, 225, 0, + 145, 0, 245, 0, 0, 226, 0, 38, 0, 222, + 143, 0, 208, 230, 38, 96, 0, 102, 231, 97, + 101, 103, 0, 104, 0, 105, 0, 0, 106, 0, + 38, 0, 107, } var yyTok1 = [...]int{ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 51, 156, 3, 164, 50, 34, 3, - 161, 162, 48, 45, 9, 46, 47, 49, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 29, 160, - 39, 15, 41, 28, 63, 3, 3, 3, 3, 3, + 3, 3, 3, 131, 117, 3, 134, 166, 128, 3, + 123, 124, 164, 130, 135, 129, 163, 165, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 122, 121, + 157, 136, 159, 127, 133, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 65, 3, 163, 33, 3, 157, 3, 3, 3, + 3, 125, 3, 126, 152, 3, 118, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 158, 32, 159, 53, + 3, 3, 3, 119, 151, 120, 132, } var yyTok2 = [...]int{ - 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, - 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 30, 31, 35, 36, 37, 38, - 40, 42, 43, 44, 52, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 64, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 153, + 154, 155, 156, 158, 160, 161, 162, 167, } var yyTok3 = [...]int{ 0, @@ -886,2617 +2105,2800 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:188 + //line php5/php5.y:202 { + rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:192 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:208 { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 3: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:209 + { + yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:197 + //line php5/php5.y:214 { + namePart := name.NewNamePart(yyDollar[1].token.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.list = []node.Node{namePart} + comments.AddComments(namePart, yyDollar[1].token.Comments()) } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:198 + //line php5/php5.y:221 { + namePart := name.NewNamePart(yyDollar[3].token.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.list = append(yyDollar[1].list, namePart) + comments.AddComments(namePart, yyDollar[3].token.Comments()) } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:202 + //line php5/php5.y:230 { + yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:203 + //line php5/php5.y:231 { + yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:204 + //line php5/php5.y:232 { + yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:205 + //line php5/php5.y:233 { + yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:206 - { - } - case 11: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:207 - { - } - case 12: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:208 - { - } - case 13: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:209 - { - } - case 14: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:210 - { - } - case 15: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:211 - { - } - case 16: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:212 - { - } - case 17: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:213 - { - } - case 18: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:214 - { - } - case 21: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:223 - { - } - case 22: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:224 - { - } - case 23: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:225 - { - } - case 24: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:226 - { - } - case 27: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:235 { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewNamespace(name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 11: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:245 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewNamespace(name, yyDollar[4].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 12: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:255 + { + yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 13: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:261 + { + yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 14: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:267 + { + useType := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) + + yyVAL.node = stmt.NewUseList(useType, yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 15: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:277 + { + useType := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) + + yyVAL.node = stmt.NewUseList(useType, yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 16: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:286 + { + yyVAL.node = nil + } + case 17: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:290 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 18: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:291 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 19: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:296 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 20: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:306 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewUse(nil, name, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 21: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:319 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) + } + case 22: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:329 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + alias := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) + yyVAL.node = stmt.NewUse(nil, name, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[2].list, yyDollar[4].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(alias, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) + } + case 23: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:345 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 24: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:349 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 25: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:356 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 26: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:366 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewUse(nil, name, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 27: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:379 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } case 28: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:236 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:389 { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + alias := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) + yyVAL.node = stmt.NewUse(nil, name, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[2].list, yyDollar[4].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(alias, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } case 29: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:237 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:405 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:238 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:409 { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 31: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:416 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 32: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:426 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewUse(nil, name, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 33: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:247 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:439 { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } case 34: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:248 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:449 { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + alias := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) + yyVAL.node = stmt.NewUse(nil, name, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[2].list, yyDollar[4].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(alias, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } case 35: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:249 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:464 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:250 + //line php5/php5.y:465 { } case 37: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:254 - { - } - case 38: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:255 - { - } - case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:259 + //line php5/php5.y:469 + { + } + case 42: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:478 + { + } + case 43: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:483 { } case 44: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:268 - { - } - case 45: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:273 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:484 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:274 + //line php5/php5.y:489 + { + } + case 47: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:489 { } case 48: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:279 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:489 { } case 49: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:279 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:490 { } case 50: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:279 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:490 { } case 51: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:280 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:490 { } case 52: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:280 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:491 { } case 53: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:280 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:491 { } case 54: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:281 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:491 { } case 55: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:281 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:492 { } case 56: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:281 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:492 { } case 57: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:282 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:492 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:282 + //line php5/php5.y:496 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:282 + //line php5/php5.y:498 { } case 60: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:286 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:500 { } case 61: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:288 + yyDollar = yyS[yypt-12 : yypt+1] + //line php5/php5.y:501 { } case 62: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:290 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:502 { } case 63: - yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:291 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:502 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:292 + //line php5/php5.y:503 { } case 65: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:292 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:504 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:293 + //line php5/php5.y:505 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:294 + //line php5/php5.y:506 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:295 + //line php5/php5.y:507 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:296 + //line php5/php5.y:508 { } case 70: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:297 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:509 { } case 71: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:298 - { - } - case 72: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:299 - { - } - case 73: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:300 + //line php5/php5.y:510 { } - case 77: + case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:304 + //line php5/php5.y:514 + { + } + case 76: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:515 { } case 78: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:305 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:518 + { + } + case 79: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:519 { } case 80: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:308 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:520 { } case 81: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:309 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:522 { } case 82: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:310 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:523 { } case 83: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:312 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:524 { } case 84: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:313 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:525 { } case 85: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:314 - { - } - case 86: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:315 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:525 { } case 87: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:527 + { + } + case 88: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:315 + //line php5/php5.y:528 { } case 89: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:317 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:529 { } case 90: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:318 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:530 { } case 91: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:319 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:531 { } case 92: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:320 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:535 { } case 93: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:321 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:536 { } case 94: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:325 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:537 { } case 95: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:326 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:538 { } case 96: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:327 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:539 { } case 97: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:328 + yyDollar = yyS[yypt-13 : yypt+1] + //line php5/php5.y:540 { } case 98: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:329 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:543 { } case 99: - yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:330 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:544 { } case 100: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:333 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:544 { } case 101: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:334 + //line php5/php5.y:548 { } case 102: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:334 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:549 { } case 103: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:338 + //line php5/php5.y:553 { } case 104: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:339 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:554 { } case 105: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:343 - { - } - case 106: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:344 - { - } - case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:348 - { - } - case 108: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:348 - { - } - case 109: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:348 - { - } - case 112: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:357 - { - } - case 113: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:361 - { - } - case 114: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:365 - { - } - case 115: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:369 - { - } - case 116: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:370 - { - } - case 117: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:374 - { - } - case 118: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:375 - { - } - case 119: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:379 - { - } - case 120: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:381 - { - } - case 121: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:386 - { - } - case 122: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:390 - { - } - case 123: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:392 - { - } - case 124: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:396 - { - } - case 125: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:401 - { - } - case 126: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:402 - { - } - case 127: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:403 - { - } - case 128: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:404 - { - } - case 129: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:408 - { - } - case 130: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:409 - { - } - case 131: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:413 - { - } - case 136: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:427 - { - } - case 137: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:428 - { - } - case 138: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:432 - { - } - case 139: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:433 - { - } - case 140: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:437 - { - } - case 141: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:438 - { - } - case 142: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:439 - { - } - case 143: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:439 - { - } - case 150: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:461 - { - } - case 151: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:462 - { - } - case 152: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:467 - { - } - case 153: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:468 - { - } - case 154: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:469 - { - } - case 155: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:470 - { - } - case 156: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:475 - { - } - case 157: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:476 - { - } - case 158: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:476 - { - } - case 159: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:477 - { - } - case 160: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:477 - { - } - case 166: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:496 - { - } - case 167: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:496 - { - } - case 169: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:502 - { - } - case 170: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:502 - { - } - case 179: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:531 - { - } - case 180: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:533 - { - } - case 181: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:538 - { - } - case 182: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:539 - { - } - case 183: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:540 - { - } - case 184: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:541 - { - } - case 185: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:546 - { - } - case 186: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:547 - { - } - case 187: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:548 - { - } - case 190: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:558 { } - case 191: + case 106: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:558 + { + } + case 107: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:558 + { + } + case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:567 { } - case 192: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:560 - { - } - case 193: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:561 - { - } - case 194: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:565 - { - } - case 195: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:566 - { - } - case 196: + case 111: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:571 { } - case 197: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:572 + case 112: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:575 { } - case 198: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:573 - { - } - case 199: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:578 - { - } - case 200: - yyDollar = yyS[yypt-5 : yypt+1] + case 113: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:579 { } - case 201: + case 114: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:580 { } - case 202: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:581 + case 115: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:584 { } - case 205: + case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:593 + //line php5/php5.y:585 { } - case 209: - yyDollar = yyS[yypt-4 : yypt+1] + case 117: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:589 + { + } + case 118: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:591 + { + } + case 119: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:596 { } - case 210: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:598 + case 120: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:600 { } - case 212: - yyDollar = yyS[yypt-1 : yypt+1] + case 121: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:602 + { + } + case 122: + yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:606 { } - case 213: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:607 - { - } - case 222: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:631 - { - } - case 223: + case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:635 + //line php5/php5.y:611 { } - case 224: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:636 + case 124: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:612 { } - case 225: + case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:640 + //line php5/php5.y:613 { } - case 226: + case 126: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:614 + { + } + case 127: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:618 + { + } + case 128: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:619 + { + } + case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:641 + //line php5/php5.y:623 { } - case 227: + case 134: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:637 + { + } + case 135: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:645 + //line php5/php5.y:638 { } - case 228: - yyDollar = yyS[yypt-4 : yypt+1] + case 136: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:642 + { + } + case 137: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:643 + { + } + case 138: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:647 + { + } + case 139: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:648 + { + } + case 140: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:649 { } - case 229: + case 141: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:649 + { + } + case 148: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:671 { } - case 230: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:654 + case 149: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:672 { } - case 231: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:655 - { - } - case 232: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:659 - { - } - case 233: + case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:660 + //line php5/php5.y:677 { } - case 234: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:664 + case 151: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:678 { } - case 235: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:665 - { - } - case 236: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:669 - { - } - case 237: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:670 - { - } - case 238: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:674 - { - } - case 239: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:675 - { - } - case 240: - yyDollar = yyS[yypt-1 : yypt+1] + case 152: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:679 { } - case 241: - yyDollar = yyS[yypt-1 : yypt+1] + case 153: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:680 { } - case 242: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:681 - { - } - case 243: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:682 - { - } - case 244: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:683 - { - } - case 245: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:684 - { - } - case 246: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:688 - { - } - case 247: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:689 - { - } - case 248: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:690 - { - } - case 249: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:691 - { - } - case 250: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:695 - { - } - case 251: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:696 - { - } - case 252: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:700 - { - } - case 253: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:701 - { - } - case 254: + case 154: yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:685 + { + } + case 155: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:686 + { + } + case 156: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:686 + { + } + case 157: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:687 + { + } + case 158: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:687 + { + } + case 164: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:706 { } - case 255: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:707 + case 165: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:706 { } - case 256: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:711 - { - } - case 257: + case 167: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:711 - { - } - case 258: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:712 { } - case 259: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:716 + case 168: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:712 { } - case 260: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:717 - { - } - case 261: + case 177: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:721 + //line php5/php5.y:741 { } - case 262: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:722 - { - } - case 263: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:726 - { - } - case 264: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:726 - { - } - case 265: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:727 - { - } - case 266: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:728 - { - } - case 267: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:732 - { - } - case 268: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:733 - { - } - case 269: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:734 - { - } - case 270: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:738 - { - } - case 271: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:738 - { - } - case 272: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:742 - { - } - case 273: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:742 - { - } - case 274: - yyDollar = yyS[yypt-3 : yypt+1] + case 178: + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:743 { } - case 275: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:744 - { - } - case 276: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:745 - { - } - case 277: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:745 - { - } - case 278: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:746 - { - } - case 279: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:747 - { - } - case 280: - yyDollar = yyS[yypt-3 : yypt+1] + case 179: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:748 { } - case 281: - yyDollar = yyS[yypt-3 : yypt+1] + case 180: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:749 { } - case 282: - yyDollar = yyS[yypt-3 : yypt+1] + case 181: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:750 { } - case 283: - yyDollar = yyS[yypt-3 : yypt+1] + case 182: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:751 { } - case 284: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:752 - { - } - case 285: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:753 - { - } - case 286: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:754 - { - } - case 287: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:755 - { - } - case 288: - yyDollar = yyS[yypt-3 : yypt+1] + case 183: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:756 { } - case 289: + case 184: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:757 { } - case 290: + case 185: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:758 { } - case 291: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:759 - { - } - case 292: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:760 - { - } - case 293: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:761 - { - } - case 294: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:762 - { - } - case 295: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:763 - { - } - case 296: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:763 - { - } - case 297: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:764 - { - } - case 298: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:764 - { - } - case 299: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:765 - { - } - case 300: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:765 - { - } - case 301: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:766 - { - } - case 302: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:766 - { - } - case 303: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:767 - { - } - case 304: - yyDollar = yyS[yypt-3 : yypt+1] + case 188: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:768 { } - case 305: - yyDollar = yyS[yypt-3 : yypt+1] + case 189: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:769 { } - case 306: - yyDollar = yyS[yypt-3 : yypt+1] + case 190: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:770 { } - case 307: - yyDollar = yyS[yypt-3 : yypt+1] + case 191: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:771 { } - case 308: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:772 - { - } - case 309: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:773 - { - } - case 310: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:774 - { - } - case 311: + case 192: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:775 { } - case 312: - yyDollar = yyS[yypt-3 : yypt+1] + case 193: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:776 { } - case 313: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:777 - { - } - case 314: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:778 - { - } - case 315: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:779 - { - } - case 316: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:780 - { - } - case 317: - yyDollar = yyS[yypt-2 : yypt+1] + case 194: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:781 { } - case 318: + case 195: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:782 { } - case 319: - yyDollar = yyS[yypt-2 : yypt+1] + case 196: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:783 { } - case 320: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:784 - { - } - case 321: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:785 - { - } - case 322: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:786 - { - } - case 323: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:787 - { - } - case 324: + case 197: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:788 { } - case 325: - yyDollar = yyS[yypt-3 : yypt+1] + case 198: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:789 { } - case 326: - yyDollar = yyS[yypt-3 : yypt+1] + case 199: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:790 { } - case 327: + case 200: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:791 { } - case 328: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:792 - { - } - case 329: + case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:793 - { - } - case 330: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:794 - { - } - case 331: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:795 - { - } - case 332: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:795 - { - } - case 333: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:796 - { - } - case 334: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:797 - { - } - case 335: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:798 - { - } - case 336: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:799 - { - } - case 337: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:800 - { - } - case 338: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:801 - { - } - case 339: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:802 - { - } - case 340: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:803 { } - case 341: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:804 - { - } - case 342: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:805 - { - } - case 343: - yyDollar = yyS[yypt-2 : yypt+1] + case 207: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:806 { } - case 344: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:807 - { - } - case 345: - yyDollar = yyS[yypt-2 : yypt+1] + case 208: + yyDollar = yyS[yypt-9 : yypt+1] //line php5/php5.y:808 { } - case 346: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:809 - { - } - case 347: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:810 - { - } - case 348: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:810 - { - } - case 349: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:811 - { - } - case 350: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:812 - { - } - case 351: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:813 - { - } - case 352: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:814 - { - } - case 353: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:815 - { - } - case 354: + case 210: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:816 { } - case 355: - yyDollar = yyS[yypt-2 : yypt+1] + case 211: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:817 { } - case 356: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:819 - { - } - case 357: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:820 - { - } - case 358: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:822 - { - } - case 359: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:826 - { - } - case 360: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:827 - { - } - case 361: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:828 - { - } - case 362: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:829 - { - } - case 363: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:833 - { - } - case 364: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:834 - { - } - case 365: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:835 - { - } - case 366: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:836 - { - } - case 367: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:840 - { - } - case 368: + case 220: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:841 { } - case 369: + case 221: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:845 { } - case 372: + case 222: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:854 + //line php5/php5.y:846 { } - case 373: - yyDollar = yyS[yypt-4 : yypt+1] + case 223: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:850 + { + } + case 224: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:851 + { + } + case 225: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:855 { } - case 374: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:856 + case 226: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:859 { } - case 375: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:857 - { - } - case 376: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:861 - { - } - case 377: + case 227: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:862 + //line php5/php5.y:860 { } - case 378: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:863 - { - } - case 379: - yyDollar = yyS[yypt-5 : yypt+1] + case 228: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:864 { } - case 380: - yyDollar = yyS[yypt-2 : yypt+1] + case 229: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:865 { } - case 381: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:866 - { - } - case 382: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:867 - { - } - case 383: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:868 - { - } - case 384: - yyDollar = yyS[yypt-3 : yypt+1] + case 230: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:869 { } - case 385: - yyDollar = yyS[yypt-5 : yypt+1] + case 231: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:870 { } - case 386: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:871 - { - } - case 387: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:872 - { - } - case 388: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:873 - { - } - case 389: - yyDollar = yyS[yypt-5 : yypt+1] + case 232: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:874 { } - case 390: + case 233: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:875 { } - case 391: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:876 + case 234: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:879 { } - case 392: + case 235: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:880 { } - case 393: + case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:881 + //line php5/php5.y:884 { } - case 394: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:882 - { - } - case 395: + case 237: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:883 + //line php5/php5.y:885 { } - case 396: + case 238: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:887 - { - } - case 397: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:888 - { - } - case 398: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:889 { } - case 399: + case 239: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:895 + //line php5/php5.y:890 { } - case 400: + case 240: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:896 + //line php5/php5.y:891 { } - case 401: - yyDollar = yyS[yypt-2 : yypt+1] + case 241: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:892 + { + } + case 242: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:893 + { + } + case 243: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:894 + { + } + case 244: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:898 + { + } + case 245: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:899 + { + } + case 246: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:900 + { + } + case 247: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:901 { } - case 402: + case 248: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:905 + { + } + case 249: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:902 + //line php5/php5.y:906 { } - case 403: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:903 + case 250: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:910 { } - case 404: + case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:904 + //line php5/php5.y:911 { } - case 407: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:915 - { - } - case 408: + case 252: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:919 + //line php5/php5.y:916 { } - case 409: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:920 - { - } - case 410: + case 253: yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:917 + { + } + case 254: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:921 { } - case 411: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:925 + case 255: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:921 { } - case 412: + case 256: yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:922 + { + } + case 257: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:926 { } - case 413: + case 258: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:927 { } - case 414: - yyDollar = yyS[yypt-0 : yypt+1] + case 259: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:931 + { + } + case 260: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:932 { } - case 415: + case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:933 + //line php5/php5.y:936 { } - case 416: + case 262: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:936 + { + } + case 263: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:937 + { + } + case 264: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:938 { } - case 417: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:939 - { - } - case 418: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:940 - { - } - case 419: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:941 - { - } - case 420: - yyDollar = yyS[yypt-1 : yypt+1] + case 265: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:942 { } - case 421: - yyDollar = yyS[yypt-1 : yypt+1] + case 266: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:943 { } - case 422: - yyDollar = yyS[yypt-1 : yypt+1] + case 267: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:944 { } - case 423: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:945 - { - } - case 424: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:946 - { - } - case 425: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:947 - { - } - case 426: - yyDollar = yyS[yypt-3 : yypt+1] + case 268: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:948 { } - case 427: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:949 + case 269: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:948 { } - case 428: + case 270: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:952 + { + } + case 271: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:952 + { + } + case 272: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:953 { } - case 429: - yyDollar = yyS[yypt-1 : yypt+1] + case 273: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:954 + { + } + case 274: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:955 + { + } + case 275: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:955 + { + } + case 276: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:956 + { + } + case 277: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:957 { } - case 430: - yyDollar = yyS[yypt-1 : yypt+1] + case 278: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:958 + { + } + case 279: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:959 + { + } + case 280: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:960 + { + } + case 281: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:961 { } - case 431: - yyDollar = yyS[yypt-1 : yypt+1] + case 282: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:962 { } - case 432: - yyDollar = yyS[yypt-1 : yypt+1] + case 283: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:963 { } - case 433: + case 284: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:964 { } - case 434: - yyDollar = yyS[yypt-2 : yypt+1] + case 285: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:965 { } - case 435: - yyDollar = yyS[yypt-4 : yypt+1] + case 286: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:966 { } - case 436: + case 287: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:967 { } - case 437: - yyDollar = yyS[yypt-1 : yypt+1] + case 288: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:968 { } - case 438: - yyDollar = yyS[yypt-1 : yypt+1] + case 289: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:969 { } - case 439: - yyDollar = yyS[yypt-1 : yypt+1] + case 290: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:970 { } - case 440: + case 291: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:971 + { + } + case 292: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:972 + { + } + case 293: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:973 + { + } + case 294: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:973 + { + } + case 295: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:974 + { + } + case 296: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:974 { } - case 441: - yyDollar = yyS[yypt-3 : yypt+1] + case 297: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:975 { } - case 442: - yyDollar = yyS[yypt-3 : yypt+1] + case 298: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:975 + { + } + case 299: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:976 { } - case 443: + case 300: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:976 + { + } + case 301: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:977 { } - case 444: + case 302: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:978 { } - case 445: + case 303: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:979 { } - case 446: + case 304: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:980 { } - case 447: - yyDollar = yyS[yypt-2 : yypt+1] + case 305: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:981 { } - case 448: - yyDollar = yyS[yypt-2 : yypt+1] + case 306: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:982 { } - case 449: + case 307: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:983 { } - case 450: + case 308: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:984 { } - case 451: + case 309: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:985 { } - case 452: + case 310: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:986 { } - case 453: + case 311: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:987 { } - case 454: + case 312: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:988 { } - case 455: + case 313: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:989 { } - case 456: - yyDollar = yyS[yypt-3 : yypt+1] + case 314: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:990 { } - case 457: - yyDollar = yyS[yypt-3 : yypt+1] + case 315: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:991 { } - case 458: - yyDollar = yyS[yypt-3 : yypt+1] + case 316: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:992 { } - case 459: - yyDollar = yyS[yypt-3 : yypt+1] + case 317: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:993 { } - case 460: + case 318: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:994 { } - case 461: + case 319: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:995 { } - case 462: + case 320: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:996 { } - case 463: + case 321: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:997 { } - case 464: + case 322: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:998 { } - case 465: + case 323: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:999 { } - case 466: + case 324: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1000 { } - case 467: + case 325: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1001 { } - case 468: - yyDollar = yyS[yypt-4 : yypt+1] + case 326: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1002 { } - case 469: - yyDollar = yyS[yypt-5 : yypt+1] + case 327: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1003 { } - case 470: - yyDollar = yyS[yypt-2 : yypt+1] + case 328: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1004 { } - case 471: - yyDollar = yyS[yypt-2 : yypt+1] + case 329: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1005 { } - case 472: - yyDollar = yyS[yypt-3 : yypt+1] + case 330: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1005 + { + } + case 331: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1006 { } - case 473: - yyDollar = yyS[yypt-1 : yypt+1] + case 332: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1007 + { + } + case 333: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1008 + { + } + case 334: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1009 + { + } + case 335: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1010 { } - case 474: + case 336: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1011 { } - case 475: - yyDollar = yyS[yypt-3 : yypt+1] + case 337: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1012 { } - case 476: + case 338: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1013 { } - case 477: - yyDollar = yyS[yypt-1 : yypt+1] + case 339: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1014 + { + } + case 340: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1015 + { + } + case 341: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1016 + { + } + case 342: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1017 { } - case 478: - yyDollar = yyS[yypt-1 : yypt+1] + case 343: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1018 { } - case 479: - yyDollar = yyS[yypt-1 : yypt+1] + case 344: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1019 { } - case 480: + case 345: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1020 { } - case 481: + case 346: yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1020 + { + } + case 347: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1021 { } - case 482: - yyDollar = yyS[yypt-3 : yypt+1] + case 348: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1022 { } - case 483: + case 349: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1023 { } - case 484: - yyDollar = yyS[yypt-0 : yypt+1] + case 350: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1024 + { + } + case 351: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1025 + { + } + case 352: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1026 + { + } + case 353: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1027 { } - case 485: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1028 + case 354: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1029 { } - case 488: - yyDollar = yyS[yypt-5 : yypt+1] + case 355: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1030 + { + } + case 356: + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1032 + { + } + case 357: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1036 + { + } + case 358: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1037 { } - case 489: - yyDollar = yyS[yypt-3 : yypt+1] + case 359: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1038 { } - case 490: - yyDollar = yyS[yypt-3 : yypt+1] + case 360: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1039 { } - case 491: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1040 + case 361: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1043 { } - case 492: - yyDollar = yyS[yypt-1 : yypt+1] + case 362: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1044 { } - case 493: - yyDollar = yyS[yypt-1 : yypt+1] + case 363: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1045 { } - case 494: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1049 + case 364: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1046 { } - case 495: - yyDollar = yyS[yypt-3 : yypt+1] + case 365: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1050 { } - case 496: + case 366: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1051 + { + } + case 367: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1055 { } - case 497: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1060 - { - } - case 498: - yyDollar = yyS[yypt-1 : yypt+1] + case 370: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1064 { } - case 499: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1068 - { - } - case 500: + case 371: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1069 + //line php5/php5.y:1065 { } - case 501: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1070 + case 372: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1066 { } - case 502: + case 373: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1067 + { + } + case 374: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1071 { } - case 503: + case 375: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1072 + { + } + case 376: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1073 + { + } + case 377: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1074 + { + } + case 378: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1075 { } - case 504: - yyDollar = yyS[yypt-0 : yypt+1] + case 379: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1076 { } - case 505: - yyDollar = yyS[yypt-2 : yypt+1] + case 380: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1077 + { + } + case 381: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1078 + { + } + case 382: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1079 + { + } + case 383: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1080 + { + } + case 384: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1081 { } - case 506: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1081 + case 385: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1082 { } - case 507: - yyDollar = yyS[yypt-4 : yypt+1] + case 386: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1083 + { + } + case 387: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1084 + { + } + case 388: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1085 { } - case 508: - yyDollar = yyS[yypt-4 : yypt+1] + case 389: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1086 { } - case 509: - yyDollar = yyS[yypt-0 : yypt+1] + case 390: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1090 { } - case 510: - yyDollar = yyS[yypt-2 : yypt+1] + case 391: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1091 { } - case 511: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1095 + case 392: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1092 { } - case 512: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1096 + case 393: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1093 { } - case 513: - yyDollar = yyS[yypt-0 : yypt+1] + case 394: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1097 { } - case 514: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1101 - { - } - case 515: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1102 - { - } - case 516: + case 395: yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1098 + { + } + case 396: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1099 + { + } + case 397: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1105 + { + } + case 398: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1106 { } - case 517: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1107 + case 399: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1111 { } - case 518: - yyDollar = yyS[yypt-1 : yypt+1] + case 400: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1112 { } - case 519: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1116 + case 401: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1113 { } - case 520: + case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1114 { } - case 521: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1118 + case 405: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1125 { } - case 522: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1122 - { - } - case 523: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1123 - { - } - case 524: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1124 - { - } - case 525: - yyDollar = yyS[yypt-1 : yypt+1] + case 406: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1129 { } - case 526: + case 407: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1130 { } - case 527: + case 408: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1131 { } - case 528: - yyDollar = yyS[yypt-4 : yypt+1] + case 409: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1135 { } - case 529: - yyDollar = yyS[yypt-4 : yypt+1] + case 410: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1136 { } - case 530: + case 411: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1137 { } - case 531: - yyDollar = yyS[yypt-1 : yypt+1] + case 412: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1142 { } - case 532: - yyDollar = yyS[yypt-4 : yypt+1] + case 413: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1143 { } - case 533: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1147 - { - } - case 534: + case 414: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1148 { } - case 535: + case 415: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1149 + { + } + case 416: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1150 + { + } + case 417: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1151 + { + } + case 418: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1152 + { + } + case 419: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1153 { } - case 536: + case 420: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1154 { } - case 537: - yyDollar = yyS[yypt-4 : yypt+1] + case 421: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1155 + { + } + case 422: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1156 + { + } + case 423: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1157 + { + } + case 424: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1158 { } - case 538: - yyDollar = yyS[yypt-4 : yypt+1] + case 425: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1159 { } - case 539: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1160 - { - } - case 540: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1164 - { - } - case 541: + case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1165 + //line php5/php5.y:1163 { } - case 542: + case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1169 + //line php5/php5.y:1167 { } - case 543: + case 428: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1171 + { + } + case 429: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1172 + { + } + case 430: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1173 + { + } + case 431: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1174 + { + } + case 432: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1170 + //line php5/php5.y:1175 { } - case 546: + case 433: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1176 + { + } + case 434: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1177 + { + } + case 435: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1178 + { + } + case 436: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1179 + { + } + case 437: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1180 { } - case 547: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1181 + case 438: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1184 { } - case 548: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1181 + case 439: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1185 { } - case 549: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1182 + case 440: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1186 { } - case 550: - yyDollar = yyS[yypt-0 : yypt+1] + case 441: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1187 { } - case 551: - yyDollar = yyS[yypt-2 : yypt+1] + case 442: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1188 { } - case 552: - yyDollar = yyS[yypt-5 : yypt+1] + case 443: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1189 + { + } + case 444: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1190 + { + } + case 445: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1191 + { + } + case 446: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1192 { } - case 553: + case 447: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1193 { } - case 554: + case 448: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1194 { } - case 555: - yyDollar = yyS[yypt-1 : yypt+1] + case 449: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1195 { } - case 556: - yyDollar = yyS[yypt-6 : yypt+1] + case 450: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1196 { } - case 557: - yyDollar = yyS[yypt-4 : yypt+1] + case 451: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1197 { } - case 558: - yyDollar = yyS[yypt-4 : yypt+1] + case 452: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1198 { } - case 559: - yyDollar = yyS[yypt-2 : yypt+1] + case 453: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1199 { } - case 560: - yyDollar = yyS[yypt-2 : yypt+1] + case 454: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1200 + { + } + case 455: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1201 + { + } + case 456: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1202 + { + } + case 457: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1203 { } - case 561: - yyDollar = yyS[yypt-2 : yypt+1] + case 458: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1204 { } - case 562: - yyDollar = yyS[yypt-1 : yypt+1] + case 459: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1205 { } - case 563: - yyDollar = yyS[yypt-2 : yypt+1] + case 460: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1206 { } - case 564: - yyDollar = yyS[yypt-1 : yypt+1] + case 461: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1207 + { + } + case 462: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1208 + { + } + case 463: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1209 + { + } + case 464: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1210 + { + } + case 465: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1211 + { + } + case 466: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1212 { } - case 565: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1213 - { - } - case 566: + case 467: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1213 { } - case 567: - yyDollar = yyS[yypt-3 : yypt+1] + case 468: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1214 { } + case 469: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1215 + { + } + case 470: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1216 + { + } + case 471: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1220 + { + } + case 472: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1221 + { + } + case 473: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1222 + { + } + case 474: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1223 + { + } + case 475: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1227 + { + } + case 476: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1228 + { + } + case 477: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1229 + { + } + case 478: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1230 + { + } + case 479: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1231 + { + } + case 480: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1232 + { + } + case 481: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1233 + { + } + case 482: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1237 + { + } + case 483: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1238 + { + } + case 486: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1247 + { + } + case 487: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1248 + { + } + case 488: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1249 + { + } + case 489: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1250 + { + } + case 490: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1254 + { + } + case 491: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1255 + { + } + case 492: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1259 + { + } + case 493: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1260 + { + } + case 494: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1265 + { + } + case 495: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1270 + { + } + case 496: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1274 + { + } + case 497: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1278 + { + } + case 498: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1279 + { + } + case 499: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1280 + { + } + case 500: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1281 + { + } + case 501: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1285 + { + } + case 502: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1286 + { + } + case 503: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1291 + { + } + case 504: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1291 + { + } + case 505: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1295 + { + } + case 506: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1296 + { + } + case 507: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1300 + { + } + case 508: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1301 + { + } + case 509: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1305 + { + } + case 510: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1306 + { + } + case 511: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1307 + { + } + case 512: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1311 + { + } + case 513: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1312 + { + } + case 514: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1316 + { + } + case 515: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1317 + { + } + case 516: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1322 + { + } + case 517: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1326 + { + } + case 518: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1327 + { + } + case 519: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1328 + { + } + case 520: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1332 + { + } + case 521: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1333 + { + } + case 522: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1334 + { + } + case 523: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1339 + { + } + case 524: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1340 + { + } + case 525: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1341 + { + } + case 526: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1345 + { + } + case 527: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1346 + { + } + case 528: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1347 + { + } + case 529: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1352 + { + } + case 530: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1353 + { + } + case 531: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1357 + { + } + case 532: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1358 + { + } + case 533: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1363 + { + } + case 534: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1364 + { + } + case 535: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1368 + { + } + case 536: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1369 + { + } + case 537: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1370 + { + } + case 538: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1374 + { + } + case 539: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1375 + { + } + case 540: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1379 + { + } + case 541: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1380 + { + } + case 544: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1390 + { + } + case 545: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1391 + { + } + case 546: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1391 + { + } + case 547: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1392 + { + } + case 548: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1397 + { + } + case 549: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1398 + { + } + case 550: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1402 + { + } + case 551: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1403 + { + } + case 552: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1404 + { + } + case 553: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1405 + { + } + case 554: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1406 + { + } + case 555: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1407 + { + } + case 556: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1408 + { + } + case 557: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1409 + { + } + case 558: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1413 + { + } + case 559: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1414 + { + } + case 560: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1415 + { + } + case 561: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1416 + { + } + case 562: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1422 + { + } + case 563: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1423 + { + } + case 564: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1423 + { + } + case 565: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1424 + { + } + case 566: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1425 + { + } + case 567: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1426 + { + } case 568: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1215 + //line php5/php5.y:1427 { } case 569: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1216 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1432 { } case 570: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1217 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1433 { } case 571: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1222 + //line php5/php5.y:1434 { } case 572: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1223 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1439 { } case 573: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1224 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1440 { } case 574: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1229 + //line php5/php5.y:1441 { } case 575: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1230 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1442 { } case 576: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1231 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1443 { } case 577: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1232 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1444 { } case 578: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1233 + //line php5/php5.y:1445 { } case 579: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1234 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1446 { } case 580: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1235 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1450 { } case 581: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1236 + //line php5/php5.y:1451 { } case 582: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1240 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1451 { } case 583: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1241 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1455 { } case 584: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1241 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1456 { } case 585: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1245 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1460 { } case 586: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1246 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1461 { } case 587: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1250 + //line php5/php5.y:1465 { } case 588: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1251 - { - } - case 589: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1255 - { - } - case 590: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1259 + //line php5/php5.y:1469 { } } diff --git a/php5/php5.y b/php5/php5.y index a6335f2..7fbe6a5 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -6,10 +6,10 @@ import ( // "strconv" "github.com/z7zmey/php-parser/token" -// "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node" // "github.com/z7zmey/php-parser/node/scalar" -// "github.com/z7zmey/php-parser/node/name" -// "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/node/name" + "github.com/z7zmey/php-parser/node/stmt" // "github.com/z7zmey/php-parser/node/expr" // "github.com/z7zmey/php-parser/node/expr/assign_op" // "github.com/z7zmey/php-parser/node/expr/binary_op" @@ -19,39 +19,15 @@ import ( %} %union{ + node node.Node token token.Token +// boolWithToken boolWithToken + list []node.Node +// foreachVariable foreachVariable +// nodesWithEndToken *nodesWithEndToken +// str string } -%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE -%left ',' -%left T_LOGICAL_OR -%left T_LOGICAL_XOR -%left T_LOGICAL_AND -%right T_PRINT -%right T_YIELD -%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL -%left '?' ':' -%left T_BOOLEAN_OR -%left T_BOOLEAN_AND -%left '|' -%left '^' -%left '&' -%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL -%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL -%left T_SL T_SR -%left '+' '-' '.' -%left '*' '/' '%' -%right '!' -%nonassoc T_INSTANCEOF -%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' -%right T_POW -%right '[' -%nonassoc T_NEW T_CLONE -%left T_ELSEIF -%left T_ELSE -%left T_ENDIF -%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC - %type $unk %token T_INCLUDE %token T_INCLUDE_ONCE @@ -163,6 +139,9 @@ import ( %token T_OBJECT_CAST %token T_BOOL_CAST %token T_UNSET_CAST +%token T_COALESCE +%token T_SPACESHIP +%token T_NOELSE %token '"' %token '`' %token '{' @@ -182,1081 +161,1312 @@ import ( %token '@' %token '$' +%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE +%left ',' +%left T_LOGICAL_OR +%left T_LOGICAL_XOR +%left T_LOGICAL_AND +%right T_PRINT +%right T_YIELD +%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL +%left '?' ':' +%left T_BOOLEAN_OR +%left T_BOOLEAN_AND +%left '|' +%left '^' +%left '&' +%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL +%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL +%left T_SL T_SR +%left '+' '-' '.' +%left '*' '/' '%' +%right '!' +%nonassoc T_INSTANCEOF +%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' +%right T_POW +%right '[' +%nonassoc T_NEW T_CLONE +%left T_ELSEIF +%left T_ELSE +%left T_ENDIF +%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC + +%type top_statement use_declaration use_function_declaration use_const_declaration + +%type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations + %% start: - top_statement_list { } + top_statement_list + { + rootnode = stmt.NewStmtList($1) + } ; top_statement_list: - top_statement_list { } - | /* empty */ + top_statement_list top_statement { $$ = append($1, $2) } + | /* empty */ { $$ = []node.Node{} } ; namespace_name: - T_STRING { } - | namespace_name T_NS_SEPARATOR T_STRING { } + T_STRING + { + namePart := name.NewNamePart($1.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition($1)) + $$ = []node.Node{namePart} + comments.AddComments(namePart, $1.Comments()) + } + | namespace_name T_NS_SEPARATOR T_STRING + { + namePart := name.NewNamePart($3.Value) + positions.AddPosition(namePart, positionBuilder.NewTokenPosition($3)) + $$ = append($1, namePart) + comments.AddComments(namePart, $3.Comments()) + } ; top_statement: - statement { } - | function_declaration_statement { } - | class_declaration_statement { } - | T_HALT_COMPILER '(' ')' ';' { } - | T_NAMESPACE namespace_name ';' { } - | T_NAMESPACE namespace_name '{' { } - top_statement_list '}' { } - | T_NAMESPACE '{' { } - top_statement_list '}' { } - | T_USE use_declarations ';' { } - | T_USE T_FUNCTION use_function_declarations ';' { } - | T_USE T_CONST use_const_declarations ';' { } - | constant_declaration ';' { } + statement { $$ = nil } + | function_declaration_statement { $$ = nil } + | class_declaration_statement { $$ = nil } + | T_HALT_COMPILER '(' ')' ';' { $$ = stmt.NewHaltCompiler() } + | T_NAMESPACE namespace_name ';' + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewNamespace(name, nil) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, $1.Comments()) + } + | T_NAMESPACE namespace_name '{' top_statement_list '}' + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewNamespace(name, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, $1.Comments()) + } + | T_NAMESPACE '{' top_statement_list '}' + { + $$ = stmt.NewNamespace(nil, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_USE use_declarations ';' + { + $$ = stmt.NewUseList(nil, $2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_USE T_FUNCTION use_function_declarations ';' + { + useType := node.NewIdentifier($2.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($2)) + comments.AddComments($$, $2.Comments()) + + $$ = stmt.NewUseList(useType, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_USE T_CONST use_const_declarations ';' + { + useType := node.NewIdentifier($2.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($2)) + comments.AddComments($$, $2.Comments()) + + $$ = stmt.NewUseList(useType, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | constant_declaration ';' { $$ = nil } ; use_declarations: - use_declarations ',' use_declaration - | use_declaration + use_declarations ',' use_declaration { $$ = append($1, $3) } + | use_declaration { $$ = []node.Node{$1} } ; use_declaration: - namespace_name { } - | namespace_name T_AS T_STRING { } - | T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name T_AS T_STRING { } + namespace_name + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + $$ = stmt.NewUse(nil, name, nil) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | namespace_name T_AS T_STRING + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + alias := node.NewIdentifier($3.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewUse(nil, name, alias) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments(alias, $3.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NS_SEPARATOR namespace_name + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewUse(nil, name, nil) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($2)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, ListGetFirstNodeComments($2)) + } + | T_NS_SEPARATOR namespace_name T_AS T_STRING + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + alias := node.NewIdentifier($4.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($4)) + $$ = stmt.NewUse(nil, name, alias) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($2, $4)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments(alias, $4.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($2)) + } ; use_function_declarations: - use_function_declarations ',' use_function_declaration - | use_function_declaration + use_function_declarations ',' use_function_declaration + { + $$ = append($1, $3) + } + | use_function_declaration + { + $$ = []node.Node{$1} + } ; use_function_declaration: - namespace_name { } - | namespace_name T_AS T_STRING { } - | T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name T_AS T_STRING { } + namespace_name + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + $$ = stmt.NewUse(nil, name, nil) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | namespace_name T_AS T_STRING + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + alias := node.NewIdentifier($3.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewUse(nil, name, alias) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments(alias, $3.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NS_SEPARATOR namespace_name + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewUse(nil, name, nil) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($2)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, ListGetFirstNodeComments($2)) + } + | T_NS_SEPARATOR namespace_name T_AS T_STRING + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + alias := node.NewIdentifier($4.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($4)) + $$ = stmt.NewUse(nil, name, alias) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($2, $4)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments(alias, $4.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($2)) + } ; use_const_declarations: - use_const_declarations ',' use_const_declaration - | use_const_declaration + use_const_declarations ',' use_const_declaration + { + $$ = append($1, $3) + } + | use_const_declaration + { + $$ = []node.Node{$1} + } ; use_const_declaration: - namespace_name { } - | namespace_name T_AS T_STRING { } - | T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name T_AS T_STRING { } + namespace_name + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + $$ = stmt.NewUse(nil, name, nil) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | namespace_name T_AS T_STRING + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + alias := node.NewIdentifier($3.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) + $$ = stmt.NewUse(nil, name, alias) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($1)) + comments.AddComments(alias, $3.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NS_SEPARATOR namespace_name + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + $$ = stmt.NewUse(nil, name, nil) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($2)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments($$, ListGetFirstNodeComments($2)) + } + | T_NS_SEPARATOR namespace_name T_AS T_STRING + { + name := name.NewName($2) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) + alias := node.NewIdentifier($4.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($4)) + $$ = stmt.NewUse(nil, name, alias) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($2, $4)) + + comments.AddComments(name, ListGetFirstNodeComments($2)) + comments.AddComments(alias, $4.Comments()) + comments.AddComments($$, ListGetFirstNodeComments($2)) + } ; constant_declaration: - constant_declaration ',' T_STRING '=' static_scalar { } - | T_CONST T_STRING '=' static_scalar { } + constant_declaration ',' T_STRING '=' static_scalar { } + | T_CONST T_STRING '=' static_scalar { } ; inner_statement_list: - inner_statement_list { } - | /* empty */ + inner_statement_list { } + | /* empty */ ; inner_statement: - statement - | function_declaration_statement - | class_declaration_statement - | T_HALT_COMPILER '(' ')' ';' { } + statement + | function_declaration_statement + | class_declaration_statement + | T_HALT_COMPILER '(' ')' ';' { } ; statement: - unticked_statement { } - | T_STRING ':' { } + unticked_statement { } + | T_STRING ':' { } ; unticked_statement: - '{' inner_statement_list '}' - | T_IF parenthesis_expr { } statement { } elseif_list else_single { } - | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } - | T_WHILE { } parenthesis_expr { } while_statement { } - | T_DO { } statement T_WHILE { } parenthesis_expr ';' { } - | T_FOR - '(' - for_expr - ';' { } - for_expr - ';' { } - for_expr - ')' { } - for_statement { } - | T_SWITCH parenthesis_expr { } switch_case_list { } - | T_BREAK ';' { } - | T_BREAK expr ';' { } - | T_CONTINUE ';' { } - | T_CONTINUE expr ';' { } - | T_RETURN ';' { } - | T_RETURN expr_without_variable ';' { } - | T_RETURN variable ';' { } - | yield_expr ';' { } - | T_GLOBAL global_var_list ';' - | T_STATIC static_var_list ';' - | T_ECHO echo_expr_list ';' - | T_INLINE_HTML { } - | expr ';' { } - | T_UNSET '(' unset_variables ')' ';' - | T_FOREACH '(' variable T_AS - { } - foreach_variable foreach_optional_arg ')' { } - foreach_statement { } - | T_FOREACH '(' expr_without_variable T_AS - { } - foreach_variable foreach_optional_arg ')' { } - foreach_statement { } - | T_DECLARE { } '(' declare_list ')' declare_statement { } - | ';' /* empty statement */ - | T_TRY { } '{' inner_statement_list '}' - catch_statement { } - finally_statement { } - | T_THROW expr ';' { } - | T_GOTO T_STRING ';' { } + '{' inner_statement_list '}' + | T_IF parenthesis_expr { } statement { } elseif_list else_single { } + | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } + | T_WHILE { } parenthesis_expr { } while_statement { } + | T_DO { } statement T_WHILE { } parenthesis_expr ';' { } + | T_FOR + '(' + for_expr + ';' { } + for_expr + ';' { } + for_expr + ')' { } + for_statement { } + | T_SWITCH parenthesis_expr { } switch_case_list { } + | T_BREAK ';' { } + | T_BREAK expr ';' { } + | T_CONTINUE ';' { } + | T_CONTINUE expr ';' { } + | T_RETURN ';' { } + | T_RETURN expr_without_variable ';' { } + | T_RETURN variable ';' { } + | yield_expr ';' { } + | T_GLOBAL global_var_list ';' + | T_STATIC static_var_list ';' + | T_ECHO echo_expr_list ';' + | T_INLINE_HTML { } + | expr ';' { } + | T_UNSET '(' unset_variables ')' ';' + | T_FOREACH '(' variable T_AS + { } + foreach_variable foreach_optional_arg ')' { } + foreach_statement { } + | T_FOREACH '(' expr_without_variable T_AS + { } + foreach_variable foreach_optional_arg ')' { } + foreach_statement { } + | T_DECLARE { } '(' declare_list ')' declare_statement { } + | ';' /* empty statement */ + | T_TRY { } '{' inner_statement_list '}' + catch_statement { } + finally_statement { } + | T_THROW expr ';' { } + | T_GOTO T_STRING ';' { } ; catch_statement: - /* empty */ { } - | T_CATCH '(' { } - fully_qualified_class_name { } - T_VARIABLE ')' { } - '{' inner_statement_list '}' { } - additional_catches { } + /* empty */ { } + | T_CATCH '(' { } + fully_qualified_class_name { } + T_VARIABLE ')' { } + '{' inner_statement_list '}' { } + additional_catches { } finally_statement: - /* empty */ { } - | T_FINALLY { } '{' inner_statement_list '}' { } + /* empty */ { } + | T_FINALLY { } '{' inner_statement_list '}' { } ; additional_catches: - non_empty_additional_catches { } - | /* empty */ { } + non_empty_additional_catches { } + | /* empty */ { } ; non_empty_additional_catches: - additional_catch { } - | non_empty_additional_catches additional_catch { } + additional_catch { } + | non_empty_additional_catches additional_catch { } ; additional_catch: - T_CATCH '(' fully_qualified_class_name { } T_VARIABLE ')' { } '{' inner_statement_list '}' { } + T_CATCH '(' fully_qualified_class_name { } T_VARIABLE ')' { } '{' inner_statement_list '}' { } ; unset_variables: - unset_variable - | unset_variables ',' unset_variable + unset_variable + | unset_variables ',' unset_variable ; unset_variable: - variable { } + variable { } ; function_declaration_statement: - unticked_function_declaration_statement { } + unticked_function_declaration_statement { } ; class_declaration_statement: - unticked_class_declaration_statement { } + unticked_class_declaration_statement { } ; is_reference: - /* empty */ { } - | '&' { } + /* empty */ { } + | '&' { } ; is_variadic: - /* empty */ { } - | T_ELLIPSIS { } + /* empty */ { } + | T_ELLIPSIS { } ; unticked_function_declaration_statement: - function is_reference T_STRING { } - '(' parameter_list ')' - '{' inner_statement_list '}' { } + function is_reference T_STRING { } + '(' parameter_list ')' + '{' inner_statement_list '}' { } ; unticked_class_declaration_statement: - class_entry_type T_STRING extends_from - { } - implements_list - '{' - class_statement_list - '}' { } - | interface_entry T_STRING - { } - interface_extends_list - '{' - class_statement_list - '}' { } + class_entry_type T_STRING extends_from + { } + implements_list + '{' + class_statement_list + '}' { } + | interface_entry T_STRING + { } + interface_extends_list + '{' + class_statement_list + '}' { } ; class_entry_type: - T_CLASS { } - | T_ABSTRACT T_CLASS { } - | T_TRAIT { } - | T_FINAL T_CLASS { } + T_CLASS { } + | T_ABSTRACT T_CLASS { } + | T_TRAIT { } + | T_FINAL T_CLASS { } ; extends_from: - /* empty */ { } - | T_EXTENDS fully_qualified_class_name { } + /* empty */ { } + | T_EXTENDS fully_qualified_class_name { } ; interface_entry: - T_INTERFACE { } + T_INTERFACE { } ; interface_extends_list: - /* empty */ - | T_EXTENDS interface_list + /* empty */ + | T_EXTENDS interface_list ; implements_list: - /* empty */ - | T_IMPLEMENTS interface_list + /* empty */ + | T_IMPLEMENTS interface_list ; interface_list: - fully_qualified_class_name { } - | interface_list ',' fully_qualified_class_name { } + fully_qualified_class_name { } + | interface_list ',' fully_qualified_class_name { } ; foreach_optional_arg: - /* empty */ { } - | T_DOUBLE_ARROW foreach_variable { } + /* empty */ { } + | T_DOUBLE_ARROW foreach_variable { } ; foreach_variable: - variable { } - | '&' variable { } - | T_LIST '(' { } assignment_list ')' { } + variable { } + | '&' variable { } + | T_LIST '(' { } assignment_list ')' { } ; for_statement: - statement - | ':' inner_statement_list T_ENDFOR ';' + statement + | ':' inner_statement_list T_ENDFOR ';' ; foreach_statement: - statement - | ':' inner_statement_list T_ENDFOREACH ';' + statement + | ':' inner_statement_list T_ENDFOREACH ';' ; declare_statement: - statement - | ':' inner_statement_list T_ENDDECLARE ';' + statement + | ':' inner_statement_list T_ENDDECLARE ';' ; declare_list: - T_STRING '=' static_scalar { } - | declare_list ',' T_STRING '=' static_scalar { } + T_STRING '=' static_scalar { } + | declare_list ',' T_STRING '=' static_scalar { } ; switch_case_list: - '{' case_list '}' { } - | '{' ';' case_list '}' { } - | ':' case_list T_ENDSWITCH ';' { } - | ':' ';' case_list T_ENDSWITCH ';' { } + '{' case_list '}' { } + | '{' ';' case_list '}' { } + | ':' case_list T_ENDSWITCH ';' { } + | ':' ';' case_list T_ENDSWITCH ';' { } ; case_list: - /* empty */ { } - | case_list T_CASE expr case_separator { } inner_statement_list { } - | case_list T_DEFAULT case_separator { } inner_statement_list { } + /* empty */ { } + | case_list T_CASE expr case_separator { } inner_statement_list { } + | case_list T_DEFAULT case_separator { } inner_statement_list { } ; case_separator: - ':' - | ';' + ':' + | ';' ; while_statement: - statement - | ':' inner_statement_list T_ENDWHILE ';' + statement + | ':' inner_statement_list T_ENDWHILE ';' ; elseif_list: - /* empty */ - | elseif_list T_ELSEIF parenthesis_expr { } statement { } + /* empty */ + | elseif_list T_ELSEIF parenthesis_expr { } statement { } ; new_elseif_list: - /* empty */ - | new_elseif_list T_ELSEIF parenthesis_expr ':' { } inner_statement_list { } + /* empty */ + | new_elseif_list T_ELSEIF parenthesis_expr ':' { } inner_statement_list { } ; else_single: - /* empty */ - | T_ELSE statement + /* empty */ + | T_ELSE statement ; new_else_single: - /* empty */ - | T_ELSE ':' inner_statement_list + /* empty */ + | T_ELSE ':' inner_statement_list ; parameter_list: - non_empty_parameter_list - | /* empty */ + non_empty_parameter_list + | /* empty */ ; non_empty_parameter_list: - parameter - | non_empty_parameter_list ',' parameter + parameter + | non_empty_parameter_list ',' parameter ; parameter: - optional_class_type is_reference is_variadic T_VARIABLE - { } - | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar - { } + optional_class_type is_reference is_variadic T_VARIABLE + { } + | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar + { } ; optional_class_type: - /* empty */ { } - | T_ARRAY { } - | T_CALLABLE { } - | fully_qualified_class_name { } + /* empty */ { } + | T_ARRAY { } + | T_CALLABLE { } + | fully_qualified_class_name { } ; function_call_parameter_list: - '(' ')' { } - | '(' non_empty_function_call_parameter_list ')' { } - | '(' yield_expr ')' { } + '(' ')' { } + | '(' non_empty_function_call_parameter_list ')' { } + | '(' yield_expr ')' { } ; non_empty_function_call_parameter_list: - function_call_parameter - | non_empty_function_call_parameter_list ',' function_call_parameter + function_call_parameter + | non_empty_function_call_parameter_list ',' function_call_parameter ; function_call_parameter: - expr_without_variable { } - | variable { } - | '&' w_variable { } - | T_ELLIPSIS expr { } + expr_without_variable { } + | variable { } + | '&' w_variable { } + | T_ELLIPSIS expr { } ; global_var_list: - global_var_list ',' global_var { } - | global_var { } + global_var_list ',' global_var { } + | global_var { } ; global_var: - T_VARIABLE { } - | '$' r_variable { } - | '$' '{' expr '}' { } + T_VARIABLE { } + | '$' r_variable { } + | '$' '{' expr '}' { } ; static_var_list: - static_var_list ',' T_VARIABLE { } - | static_var_list ',' T_VARIABLE '=' static_scalar { } - | T_VARIABLE { } - | T_VARIABLE '=' static_scalar { } + static_var_list ',' T_VARIABLE { } + | static_var_list ',' T_VARIABLE '=' static_scalar { } + | T_VARIABLE { } + | T_VARIABLE '=' static_scalar { } ; class_statement_list: - class_statement_list class_statement - | /* empty */ + class_statement_list class_statement + | /* empty */ ; class_statement: - variable_modifiers { } class_variable_declaration ';' - | class_constant_declaration ';' - | trait_use_statement - | method_modifiers function is_reference T_STRING { } - '(' parameter_list ')' - method_body { } + variable_modifiers { } class_variable_declaration ';' + | class_constant_declaration ';' + | trait_use_statement + | method_modifiers function is_reference T_STRING { } + '(' parameter_list ')' + method_body { } ; trait_use_statement: - T_USE trait_list trait_adaptations + T_USE trait_list trait_adaptations ; trait_list: - fully_qualified_class_name { } - | trait_list ',' fully_qualified_class_name { } + fully_qualified_class_name { } + | trait_list ',' fully_qualified_class_name { } ; trait_adaptations: - ';' - | '{' trait_adaptation_list '}' + ';' + | '{' trait_adaptation_list '}' ; trait_adaptation_list: - /* empty */ - | non_empty_trait_adaptation_list + /* empty */ + | non_empty_trait_adaptation_list ; non_empty_trait_adaptation_list: - trait_adaptation_statement - | non_empty_trait_adaptation_list trait_adaptation_statement + trait_adaptation_statement + | non_empty_trait_adaptation_list trait_adaptation_statement ; trait_adaptation_statement: - trait_precedence ';' - | trait_alias ';' + trait_precedence ';' + | trait_alias ';' ; trait_precedence: - trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { } + trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { } ; trait_reference_list: - fully_qualified_class_name { } - | trait_reference_list ',' fully_qualified_class_name { } + fully_qualified_class_name { } + | trait_reference_list ',' fully_qualified_class_name { } ; trait_method_reference: - T_STRING { } - | trait_method_reference_fully_qualified { } + T_STRING { } + | trait_method_reference_fully_qualified { } ; trait_method_reference_fully_qualified: - fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } ; trait_alias: - trait_method_reference T_AS trait_modifiers T_STRING { } - | trait_method_reference T_AS member_modifier { } + trait_method_reference T_AS trait_modifiers T_STRING { } + | trait_method_reference T_AS member_modifier { } ; trait_modifiers: - /* empty */ { } /* No change of methods visibility */ - | member_modifier { } /* REM: Keep in mind, there are not only visibility modifiers */ + /* empty */ { } /* No change of methods visibility */ + | member_modifier { } /* REM: Keep in mind, there are not only visibility modifiers */ ; method_body: - ';' /* abstract method */ { } - | '{' inner_statement_list '}' { } + ';' /* abstract method */ { } + | '{' inner_statement_list '}' { } ; variable_modifiers: - non_empty_member_modifiers { } - | T_VAR { } + non_empty_member_modifiers { } + | T_VAR { } ; method_modifiers: - /* empty */ { } - | non_empty_member_modifiers { } + /* empty */ { } + | non_empty_member_modifiers { } ; non_empty_member_modifiers: - member_modifier { } - | non_empty_member_modifiers member_modifier { } + member_modifier { } + | non_empty_member_modifiers member_modifier { } ; member_modifier: - T_PUBLIC { } - | T_PROTECTED { } - | T_PRIVATE { } - | T_STATIC { } - | T_ABSTRACT { } - | T_FINAL { } + T_PUBLIC { } + | T_PROTECTED { } + | T_PRIVATE { } + | T_STATIC { } + | T_ABSTRACT { } + | T_FINAL { } ; class_variable_declaration: - class_variable_declaration ',' T_VARIABLE { } - | class_variable_declaration ',' T_VARIABLE '=' static_scalar { } - | T_VARIABLE { } - | T_VARIABLE '=' static_scalar { } + class_variable_declaration ',' T_VARIABLE { } + | class_variable_declaration ',' T_VARIABLE '=' static_scalar { } + | T_VARIABLE { } + | T_VARIABLE '=' static_scalar { } ; class_constant_declaration: - class_constant_declaration ',' T_STRING '=' static_scalar { } - | T_CONST T_STRING '=' static_scalar { } + class_constant_declaration ',' T_STRING '=' static_scalar { } + | T_CONST T_STRING '=' static_scalar { } ; echo_expr_list: - echo_expr_list ',' expr { } - | expr { } + echo_expr_list ',' expr { } + | expr { } ; for_expr: - /* empty */ { } - | non_empty_for_expr { } + /* empty */ { } + | non_empty_for_expr { } ; non_empty_for_expr: - non_empty_for_expr ',' { } expr { } - | expr { } + non_empty_for_expr ',' { } expr { } + | expr { } ; chaining_method_or_property: - chaining_method_or_property variable_property { } - | variable_property { } + chaining_method_or_property variable_property { } + | variable_property { } ; chaining_dereference: - chaining_dereference '[' dim_offset ']' { } - | '[' dim_offset ']' { } + chaining_dereference '[' dim_offset ']' { } + | '[' dim_offset ']' { } ; chaining_instance_call: - chaining_dereference { } chaining_method_or_property { } - | chaining_dereference { } - | chaining_method_or_property { } + chaining_dereference { } chaining_method_or_property { } + | chaining_dereference { } + | chaining_method_or_property { } ; instance_call: - /* empty */ { } - | { } - chaining_instance_call { } + /* empty */ { } + | { } + chaining_instance_call { } ; new_expr: - T_NEW class_name_reference { } ctor_arguments { } + T_NEW class_name_reference { } ctor_arguments { } ; expr_without_variable: - T_LIST '(' { } assignment_list ')' '=' expr { } - | variable '=' expr { } - | variable '=' '&' variable { } - | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } - | T_CLONE expr { } - | variable T_PLUS_EQUAL expr { } - | variable T_MINUS_EQUAL expr { } - | variable T_MUL_EQUAL expr { } - | variable T_POW_EQUAL expr { } - | variable T_DIV_EQUAL expr { } - | variable T_CONCAT_EQUAL expr { } - | variable T_MOD_EQUAL expr { } - | variable T_AND_EQUAL expr { } - | variable T_OR_EQUAL expr { } - | variable T_XOR_EQUAL expr { } - | variable T_SL_EQUAL expr { } - | variable T_SR_EQUAL expr { } - | rw_variable T_INC { } - | T_INC rw_variable { } - | rw_variable T_DEC { } - | T_DEC rw_variable { } - | expr T_BOOLEAN_OR { } expr { } - | expr T_BOOLEAN_AND { } expr { } - | expr T_LOGICAL_OR { } expr { } - | expr T_LOGICAL_AND { } expr { } - | expr T_LOGICAL_XOR expr { } - | expr '|' expr { } - | expr '&' expr { } - | expr '^' expr { } - | expr '.' expr { } - | expr '+' expr { } - | expr '-' expr { } - | expr '*' expr { } - | expr T_POW expr { } - | expr '/' expr { } - | expr '%' expr { } - | expr T_SL expr { } - | expr T_SR expr { } - | '+' expr %prec T_INC { } - | '-' expr %prec T_INC { } - | '!' expr { } - | '~' expr { } - | expr T_IS_IDENTICAL expr { } - | expr T_IS_NOT_IDENTICAL expr { } - | expr T_IS_EQUAL expr { } - | expr T_IS_NOT_EQUAL expr { } - | expr '<' expr { } - | expr T_IS_SMALLER_OR_EQUAL expr { } - | expr '>' expr { } - | expr T_IS_GREATER_OR_EQUAL expr { } - | expr T_INSTANCEOF class_name_reference { } - | parenthesis_expr { } - | new_expr { } - | '(' new_expr ')' { } instance_call { } - | expr '?' { } - expr ':' { } - expr { } - | expr '?' ':' { } - expr { } - | internal_functions_in_yacc { } - | T_INT_CAST expr { } - | T_DOUBLE_CAST expr { } - | T_STRING_CAST expr { } - | T_ARRAY_CAST expr { } - | T_OBJECT_CAST expr { } - | T_BOOL_CAST expr { } - | T_UNSET_CAST expr { } - | T_EXIT exit_expr { } - | '@' { } expr { } - | scalar { } - | combined_scalar_offset { } - | combined_scalar { } - | '`' backticks_expr '`' { } - | T_PRINT expr { } - | T_YIELD { } - | function is_reference { } - '(' parameter_list ')' lexical_vars - '{' inner_statement_list '}' { } - | T_STATIC function is_reference { } - '(' parameter_list ')' lexical_vars - '{' inner_statement_list '}' { } + T_LIST '(' { } assignment_list ')' '=' expr { } + | variable '=' expr { } + | variable '=' '&' variable { } + | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } + | T_CLONE expr { } + | variable T_PLUS_EQUAL expr { } + | variable T_MINUS_EQUAL expr { } + | variable T_MUL_EQUAL expr { } + | variable T_POW_EQUAL expr { } + | variable T_DIV_EQUAL expr { } + | variable T_CONCAT_EQUAL expr { } + | variable T_MOD_EQUAL expr { } + | variable T_AND_EQUAL expr { } + | variable T_OR_EQUAL expr { } + | variable T_XOR_EQUAL expr { } + | variable T_SL_EQUAL expr { } + | variable T_SR_EQUAL expr { } + | rw_variable T_INC { } + | T_INC rw_variable { } + | rw_variable T_DEC { } + | T_DEC rw_variable { } + | expr T_BOOLEAN_OR { } expr { } + | expr T_BOOLEAN_AND { } expr { } + | expr T_LOGICAL_OR { } expr { } + | expr T_LOGICAL_AND { } expr { } + | expr T_LOGICAL_XOR expr { } + | expr '|' expr { } + | expr '&' expr { } + | expr '^' expr { } + | expr '.' expr { } + | expr '+' expr { } + | expr '-' expr { } + | expr '*' expr { } + | expr T_POW expr { } + | expr '/' expr { } + | expr '%' expr { } + | expr T_SL expr { } + | expr T_SR expr { } + | '+' expr %prec T_INC { } + | '-' expr %prec T_INC { } + | '!' expr { } + | '~' expr { } + | expr T_IS_IDENTICAL expr { } + | expr T_IS_NOT_IDENTICAL expr { } + | expr T_IS_EQUAL expr { } + | expr T_IS_NOT_EQUAL expr { } + | expr '<' expr { } + | expr T_IS_SMALLER_OR_EQUAL expr { } + | expr '>' expr { } + | expr T_IS_GREATER_OR_EQUAL expr { } + | expr T_INSTANCEOF class_name_reference { } + | parenthesis_expr { } + | new_expr { } + | '(' new_expr ')' { } instance_call { } + | expr '?' { } + expr ':' { } + expr { } + | expr '?' ':' { } + expr { } + | internal_functions_in_yacc { } + | T_INT_CAST expr { } + | T_DOUBLE_CAST expr { } + | T_STRING_CAST expr { } + | T_ARRAY_CAST expr { } + | T_OBJECT_CAST expr { } + | T_BOOL_CAST expr { } + | T_UNSET_CAST expr { } + | T_EXIT exit_expr { } + | '@' { } expr { } + | scalar { } + | combined_scalar_offset { } + | combined_scalar { } + | '`' backticks_expr '`' { } + | T_PRINT expr { } + | T_YIELD { } + | function is_reference { } + '(' parameter_list ')' lexical_vars + '{' inner_statement_list '}' { } + | T_STATIC function is_reference { } + '(' parameter_list ')' lexical_vars + '{' inner_statement_list '}' { } ; yield_expr: - T_YIELD expr_without_variable { } - | T_YIELD variable { } - | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { } - | T_YIELD expr T_DOUBLE_ARROW variable { } + T_YIELD expr_without_variable { } + | T_YIELD variable { } + | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { } + | T_YIELD expr T_DOUBLE_ARROW variable { } ; combined_scalar_offset: - combined_scalar '[' dim_offset ']' { } - | combined_scalar_offset '[' dim_offset ']' { } - | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { } - | general_constant '[' dim_offset ']' { } + combined_scalar '[' dim_offset ']' { } + | combined_scalar_offset '[' dim_offset ']' { } + | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { } + | general_constant '[' dim_offset ']' { } ; combined_scalar: - T_ARRAY '(' array_pair_list ')' { } - | '[' array_pair_list ']' { } + T_ARRAY '(' array_pair_list ')' { } + | '[' array_pair_list ']' { } ; function: - T_FUNCTION { } + T_FUNCTION { } ; lexical_vars: - /* empty */ - | T_USE '(' lexical_var_list ')' + /* empty */ + | T_USE '(' lexical_var_list ')' ; lexical_var_list: - lexical_var_list ',' T_VARIABLE { } - | lexical_var_list ',' '&' T_VARIABLE { } - | T_VARIABLE { } - | '&' T_VARIABLE { } + lexical_var_list ',' T_VARIABLE { } + | lexical_var_list ',' '&' T_VARIABLE { } + | T_VARIABLE { } + | '&' T_VARIABLE { } ; function_call: - namespace_name { } - function_call_parameter_list { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - function_call_parameter_list { } - | T_NS_SEPARATOR namespace_name { } - function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } - function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } - function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - function_call_parameter_list { } - | variable_without_objects { } - function_call_parameter_list { } + namespace_name { } + function_call_parameter_list { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + function_call_parameter_list { } + | T_NS_SEPARATOR namespace_name { } + function_call_parameter_list { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } + function_call_parameter_list { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + function_call_parameter_list { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } + function_call_parameter_list { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + function_call_parameter_list { } + | variable_without_objects { } + function_call_parameter_list { } ; class_name: - T_STATIC { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + T_STATIC { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } ; fully_qualified_class_name: - namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } ; class_name_reference: - class_name { } - | dynamic_class_name_reference { } + class_name { } + | dynamic_class_name_reference { } ; dynamic_class_name_reference: - base_variable T_OBJECT_OPERATOR { } - object_property { } dynamic_class_name_variable_properties - { } - | base_variable { } + base_variable T_OBJECT_OPERATOR { } + object_property { } dynamic_class_name_variable_properties + { } + | base_variable { } ; dynamic_class_name_variable_properties: - dynamic_class_name_variable_properties dynamic_class_name_variable_property - | /* empty */ + dynamic_class_name_variable_properties dynamic_class_name_variable_property + | /* empty */ ; dynamic_class_name_variable_property: - T_OBJECT_OPERATOR object_property { } + T_OBJECT_OPERATOR object_property { } ; exit_expr: - /* empty */ { } - | '(' ')' { } - | parenthesis_expr { } + /* empty */ { } + | '(' ')' { } + | parenthesis_expr { } ; backticks_expr: - /* empty */ { } - | T_ENCAPSED_AND_WHITESPACE { } - | encaps_list { } + /* empty */ { } + | T_ENCAPSED_AND_WHITESPACE { } + | encaps_list { } ; ctor_arguments: - /* empty */ { } - | function_call_parameter_list { } + /* empty */ { } + | function_call_parameter_list { } ; common_scalar: - T_LNUMBER { } - | T_DNUMBER { } - | T_CONSTANT_ENCAPSED_STRING { } - | T_LINE { } - | T_FILE { } - | T_DIR { } - | T_TRAIT_C { } - | T_METHOD_C { } - | T_FUNC_C { } - | T_NS_C { } - | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { } - | T_START_HEREDOC T_END_HEREDOC { } + T_LNUMBER { } + | T_DNUMBER { } + | T_CONSTANT_ENCAPSED_STRING { } + | T_LINE { } + | T_FILE { } + | T_DIR { } + | T_TRAIT_C { } + | T_METHOD_C { } + | T_FUNC_C { } + | T_NS_C { } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { } + | T_START_HEREDOC T_END_HEREDOC { } ; static_class_constant: - class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } ; static_scalar: /* compile-time evaluated scalars */ - static_scalar_value { } + static_scalar_value { } ; static_scalar_value: - common_scalar { } - | static_class_name_scalar { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } - | T_ARRAY '(' static_array_pair_list ')' { } - | '[' static_array_pair_list ']' { } - | static_class_constant { } - | T_CLASS_C { } - | static_operation { } + common_scalar { } + | static_class_name_scalar { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } + | T_ARRAY '(' static_array_pair_list ')' { } + | '[' static_array_pair_list ']' { } + | static_class_constant { } + | T_CLASS_C { } + | static_operation { } ; static_operation: - static_scalar_value '[' static_scalar_value ']' { } - | static_scalar_value '+' static_scalar_value { } - | static_scalar_value '-' static_scalar_value { } - | static_scalar_value '*' static_scalar_value { } - | static_scalar_value T_POW static_scalar_value { } - | static_scalar_value '/' static_scalar_value { } - | static_scalar_value '%' static_scalar_value { } - | '!' static_scalar_value { } - | '~' static_scalar_value { } - | static_scalar_value '|' static_scalar_value { } - | static_scalar_value '&' static_scalar_value { } - | static_scalar_value '^' static_scalar_value { } - | static_scalar_value T_SL static_scalar_value { } - | static_scalar_value T_SR static_scalar_value { } - | static_scalar_value '.' static_scalar_value { } - | static_scalar_value T_LOGICAL_XOR static_scalar_value { } - | static_scalar_value T_LOGICAL_AND static_scalar_value { } - | static_scalar_value T_LOGICAL_OR static_scalar_value { } - | static_scalar_value T_BOOLEAN_AND static_scalar_value { } - | static_scalar_value T_BOOLEAN_OR static_scalar_value { } - | static_scalar_value T_IS_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_EQUAL static_scalar_value { } - | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { } - | static_scalar_value '<' static_scalar_value { } - | static_scalar_value '>' static_scalar_value { } - | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { } - | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { } - | static_scalar_value '?' ':' static_scalar_value { } - | static_scalar_value '?' static_scalar_value ':' static_scalar_value { } - | '+' static_scalar_value { } - | '-' static_scalar_value { } - | '(' static_scalar_value ')' { } + static_scalar_value '[' static_scalar_value ']' { } + | static_scalar_value '+' static_scalar_value { } + | static_scalar_value '-' static_scalar_value { } + | static_scalar_value '*' static_scalar_value { } + | static_scalar_value T_POW static_scalar_value { } + | static_scalar_value '/' static_scalar_value { } + | static_scalar_value '%' static_scalar_value { } + | '!' static_scalar_value { } + | '~' static_scalar_value { } + | static_scalar_value '|' static_scalar_value { } + | static_scalar_value '&' static_scalar_value { } + | static_scalar_value '^' static_scalar_value { } + | static_scalar_value T_SL static_scalar_value { } + | static_scalar_value T_SR static_scalar_value { } + | static_scalar_value '.' static_scalar_value { } + | static_scalar_value T_LOGICAL_XOR static_scalar_value { } + | static_scalar_value T_LOGICAL_AND static_scalar_value { } + | static_scalar_value T_LOGICAL_OR static_scalar_value { } + | static_scalar_value T_BOOLEAN_AND static_scalar_value { } + | static_scalar_value T_BOOLEAN_OR static_scalar_value { } + | static_scalar_value T_IS_IDENTICAL static_scalar_value { } + | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { } + | static_scalar_value T_IS_EQUAL static_scalar_value { } + | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { } + | static_scalar_value '<' static_scalar_value { } + | static_scalar_value '>' static_scalar_value { } + | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { } + | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { } + | static_scalar_value '?' ':' static_scalar_value { } + | static_scalar_value '?' static_scalar_value ':' static_scalar_value { } + | '+' static_scalar_value { } + | '-' static_scalar_value { } + | '(' static_scalar_value ')' { } ; general_constant: - class_constant { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + class_constant { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } ; scalar: - T_STRING_VARNAME { } - | general_constant { } - | class_name_scalar { } - | common_scalar { } - | '"' encaps_list '"' { } - | T_START_HEREDOC encaps_list T_END_HEREDOC { } - | T_CLASS_C { } + T_STRING_VARNAME { } + | general_constant { } + | class_name_scalar { } + | common_scalar { } + | '"' encaps_list '"' { } + | T_START_HEREDOC encaps_list T_END_HEREDOC { } + | T_CLASS_C { } ; static_array_pair_list: - /* empty */ { } - | non_empty_static_array_pair_list possible_comma { } + /* empty */ { } + | non_empty_static_array_pair_list possible_comma { } ; possible_comma: - /* empty */ - | ',' + /* empty */ + | ',' ; non_empty_static_array_pair_list: - non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | non_empty_static_array_pair_list ',' static_scalar_value { } - | static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | static_scalar_value { } + non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value { } + | non_empty_static_array_pair_list ',' static_scalar_value { } + | static_scalar_value T_DOUBLE_ARROW static_scalar_value { } + | static_scalar_value { } ; expr: - r_variable { } - | expr_without_variable { } + r_variable { } + | expr_without_variable { } ; parenthesis_expr: - '(' expr ')' { } - | '(' yield_expr ')' { } + '(' expr ')' { } + | '(' yield_expr ')' { } ; r_variable: - variable { } + variable { } ; w_variable: - variable { } + variable { } ; rw_variable: - variable { } + variable { } ; variable: - base_variable_with_function_calls T_OBJECT_OPERATOR { } - object_property { } method_or_not variable_properties - { } - | base_variable_with_function_calls { } + base_variable_with_function_calls T_OBJECT_OPERATOR { } + object_property { } method_or_not variable_properties + { } + | base_variable_with_function_calls { } ; variable_properties: - variable_properties variable_property { } - | /* empty */ { } + variable_properties variable_property { } + | /* empty */ { } ; variable_property: - T_OBJECT_OPERATOR object_property { } method_or_not { } + T_OBJECT_OPERATOR object_property { } method_or_not { } ; array_method_dereference: - array_method_dereference '[' dim_offset ']' { } - | method '[' dim_offset ']' { } + array_method_dereference '[' dim_offset ']' { } + | method '[' dim_offset ']' { } ; method: - { } - function_call_parameter_list { } + { } + function_call_parameter_list { } ; method_or_not: - method { } - | array_method_dereference { } - | /* empty */ { } + method { } + | array_method_dereference { } + | /* empty */ { } ; variable_without_objects: - reference_variable { } - | simple_indirect_reference reference_variable { } + reference_variable { } + | simple_indirect_reference reference_variable { } ; static_member: - class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } ; variable_class_name: - reference_variable { } + reference_variable { } ; array_function_dereference: - array_function_dereference '[' dim_offset ']' { } - | function_call { } - '[' dim_offset ']' { } + array_function_dereference '[' dim_offset ']' { } + | function_call { } + '[' dim_offset ']' { } ; base_variable_with_function_calls: - base_variable { } - | array_function_dereference { } - | function_call { } + base_variable { } + | array_function_dereference { } + | function_call { } ; base_variable: - reference_variable { } - | simple_indirect_reference reference_variable { } - | static_member { } + reference_variable { } + | simple_indirect_reference reference_variable { } + | static_member { } ; reference_variable: - reference_variable '[' dim_offset ']' { } - | reference_variable '{' expr '}' { } - | compound_variable { } + reference_variable '[' dim_offset ']' { } + | reference_variable '{' expr '}' { } + | compound_variable { } ; compound_variable: - T_VARIABLE { } - | '$' '{' expr '}' { } + T_VARIABLE { } + | '$' '{' expr '}' { } ; dim_offset: - /* empty */ { } - | expr { } + /* empty */ { } + | expr { } ; object_property: - object_dim_list { } - | variable_without_objects { } + object_dim_list { } + | variable_without_objects { } ; object_dim_list: - object_dim_list '[' dim_offset ']' { } - | object_dim_list '{' expr '}' { } - | variable_name { } + object_dim_list '[' dim_offset ']' { } + | object_dim_list '{' expr '}' { } + | variable_name { } ; variable_name: - T_STRING { } - | '{' expr '}' { } + T_STRING { } + | '{' expr '}' { } ; simple_indirect_reference: - '$' { } - | simple_indirect_reference '$' { } + '$' { } + | simple_indirect_reference '$' { } ; assignment_list: - assignment_list ',' assignment_list_element - | assignment_list_element + assignment_list ',' assignment_list_element + | assignment_list_element ; assignment_list_element: - variable { } - | T_LIST '(' { } assignment_list ')' { } - | /* empty */ { } + variable { } + | T_LIST '(' { } assignment_list ')' { } + | /* empty */ { } ; array_pair_list: - /* empty */ { } - | non_empty_array_pair_list possible_comma { } + /* empty */ { } + | non_empty_array_pair_list possible_comma { } ; non_empty_array_pair_list: - non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { } - | non_empty_array_pair_list ',' expr { } - | expr T_DOUBLE_ARROW expr { } - | expr { } - | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { } - | non_empty_array_pair_list ',' '&' w_variable { } - | expr T_DOUBLE_ARROW '&' w_variable { } - | '&' w_variable { } + non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { } + | non_empty_array_pair_list ',' expr { } + | expr T_DOUBLE_ARROW expr { } + | expr { } + | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { } + | non_empty_array_pair_list ',' '&' w_variable { } + | expr T_DOUBLE_ARROW '&' w_variable { } + | '&' w_variable { } ; encaps_list: - encaps_list encaps_var { } - | encaps_list T_ENCAPSED_AND_WHITESPACE { } - | encaps_var { } - | T_ENCAPSED_AND_WHITESPACE encaps_var { } + encaps_list encaps_var { } + | encaps_list T_ENCAPSED_AND_WHITESPACE { } + | encaps_var { } + | T_ENCAPSED_AND_WHITESPACE encaps_var { } ; encaps_var: - T_VARIABLE { } - | T_VARIABLE '[' { } encaps_var_offset ']' { } - | T_VARIABLE T_OBJECT_OPERATOR T_STRING { } - | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { } - | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { } - | T_CURLY_OPEN variable '}' { } + T_VARIABLE { } + | T_VARIABLE '[' { } encaps_var_offset ']' { } + | T_VARIABLE T_OBJECT_OPERATOR T_STRING { } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { } + | T_CURLY_OPEN variable '}' { } ; encaps_var_offset: - T_STRING { } - | T_NUM_STRING { } - | T_VARIABLE { } + T_STRING { } + | T_NUM_STRING { } + | T_VARIABLE { } ; internal_functions_in_yacc: - T_ISSET '(' isset_variables ')' { } - | T_EMPTY '(' variable ')' { } - | T_EMPTY '(' expr_without_variable ')' { } - | T_INCLUDE expr { } - | T_INCLUDE_ONCE expr { } - | T_EVAL '(' expr ')' { } - | T_REQUIRE expr { } - | T_REQUIRE_ONCE expr { } + T_ISSET '(' isset_variables ')' { } + | T_EMPTY '(' variable ')' { } + | T_EMPTY '(' expr_without_variable ')' { } + | T_INCLUDE expr { } + | T_INCLUDE_ONCE expr { } + | T_EVAL '(' expr ')' { } + | T_REQUIRE expr { } + | T_REQUIRE_ONCE expr { } ; isset_variables: - isset_variable { } - | isset_variables ',' { } isset_variable { } + isset_variable { } + | isset_variables ',' { } isset_variable { } ; isset_variable: - variable { } - | expr_without_variable { } + variable { } + | expr_without_variable { } ; class_constant: - class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } ; static_class_name_scalar: - class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } ; class_name_scalar: - class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } ; %% \ No newline at end of file diff --git a/php7/php7.go b/php7/php7.go index 7a73b61..27fc7b2 100644 --- a/php7/php7.go +++ b/php7/php7.go @@ -33,140 +33,140 @@ type yySymType struct { const T_INCLUDE = 57346 const T_INCLUDE_ONCE = 57347 -const T_EVAL = 57348 -const T_REQUIRE = 57349 -const T_REQUIRE_ONCE = 57350 -const T_LOGICAL_OR = 57351 -const T_LOGICAL_XOR = 57352 -const T_LOGICAL_AND = 57353 -const T_PRINT = 57354 -const T_YIELD = 57355 -const T_DOUBLE_ARROW = 57356 -const T_YIELD_FROM = 57357 -const T_PLUS_EQUAL = 57358 -const T_MINUS_EQUAL = 57359 -const T_MUL_EQUAL = 57360 -const T_DIV_EQUAL = 57361 -const T_CONCAT_EQUAL = 57362 -const T_MOD_EQUAL = 57363 -const T_AND_EQUAL = 57364 -const T_OR_EQUAL = 57365 -const T_XOR_EQUAL = 57366 -const T_SL_EQUAL = 57367 -const T_SR_EQUAL = 57368 -const T_POW_EQUAL = 57369 -const T_COALESCE = 57370 -const T_BOOLEAN_OR = 57371 -const T_BOOLEAN_AND = 57372 -const T_IS_EQUAL = 57373 -const T_IS_NOT_EQUAL = 57374 -const T_IS_IDENTICAL = 57375 -const T_IS_NOT_IDENTICAL = 57376 -const T_SPACESHIP = 57377 -const T_IS_SMALLER_OR_EQUAL = 57378 -const T_IS_GREATER_OR_EQUAL = 57379 -const T_SL = 57380 -const T_SR = 57381 -const T_INSTANCEOF = 57382 -const T_INC = 57383 -const T_DEC = 57384 -const T_INT_CAST = 57385 -const T_DOUBLE_CAST = 57386 -const T_STRING_CAST = 57387 -const T_ARRAY_CAST = 57388 -const T_OBJECT_CAST = 57389 -const T_BOOL_CAST = 57390 -const T_UNSET_CAST = 57391 -const T_POW = 57392 -const T_NEW = 57393 -const T_CLONE = 57394 -const T_NOELSE = 57395 -const T_ELSEIF = 57396 -const T_ELSE = 57397 -const T_ENDIF = 57398 -const T_STATIC = 57399 -const T_ABSTRACT = 57400 -const T_FINAL = 57401 -const T_PRIVATE = 57402 -const T_PROTECTED = 57403 -const T_PUBLIC = 57404 -const T_EXIT = 57405 -const T_IF = 57406 -const T_LNUMBER = 57407 -const T_DNUMBER = 57408 -const T_STRING = 57409 -const T_STRING_VARNAME = 57410 -const T_VARIABLE = 57411 -const T_NUM_STRING = 57412 -const T_INLINE_HTML = 57413 -const T_CHARACTER = 57414 -const T_BAD_CHARACTER = 57415 -const T_ENCAPSED_AND_WHITESPACE = 57416 -const T_CONSTANT_ENCAPSED_STRING = 57417 -const T_ECHO = 57418 -const T_DO = 57419 -const T_WHILE = 57420 -const T_ENDWHILE = 57421 -const T_FOR = 57422 -const T_ENDFOR = 57423 -const T_FOREACH = 57424 -const T_ENDFOREACH = 57425 -const T_DECLARE = 57426 -const T_ENDDECLARE = 57427 -const T_AS = 57428 -const T_SWITCH = 57429 -const T_ENDSWITCH = 57430 -const T_CASE = 57431 -const T_DEFAULT = 57432 -const T_BREAK = 57433 -const T_CONTINUE = 57434 -const T_GOTO = 57435 -const T_FUNCTION = 57436 -const T_CONST = 57437 -const T_RETURN = 57438 -const T_TRY = 57439 -const T_CATCH = 57440 -const T_FINALLY = 57441 -const T_THROW = 57442 -const T_USE = 57443 -const T_INSTEADOF = 57444 -const T_GLOBAL = 57445 -const T_VAR = 57446 -const T_UNSET = 57447 -const T_ISSET = 57448 -const T_EMPTY = 57449 -const T_HALT_COMPILER = 57450 -const T_CLASS = 57451 -const T_TRAIT = 57452 -const T_INTERFACE = 57453 -const T_EXTENDS = 57454 -const T_IMPLEMENTS = 57455 -const T_OBJECT_OPERATOR = 57456 -const T_LIST = 57457 -const T_ARRAY = 57458 -const T_CALLABLE = 57459 -const T_CLASS_C = 57460 -const T_TRAIT_C = 57461 -const T_METHOD_C = 57462 -const T_FUNC_C = 57463 -const T_LINE = 57464 -const T_FILE = 57465 -const T_COMMENT = 57466 -const T_DOC_COMMENT = 57467 -const T_OPEN_TAG = 57468 -const T_OPEN_TAG_WITH_ECHO = 57469 -const T_CLOSE_TAG = 57470 -const T_WHITESPACE = 57471 -const T_START_HEREDOC = 57472 -const T_END_HEREDOC = 57473 -const T_DOLLAR_OPEN_CURLY_BRACES = 57474 -const T_CURLY_OPEN = 57475 -const T_PAAMAYIM_NEKUDOTAYIM = 57476 -const T_NAMESPACE = 57477 -const T_NS_C = 57478 -const T_DIR = 57479 -const T_NS_SEPARATOR = 57480 -const T_ELLIPSIS = 57481 +const T_EXIT = 57348 +const T_IF = 57349 +const T_LNUMBER = 57350 +const T_DNUMBER = 57351 +const T_STRING = 57352 +const T_STRING_VARNAME = 57353 +const T_VARIABLE = 57354 +const T_NUM_STRING = 57355 +const T_INLINE_HTML = 57356 +const T_CHARACTER = 57357 +const T_BAD_CHARACTER = 57358 +const T_ENCAPSED_AND_WHITESPACE = 57359 +const T_CONSTANT_ENCAPSED_STRING = 57360 +const T_ECHO = 57361 +const T_DO = 57362 +const T_WHILE = 57363 +const T_ENDWHILE = 57364 +const T_FOR = 57365 +const T_ENDFOR = 57366 +const T_FOREACH = 57367 +const T_ENDFOREACH = 57368 +const T_DECLARE = 57369 +const T_ENDDECLARE = 57370 +const T_AS = 57371 +const T_SWITCH = 57372 +const T_ENDSWITCH = 57373 +const T_CASE = 57374 +const T_DEFAULT = 57375 +const T_BREAK = 57376 +const T_CONTINUE = 57377 +const T_GOTO = 57378 +const T_FUNCTION = 57379 +const T_CONST = 57380 +const T_RETURN = 57381 +const T_TRY = 57382 +const T_CATCH = 57383 +const T_FINALLY = 57384 +const T_THROW = 57385 +const T_USE = 57386 +const T_INSTEADOF = 57387 +const T_GLOBAL = 57388 +const T_VAR = 57389 +const T_UNSET = 57390 +const T_ISSET = 57391 +const T_EMPTY = 57392 +const T_HALT_COMPILER = 57393 +const T_CLASS = 57394 +const T_TRAIT = 57395 +const T_INTERFACE = 57396 +const T_EXTENDS = 57397 +const T_IMPLEMENTS = 57398 +const T_OBJECT_OPERATOR = 57399 +const T_DOUBLE_ARROW = 57400 +const T_LIST = 57401 +const T_ARRAY = 57402 +const T_CALLABLE = 57403 +const T_CLASS_C = 57404 +const T_TRAIT_C = 57405 +const T_METHOD_C = 57406 +const T_FUNC_C = 57407 +const T_LINE = 57408 +const T_FILE = 57409 +const T_COMMENT = 57410 +const T_DOC_COMMENT = 57411 +const T_OPEN_TAG = 57412 +const T_OPEN_TAG_WITH_ECHO = 57413 +const T_CLOSE_TAG = 57414 +const T_WHITESPACE = 57415 +const T_START_HEREDOC = 57416 +const T_END_HEREDOC = 57417 +const T_DOLLAR_OPEN_CURLY_BRACES = 57418 +const T_CURLY_OPEN = 57419 +const T_PAAMAYIM_NEKUDOTAYIM = 57420 +const T_NAMESPACE = 57421 +const T_NS_C = 57422 +const T_DIR = 57423 +const T_NS_SEPARATOR = 57424 +const T_ELLIPSIS = 57425 +const T_EVAL = 57426 +const T_REQUIRE = 57427 +const T_REQUIRE_ONCE = 57428 +const T_LOGICAL_OR = 57429 +const T_LOGICAL_XOR = 57430 +const T_LOGICAL_AND = 57431 +const T_INSTANCEOF = 57432 +const T_NEW = 57433 +const T_CLONE = 57434 +const T_ELSEIF = 57435 +const T_ELSE = 57436 +const T_ENDIF = 57437 +const T_PRINT = 57438 +const T_YIELD = 57439 +const T_STATIC = 57440 +const T_ABSTRACT = 57441 +const T_FINAL = 57442 +const T_PRIVATE = 57443 +const T_PROTECTED = 57444 +const T_PUBLIC = 57445 +const T_INC = 57446 +const T_DEC = 57447 +const T_YIELD_FROM = 57448 +const T_INT_CAST = 57449 +const T_DOUBLE_CAST = 57450 +const T_STRING_CAST = 57451 +const T_ARRAY_CAST = 57452 +const T_OBJECT_CAST = 57453 +const T_BOOL_CAST = 57454 +const T_UNSET_CAST = 57455 +const T_COALESCE = 57456 +const T_SPACESHIP = 57457 +const T_NOELSE = 57458 +const T_PLUS_EQUAL = 57459 +const T_MINUS_EQUAL = 57460 +const T_MUL_EQUAL = 57461 +const T_DIV_EQUAL = 57462 +const T_CONCAT_EQUAL = 57463 +const T_MOD_EQUAL = 57464 +const T_AND_EQUAL = 57465 +const T_OR_EQUAL = 57466 +const T_XOR_EQUAL = 57467 +const T_SL_EQUAL = 57468 +const T_SR_EQUAL = 57469 +const T_POW_EQUAL = 57470 +const T_BOOLEAN_OR = 57471 +const T_BOOLEAN_AND = 57472 +const T_IS_EQUAL = 57473 +const T_IS_NOT_EQUAL = 57474 +const T_IS_IDENTICAL = 57475 +const T_IS_NOT_IDENTICAL = 57476 +const T_IS_SMALLER_OR_EQUAL = 57477 +const T_IS_GREATER_OR_EQUAL = 57478 +const T_SL = 57479 +const T_SR = 57480 +const T_POW = 57481 var yyToknames = [...]string{ "$end", @@ -174,82 +174,6 @@ var yyToknames = [...]string{ "$unk", "T_INCLUDE", "T_INCLUDE_ONCE", - "T_EVAL", - "T_REQUIRE", - "T_REQUIRE_ONCE", - "','", - "T_LOGICAL_OR", - "T_LOGICAL_XOR", - "T_LOGICAL_AND", - "T_PRINT", - "T_YIELD", - "T_DOUBLE_ARROW", - "T_YIELD_FROM", - "'='", - "T_PLUS_EQUAL", - "T_MINUS_EQUAL", - "T_MUL_EQUAL", - "T_DIV_EQUAL", - "T_CONCAT_EQUAL", - "T_MOD_EQUAL", - "T_AND_EQUAL", - "T_OR_EQUAL", - "T_XOR_EQUAL", - "T_SL_EQUAL", - "T_SR_EQUAL", - "T_POW_EQUAL", - "'?'", - "':'", - "T_COALESCE", - "T_BOOLEAN_OR", - "T_BOOLEAN_AND", - "'|'", - "'^'", - "'&'", - "T_IS_EQUAL", - "T_IS_NOT_EQUAL", - "T_IS_IDENTICAL", - "T_IS_NOT_IDENTICAL", - "T_SPACESHIP", - "'<'", - "T_IS_SMALLER_OR_EQUAL", - "'>'", - "T_IS_GREATER_OR_EQUAL", - "T_SL", - "T_SR", - "'+'", - "'-'", - "'.'", - "'*'", - "'/'", - "'%'", - "'!'", - "T_INSTANCEOF", - "'~'", - "T_INC", - "T_DEC", - "T_INT_CAST", - "T_DOUBLE_CAST", - "T_STRING_CAST", - "T_ARRAY_CAST", - "T_OBJECT_CAST", - "T_BOOL_CAST", - "T_UNSET_CAST", - "'@'", - "T_POW", - "'['", - "T_NEW", - "T_CLONE", - "T_NOELSE", - "T_ELSEIF", - "T_ELSE", - "T_ENDIF", - "T_STATIC", - "T_ABSTRACT", - "T_FINAL", - "T_PRIVATE", - "T_PROTECTED", - "T_PUBLIC", "T_EXIT", "T_IF", "T_LNUMBER", @@ -302,6 +226,7 @@ var yyToknames = [...]string{ "T_EXTENDS", "T_IMPLEMENTS", "T_OBJECT_OPERATOR", + "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CALLABLE", @@ -327,15 +252,90 @@ var yyToknames = [...]string{ "T_DIR", "T_NS_SEPARATOR", "T_ELLIPSIS", + "T_EVAL", + "T_REQUIRE", + "T_REQUIRE_ONCE", + "T_LOGICAL_OR", + "T_LOGICAL_XOR", + "T_LOGICAL_AND", + "T_INSTANCEOF", + "T_NEW", + "T_CLONE", + "T_ELSEIF", + "T_ELSE", + "T_ENDIF", + "T_PRINT", + "T_YIELD", + "T_STATIC", + "T_ABSTRACT", + "T_FINAL", + "T_PRIVATE", + "T_PROTECTED", + "T_PUBLIC", + "T_INC", + "T_DEC", + "T_YIELD_FROM", + "T_INT_CAST", + "T_DOUBLE_CAST", + "T_STRING_CAST", + "T_ARRAY_CAST", + "T_OBJECT_CAST", + "T_BOOL_CAST", + "T_UNSET_CAST", + "T_COALESCE", + "T_SPACESHIP", + "T_NOELSE", "'\"'", "'`'", "'{'", "'}'", "';'", + "':'", "'('", "')'", + "'['", "']'", + "'?'", + "'&'", + "'-'", + "'+'", + "'!'", + "'~'", + "'@'", "'$'", + "','", + "'='", + "T_PLUS_EQUAL", + "T_MINUS_EQUAL", + "T_MUL_EQUAL", + "T_DIV_EQUAL", + "T_CONCAT_EQUAL", + "T_MOD_EQUAL", + "T_AND_EQUAL", + "T_OR_EQUAL", + "T_XOR_EQUAL", + "T_SL_EQUAL", + "T_SR_EQUAL", + "T_POW_EQUAL", + "T_BOOLEAN_OR", + "T_BOOLEAN_AND", + "'|'", + "'^'", + "T_IS_EQUAL", + "T_IS_NOT_EQUAL", + "T_IS_IDENTICAL", + "T_IS_NOT_IDENTICAL", + "'<'", + "T_IS_SMALLER_OR_EQUAL", + "'>'", + "T_IS_GREATER_OR_EQUAL", + "T_SL", + "T_SR", + "'.'", + "'*'", + "'/'", + "'%'", + "T_POW", } var yyStatenames = [...]string{} @@ -343,7 +343,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php7/php7.y:2584 +//line php7/php7.y:2587 //line yacctab:1 var yyExca = [...]int{ @@ -351,169 +351,169 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 43, - 69, 420, - 133, 420, - 153, 420, - 161, 420, + 57, 420, + 78, 420, + 119, 420, + 125, 420, -2, 415, -1, 47, - 164, 423, + 123, 423, -2, 432, -1, 83, - 69, 422, - 133, 422, - 153, 422, - 161, 422, - 164, 425, + 57, 422, + 78, 422, + 119, 422, + 123, 425, + 125, 422, -2, 410, -1, 106, - 153, 383, + 78, 383, -2, 412, -1, 228, - 69, 420, - 133, 420, - 153, 420, - 161, 420, + 57, 420, + 78, 420, + 119, 420, + 125, 420, -2, 311, -1, 231, - 164, 425, + 123, 425, -2, 422, -1, 234, - 69, 420, - 133, 420, - 153, 420, - 161, 420, + 57, 420, + 78, 420, + 119, 420, + 125, 420, -2, 313, -1, 352, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, + 115, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 335, -1, 353, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, + 115, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 336, -1, 354, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, + 115, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 337, -1, 355, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, + 115, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 338, -1, 356, - 43, 0, - 44, 0, - 45, 0, - 46, 0, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 339, -1, 357, - 43, 0, - 44, 0, - 45, 0, - 46, 0, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 340, -1, 358, - 43, 0, - 44, 0, - 45, 0, - 46, 0, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 341, -1, 359, - 43, 0, - 44, 0, - 45, 0, - 46, 0, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 342, -1, 360, - 38, 0, - 39, 0, - 40, 0, - 41, 0, - 42, 0, + 115, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 343, -1, 367, - 9, 161, - 165, 161, + 124, 161, + 135, 161, -2, 420, -1, 411, - 9, 460, - 165, 460, - 166, 460, + 124, 460, + 126, 460, + 135, 460, -2, 420, -1, 415, - 69, 421, - 133, 421, - 153, 421, - 161, 421, - 164, 424, + 57, 421, + 78, 421, + 119, 421, + 123, 424, + 125, 421, -2, 345, -1, 429, - 164, 446, + 123, 446, -2, 413, -1, 430, - 164, 448, + 123, 448, -2, 438, -1, 509, - 164, 446, + 123, 446, -2, 414, -1, 510, - 164, 448, + 123, 448, -2, 439, -1, 569, - 165, 211, + 124, 211, -2, 216, -1, 594, - 164, 424, + 123, 424, -2, 421, -1, 646, - 165, 211, + 124, 211, -2, 216, -1, 651, - 165, 181, + 124, 181, -2, 420, -1, 659, - 165, 211, + 124, 211, -2, 216, -1, 684, - 9, 459, - 165, 459, - 166, 459, + 124, 459, + 126, 459, + 135, 459, -2, 420, -1, 717, - 165, 182, + 124, 182, -2, 420, -1, 737, - 88, 263, + 12, 263, -2, 266, -1, 776, - 165, 181, + 124, 181, -2, 420, -1, 778, - 165, 184, + 124, 184, -2, 394, -1, 880, - 105, 76, + 29, 76, -2, 80, -1, 912, - 165, 211, + 124, 211, -2, 216, } const yyPrivate = 57344 -const yyLast = 7467 +const yyLast = 7209 var yyAct = [...]int{ @@ -525,858 +525,832 @@ var yyAct = [...]int{ 136, 188, 224, 227, 146, 149, 235, 236, 237, 238, 239, 127, 142, 240, 241, 242, 243, 244, 245, 246, 125, 249, 139, 140, 257, 258, 259, 124, 2, 253, - 313, 312, 511, 6, 5, 428, 126, 778, 272, 273, - 891, 275, 276, 691, 687, 263, 268, 229, 229, 608, - 81, 595, 743, 744, 745, 742, 741, 740, 583, 408, - 924, 886, 104, 818, 817, 807, 799, 782, 771, 725, - 307, 110, 715, 696, 694, 686, 675, 648, 636, 626, - 596, 317, 114, 120, 587, 322, 323, 290, 928, 912, - 927, 83, 867, 826, 284, 286, 736, 831, 780, 738, - 718, 104, 685, 335, 336, 337, 338, 339, 340, 341, + 313, 312, 511, 6, 5, 428, 126, 164, 272, 273, + 868, 275, 276, 852, 890, 263, 268, 229, 229, 840, + 81, 839, 178, 866, 862, 891, 404, 682, 104, 833, + 830, 588, 566, 539, 333, 675, 329, 867, 189, 332, + 327, 110, 308, 307, 831, 306, 300, 301, 334, 104, + 330, 317, 114, 120, 328, 322, 323, 675, 757, 307, + 301, 83, 702, 726, 284, 286, 624, 860, 619, 564, + 554, 409, 178, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 659, - 362, 364, 646, 368, 319, 265, 370, 404, 881, 104, - 268, 105, 305, 810, 294, 231, 231, 331, 285, 78, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 164, + 362, 364, 104, 368, 319, 265, 370, 728, 924, 778, + 268, 691, 305, 687, 294, 231, 231, 331, 608, 78, 378, 386, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 569, 552, 400, 137, 402, 233, - 224, 382, 550, 143, 282, 229, 232, 766, 767, 301, - 105, 413, 412, 289, 224, 291, 116, 43, 104, 383, - 298, 288, 381, 304, 109, 293, 890, 292, 334, 137, - 743, 744, 745, 742, 741, 740, 423, 287, 330, 407, - 514, 137, 405, 328, 274, 429, 509, 401, 105, 229, - 369, 521, 522, 414, 361, 523, 566, 232, 840, 265, - 839, 812, 307, 527, 269, 108, 531, 116, 224, 104, - 301, 228, 234, 271, 736, 270, 866, 738, 248, 416, - 229, 830, 766, 767, 133, 283, 219, 111, 215, 549, - 183, 427, 182, 181, 230, 135, 232, 105, 134, 4, - 130, 112, 918, 231, 516, 811, 116, 533, 104, 267, - 901, 418, 419, 559, 900, 150, 863, 605, 558, 885, - 8, 7, 848, 819, 517, 813, 806, 763, 508, 750, - 518, 714, 515, 712, 842, 133, 765, 418, 111, 419, - 419, 418, 710, 708, 562, 705, 553, 231, 105, 548, - 305, 538, 536, 535, 384, 6, 5, 372, 269, 542, - 568, 326, 578, 539, 579, 557, 575, 580, 581, 573, - 560, 556, 577, 325, 133, 324, 295, 111, 231, 805, - 802, 645, 333, 666, 800, 759, 586, 105, 606, 907, - 224, 590, 329, 224, 570, 787, 884, 327, 406, 367, - 857, 541, 534, 544, 116, 855, 216, 607, 801, 254, - 604, 534, 610, 788, 420, 534, 306, 534, 781, 731, - 674, 585, 113, 574, 300, 154, 156, 155, 184, 417, - 288, 904, 593, 303, 513, 303, 262, 589, 116, 116, - 261, 430, 510, 411, 116, 179, 609, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 218, 178, 255, 256, 425, 113, 116, 700, 116, 115, - 526, 116, 377, 164, 902, 288, 634, 629, 667, 668, - 628, 572, 545, 667, 668, 137, 614, 380, 217, 743, - 744, 745, 742, 741, 740, 122, 123, 133, 143, 543, - 111, 644, 133, 625, 303, 111, 652, 784, 145, 618, - 254, 903, 303, 303, 318, 420, 611, 861, 254, 623, - 722, 723, 147, 640, 322, 642, 635, 617, 615, 254, - 421, 4, 647, 736, 133, 613, 738, 111, 654, 121, - 76, 77, 299, 688, 254, 232, 638, 145, 671, 277, - 672, 669, 8, 7, 577, 116, 547, 104, 892, 683, - 641, 656, 119, 109, 540, 302, 794, 793, 860, 252, - 649, 754, 525, 255, 256, 829, 689, 679, 229, 229, - 524, 255, 256, 792, 305, 670, 632, 6, 5, 853, - 521, 190, 255, 256, 422, 531, 743, 744, 745, 742, - 741, 740, 827, 653, 108, 229, 278, 255, 256, 147, - 116, 706, 602, 128, 743, 744, 745, 742, 741, 740, - 701, 713, 116, 133, 260, 224, 111, 697, 669, 720, - 695, 546, 693, 230, 724, 544, 105, 544, 704, 534, - 736, 669, 852, 738, 711, 375, 373, 730, 669, 122, - 123, 194, 751, 752, 600, 193, 224, 747, 736, 192, - 254, 738, 746, 186, 719, 420, 229, 164, 729, 699, - 755, 748, 279, 280, 703, 632, 231, 231, 189, 322, - 728, 297, 797, 612, 195, 196, 406, 616, 756, 224, - 598, 254, 601, 599, 761, 753, 281, 814, 766, 767, - 732, 758, 760, 231, 769, 766, 767, 824, 669, 768, - 773, 770, 775, 45, 795, 764, 796, 785, 577, 789, - 544, 798, 254, 255, 256, 544, 544, 251, 777, 749, - 229, 743, 744, 745, 742, 741, 740, 808, 197, 199, - 198, 699, 385, 632, 187, 178, 816, 868, 804, 862, - 682, 191, 833, 822, 255, 256, 825, 164, 588, 332, - 815, 308, 821, 716, 231, 633, 163, 165, 166, 832, - 178, 675, 367, 651, 757, 702, 828, 118, 726, 624, - 619, 847, 164, 564, 554, 255, 256, 409, 849, 841, - 1, 37, 544, 737, 544, 846, 734, 735, 803, 684, - 379, 661, 844, 851, 865, 529, 669, 221, 519, 856, - 858, 869, 773, 365, 878, 864, 837, 882, 883, 871, - 144, 790, 877, 141, 321, 148, 834, 888, 231, 889, - 658, 820, 250, 893, 838, 887, 643, 926, 223, 896, - 42, 41, 894, 15, 14, 878, 897, 597, 266, 544, - 895, 48, 899, 877, 47, 107, 906, 49, 82, 80, - 717, 71, 247, 61, 264, 60, 876, 910, 875, 874, - 873, 733, 44, 911, 663, 721, 655, 843, 917, 920, - 913, 637, 916, 915, 577, 309, 117, 921, 296, 3, - 922, 433, 786, 727, 669, 0, 0, 925, 0, 0, - 929, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 776, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 164, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 12, 22, 32, 0, 0, 33, 11, 0, 23, - 0, 28, 85, 86, 9, 38, 39, 40, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 10, 100, 96, 111, 0, 103, 72, 13, 627, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 179, 75, 180, 152, - 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 164, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 12, 22, 32, 0, 0, - 33, 11, 0, 23, 0, 28, 85, 86, 9, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 10, 100, 96, 111, 0, - 103, 72, 13, 537, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, - 0, 0, 0, 0, 55, 56, 0, 0, 164, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 36, 12, - 22, 32, 0, 0, 33, 11, 0, 23, 0, 28, - 85, 86, 9, 38, 39, 40, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 161, 162, - 160, 163, 165, 166, 102, 178, 0, 0, 0, 10, - 100, 96, 111, 0, 103, 72, 13, 164, 31, 59, - 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, - 0, 0, 73, 74, 0, 75, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 164, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 930, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 56, 164, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, + 396, 397, 398, 399, 218, 405, 400, 137, 402, 604, + 224, 382, 422, 143, 605, 229, 163, 165, 166, 164, + 105, 413, 853, 289, 224, 291, 282, 43, 595, 516, + 298, 178, 583, 304, 598, 408, 601, 599, 260, 137, + 886, 105, 818, 817, 807, 799, 423, 782, 771, 407, + 517, 137, 725, 861, 715, 429, 509, 401, 696, 229, + 369, 521, 522, 414, 361, 523, 217, 694, 686, 265, + 162, 161, 216, 527, 269, 648, 531, 636, 224, 912, + 421, 228, 234, 626, 842, 596, 587, 290, 826, 416, + 229, 515, 811, 810, 105, 283, 780, 514, 718, 549, + 685, 427, 167, 168, 160, 163, 165, 166, 164, 4, + 659, 646, 644, 231, 285, 645, 178, 533, 569, 552, + 550, 418, 419, 559, 412, 150, 383, 381, 558, 287, + 8, 7, 274, 116, 288, 104, 271, 270, 508, 248, + 518, 109, 219, 215, 183, 182, 181, 418, 135, 419, + 419, 418, 134, 600, 562, 162, 161, 231, 130, 548, + 305, 116, 536, 104, 112, 6, 5, 824, 269, 542, + 568, 293, 578, 292, 579, 557, 575, 580, 581, 573, + 560, 556, 577, 108, 928, 749, 927, 918, 231, 160, + 163, 165, 166, 164, 385, 187, 586, 156, 155, 178, + 224, 590, 133, 224, 570, 111, 766, 767, 406, 367, + 901, 541, 900, 544, 766, 767, 885, 607, 848, 819, + 813, 232, 610, 180, 177, 806, 763, 750, 714, 712, + 133, 585, 116, 111, 710, 708, 179, 158, 162, 161, + 178, 705, 593, 553, 534, 538, 230, 589, 233, 232, + 535, 430, 510, 411, 384, 372, 609, 105, 152, 153, + 157, 159, 171, 172, 169, 170, 173, 174, 175, 176, + 167, 168, 160, 163, 165, 166, 164, 326, 325, 162, + 161, 324, 667, 668, 425, 105, 295, 805, 116, 802, + 104, 116, 800, 759, 812, 606, 907, 884, 857, 855, + 534, 133, 765, 801, 111, 137, 614, 173, 174, 175, + 176, 167, 168, 160, 163, 165, 166, 164, 143, 254, + 534, 534, 788, 625, 420, 781, 731, 674, 574, 618, + 267, 184, 119, 417, 195, 196, 611, 787, 190, 623, + 252, 303, 116, 640, 322, 642, 635, 617, 615, 666, + 116, 4, 647, 700, 116, 613, 113, 133, 288, 716, + 111, 116, 736, 113, 572, 738, 638, 904, 671, 513, + 672, 669, 8, 7, 577, 303, 232, 122, 123, 683, + 641, 656, 303, 255, 256, 76, 77, 116, 377, 104, + 649, 197, 199, 198, 288, 109, 689, 679, 229, 229, + 115, 262, 261, 380, 305, 670, 632, 6, 5, 634, + 521, 133, 105, 303, 111, 531, 743, 744, 745, 742, + 741, 740, 121, 902, 526, 229, 543, 303, 629, 628, + 545, 706, 784, 299, 145, 547, 653, 108, 881, 903, + 701, 713, 318, 279, 280, 224, 147, 697, 669, 720, + 695, 297, 693, 254, 724, 544, 133, 544, 704, 111, + 254, 669, 254, 45, 711, 420, 540, 730, 669, 722, + 723, 145, 751, 752, 688, 232, 224, 747, 892, 792, + 302, 827, 746, 147, 719, 116, 229, 116, 729, 699, + 755, 748, 633, 116, 703, 632, 231, 231, 602, 322, + 230, 191, 654, 612, 118, 652, 406, 616, 756, 224, + 128, 105, 122, 123, 761, 753, 524, 255, 256, 794, + 793, 758, 760, 231, 255, 256, 255, 256, 669, 768, + 773, 770, 775, 546, 795, 764, 796, 785, 577, 789, + 544, 798, 254, 667, 668, 544, 544, 420, 777, 534, + 229, 743, 744, 745, 742, 741, 740, 808, 814, 766, + 767, 699, 133, 632, 375, 111, 816, 373, 804, 769, + 766, 767, 194, 822, 193, 192, 825, 186, 1, 37, + 815, 254, 821, 737, 231, 734, 277, 735, 379, 832, + 661, 529, 367, 651, 221, 519, 828, 858, 365, 254, + 871, 847, 144, 790, 281, 525, 255, 256, 849, 841, + 141, 321, 544, 148, 544, 846, 834, 658, 803, 684, + 254, 820, 844, 851, 865, 251, 669, 250, 838, 856, + 643, 869, 773, 926, 878, 864, 837, 882, 883, 223, + 42, 41, 877, 15, 278, 255, 256, 888, 231, 889, + 14, 597, 266, 893, 48, 887, 47, 107, 49, 896, + 82, 80, 894, 255, 256, 878, 897, 71, 247, 544, + 895, 61, 899, 877, 264, 60, 906, 876, 875, 874, + 717, 873, 733, 44, 255, 256, 663, 910, 721, 655, + 843, 637, 309, 911, 117, 296, 3, 433, 917, 920, + 913, 786, 916, 915, 577, 727, 0, 921, 0, 0, + 922, 0, 0, 0, 669, 0, 0, 925, 0, 0, + 929, 0, 87, 88, 69, 46, 92, 93, 35, 0, + 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, + 0, 18, 0, 29, 776, 30, 0, 0, 19, 0, + 0, 0, 20, 21, 34, 36, 12, 22, 32, 0, + 0, 33, 11, 0, 23, 0, 28, 85, 86, 9, + 38, 39, 40, 0, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 10, 100, 96, + 111, 0, 89, 90, 91, 0, 0, 0, 0, 84, + 52, 0, 0, 0, 73, 74, 24, 76, 77, 0, + 0, 0, 53, 54, 75, 62, 63, 64, 65, 66, + 67, 68, 0, 0, 0, 103, 72, 13, 627, 31, + 0, 59, 0, 51, 0, 0, 0, 56, 55, 57, + 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 923, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 164, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 919, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 909, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 55, 56, 0, 0, 0, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, + 0, 0, 0, 20, 21, 34, 36, 12, 22, 32, + 0, 0, 33, 11, 0, 23, 0, 28, 85, 86, + 9, 38, 39, 40, 0, 0, 0, 0, 50, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 10, 100, + 96, 111, 0, 89, 90, 91, 0, 0, 0, 0, + 84, 52, 0, 0, 0, 73, 74, 24, 76, 77, + 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, + 66, 67, 68, 0, 0, 0, 103, 72, 13, 537, + 31, 0, 59, 0, 51, 0, 0, 0, 56, 55, + 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, + 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, + 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, + 19, 0, 0, 0, 20, 21, 34, 36, 12, 22, + 32, 0, 0, 33, 11, 0, 23, 0, 28, 85, + 86, 9, 38, 39, 40, 0, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 10, + 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, + 0, 84, 52, 0, 0, 0, 73, 74, 24, 76, + 77, 0, 0, 0, 53, 54, 75, 62, 63, 64, + 65, 66, 67, 68, 0, 0, 0, 103, 72, 13, + 0, 31, 0, 59, 0, 51, 0, 0, 0, 56, + 55, 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 103, 72, 13, 908, 31, 59, - 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, - 0, 0, 73, 74, 0, 75, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 24, 76, 77, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 905, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 200, 201, 202, 203, 205, 206, - 207, 208, 209, 210, 211, 212, 204, 0, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 213, 214, 0, 0, 24, - 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 854, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 850, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 85, 86, 316, 38, 39, 40, 0, 0, 0, 0, + 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 133, 100, 96, 111, 0, 89, 90, 91, 0, 0, + 0, 0, 84, 52, 0, 0, 0, 73, 74, 24, + 76, 77, 0, 0, 0, 53, 54, 75, 62, 63, + 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, + 13, 930, 31, 0, 59, 0, 51, 0, 0, 0, + 56, 55, 57, 58, 70, 105, 87, 88, 69, 46, + 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, + 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, + 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, + 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, + 28, 85, 86, 316, 38, 39, 40, 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 779, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 76, 77, 0, 0, 0, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 762, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, - 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 316, 38, 39, 40, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 103, 72, 13, 0, 31, 59, - 0, 0, 105, 87, 88, 89, 90, 91, 0, 0, - 0, 0, 73, 74, 0, 75, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 678, 24, 76, 77, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 76, 77, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 316, 38, 39, 40, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 567, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 76, 77, 0, 0, 0, 69, + 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, + 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, + 24, 76, 77, 0, 0, 0, 53, 54, 75, 62, + 63, 64, 65, 66, 67, 68, 0, 0, 0, 103, + 72, 13, 923, 31, 0, 59, 0, 51, 0, 0, + 0, 56, 55, 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 310, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 76, 77, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, + 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, + 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, + 0, 0, 133, 100, 96, 111, 0, 89, 90, 91, + 0, 0, 0, 0, 84, 52, 0, 0, 0, 73, + 74, 24, 76, 77, 0, 0, 0, 53, 54, 75, + 62, 63, 64, 65, 66, 67, 68, 0, 0, 0, + 103, 72, 13, 919, 31, 0, 59, 0, 51, 0, + 0, 0, 56, 55, 57, 58, 70, 105, 87, 88, + 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, + 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, + 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, + 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, + 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 89, 90, + 91, 0, 0, 0, 0, 84, 52, 0, 0, 0, + 73, 74, 24, 76, 77, 0, 0, 0, 53, 54, + 75, 62, 63, 64, 65, 66, 67, 68, 0, 0, + 0, 103, 72, 13, 909, 31, 0, 59, 0, 51, + 0, 0, 0, 56, 55, 57, 58, 70, 105, 87, + 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, + 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, + 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, + 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, + 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, + 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 0, 133, 100, 96, 111, 0, 89, + 90, 91, 0, 0, 0, 0, 84, 52, 0, 0, + 0, 73, 74, 24, 76, 77, 0, 0, 0, 53, + 54, 75, 62, 63, 64, 65, 66, 67, 68, 0, + 0, 0, 103, 72, 13, 908, 31, 0, 59, 0, + 51, 0, 0, 0, 56, 55, 57, 58, 70, 105, + 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, + 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, + 905, 29, 0, 30, 0, 0, 19, 0, 0, 0, + 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, + 0, 0, 23, 0, 28, 85, 86, 316, 38, 39, + 40, 0, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, + 89, 90, 91, 0, 0, 0, 0, 84, 52, 0, + 0, 0, 73, 74, 24, 76, 77, 0, 0, 0, + 53, 54, 75, 62, 63, 64, 65, 66, 67, 68, + 0, 0, 0, 103, 72, 13, 0, 31, 0, 59, + 0, 51, 0, 0, 0, 56, 55, 57, 58, 70, + 105, 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, - 39, 40, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 0, 31, 59, 156, 155, 105, 441, - 442, 443, 444, 445, 0, 446, 447, 448, 484, 485, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 449, 0, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 450, 451, 0, 454, 455, - 456, 435, 436, 437, 438, 439, 440, 452, 453, 0, - 0, 432, 0, 104, 0, 0, 0, 0, 0, 0, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 487, 488, 489, 490, 491, 479, 480, 481, 482, - 483, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 0, 499, 497, 498, 494, 495, 0, 486, - 492, 493, 500, 501, 503, 502, 504, 505, 0, 0, - 0, 0, 0, 87, 88, 89, 90, 91, 0, 496, - 507, 506, 73, 74, 0, 75, 431, 0, 0, 0, - 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, - 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 56, - 0, 0, 0, 0, 57, 0, 58, 53, 54, 62, - 63, 64, 65, 66, 67, 68, 70, 0, 51, 84, - 52, 0, 0, 0, 0, 24, 0, 0, 0, 0, - 0, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 132, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 0, 0, 0, 0, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 103, 72, - 13, 0, 31, 59, 0, 0, 105, 87, 88, 89, - 90, 91, 0, 0, 0, 0, 73, 74, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 845, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 0, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, + 39, 40, 0, 0, 0, 0, 50, 108, 0, 101, + 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, + 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, + 0, 89, 90, 91, 0, 0, 0, 0, 84, 52, + 0, 0, 0, 73, 74, 24, 76, 77, 0, 0, + 0, 53, 54, 75, 62, 63, 64, 65, 66, 67, + 68, 0, 0, 0, 103, 72, 13, 854, 31, 0, + 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, + 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, + 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, + 0, 18, 0, 29, 850, 30, 0, 0, 19, 0, + 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, + 0, 33, 0, 0, 23, 0, 28, 85, 86, 316, + 38, 39, 40, 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, - 105, 87, 88, 89, 90, 91, 0, 0, 0, 0, - 73, 74, 0, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, - 0, 0, 57, 0, 58, 53, 54, 62, 63, 64, - 65, 66, 67, 68, 70, 0, 51, 84, 52, 0, - 0, 0, 0, 24, 0, 0, 0, 0, 0, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 132, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 0, 0, 0, 0, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 103, 72, 13, 0, - 31, 59, 0, 0, 105, 87, 88, 89, 90, 91, - 0, 0, 0, 0, 73, 74, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 0, 0, 0, 0, 57, 0, 58, 53, - 54, 62, 63, 64, 65, 66, 67, 68, 70, 0, - 51, 84, 52, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 0, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 132, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 0, 0, - 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 103, 72, 13, 0, 31, 59, 0, 0, 105, 87, - 88, 89, 90, 91, 0, 0, 0, 0, 73, 74, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, - 57, 0, 58, 53, 54, 62, 63, 64, 65, 66, - 67, 68, 70, 0, 51, 84, 52, 0, 0, 0, - 0, 24, 0, 0, 0, 0, 0, 69, 46, 92, + 111, 0, 89, 90, 91, 0, 0, 0, 0, 84, + 52, 0, 0, 0, 73, 74, 24, 76, 77, 0, + 0, 0, 53, 54, 75, 62, 63, 64, 65, 66, + 67, 68, 0, 0, 0, 103, 72, 13, 0, 31, + 0, 59, 0, 51, 0, 0, 0, 56, 55, 57, + 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, + 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, + 16, 0, 18, 0, 29, 0, 30, 779, 0, 19, + 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, + 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, + 316, 38, 39, 40, 0, 0, 0, 0, 50, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, + 96, 111, 0, 89, 90, 91, 0, 0, 0, 0, + 84, 52, 0, 0, 0, 73, 74, 24, 76, 77, + 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, + 66, 67, 68, 0, 0, 0, 103, 72, 13, 0, + 31, 0, 59, 0, 51, 0, 0, 0, 56, 55, + 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, + 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, + 17, 16, 762, 18, 0, 29, 0, 30, 0, 0, + 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, + 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, + 86, 316, 38, 39, 40, 0, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, + 0, 84, 52, 0, 0, 0, 73, 74, 24, 76, + 77, 0, 0, 0, 53, 54, 75, 62, 63, 64, + 65, 66, 67, 68, 0, 0, 0, 103, 72, 13, + 0, 31, 0, 59, 0, 51, 0, 0, 0, 56, + 55, 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 132, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 0, 0, 0, 0, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 103, 72, 13, 155, 31, 59, - 0, 0, 105, 441, 442, 443, 444, 445, 0, 446, - 447, 448, 484, 485, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 449, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, - 451, 0, 454, 455, 456, 435, 436, 437, 438, 439, - 440, 452, 453, 0, 0, 880, 0, 0, 0, 0, + 85, 86, 316, 38, 39, 40, 0, 0, 0, 0, + 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 133, 100, 96, 111, 0, 89, 90, 91, 0, 0, + 0, 0, 84, 52, 0, 0, 678, 73, 74, 24, + 76, 77, 0, 0, 0, 53, 54, 75, 62, 63, + 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, + 13, 0, 31, 0, 59, 0, 51, 0, 0, 0, + 56, 55, 57, 58, 70, 105, 87, 88, 69, 46, + 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, + 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, + 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, + 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, + 28, 85, 86, 316, 38, 39, 40, 0, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, + 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, + 24, 76, 77, 0, 0, 0, 53, 54, 75, 62, + 63, 64, 65, 66, 67, 68, 0, 0, 0, 103, + 72, 13, 567, 31, 0, 59, 0, 51, 0, 0, + 0, 56, 55, 57, 58, 70, 105, 87, 88, 69, + 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, + 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, + 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, + 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, + 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, + 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, + 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, + 0, 0, 133, 100, 96, 111, 0, 89, 90, 91, + 0, 0, 0, 0, 84, 52, 0, 0, 0, 73, + 74, 24, 76, 77, 0, 0, 0, 53, 54, 75, + 62, 63, 64, 65, 66, 67, 68, 0, 0, 0, + 103, 72, 13, 310, 31, 0, 59, 0, 51, 0, + 0, 0, 56, 55, 57, 58, 70, 105, 87, 88, + 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, + 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, + 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, + 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, + 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 89, 90, + 91, 0, 0, 0, 0, 84, 52, 0, 0, 0, + 73, 74, 24, 76, 77, 0, 0, 0, 53, 54, + 75, 62, 63, 64, 65, 66, 67, 68, 0, 0, + 0, 103, 72, 13, 0, 31, 0, 59, 0, 51, + 0, 0, 0, 56, 55, 57, 58, 70, 105, 441, + 442, 452, 453, 0, 0, 432, 0, 104, 0, 0, 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, - 494, 495, 0, 486, 492, 493, 500, 501, 503, 502, - 504, 505, 441, 442, 443, 444, 445, 426, 446, 447, - 448, 484, 485, 879, 507, 506, 111, 0, 0, 0, - 0, 898, 179, 0, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 0, 450, 451, - 0, 454, 455, 456, 435, 436, 437, 438, 439, 440, - 452, 453, 0, 0, 880, 0, 0, 0, 0, 0, - 0, 0, 0, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, - 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 499, 497, 498, 494, - 495, 0, 486, 492, 493, 500, 501, 503, 502, 504, - 505, 154, 156, 155, 0, 0, 0, 87, 88, 89, - 90, 91, 879, 507, 506, 111, 73, 74, 0, 75, - 870, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 0, 0, - 0, 0, 55, 56, 0, 0, 0, 0, 57, 164, - 58, 53, 54, 62, 63, 64, 65, 66, 67, 68, - 70, 0, 51, 84, 52, 0, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 69, 46, 92, 93, 35, + 494, 495, 0, 0, 486, 492, 493, 500, 501, 503, + 502, 504, 505, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 496, 507, 506, 0, 0, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 454, 455, + 456, 484, 485, 435, 436, 437, 438, 439, 440, 0, + 0, 87, 88, 69, 46, 92, 93, 35, 0, 104, + 0, 26, 0, 0, 431, 109, 25, 17, 16, 0, + 18, 0, 29, 0, 30, 0, 0, 19, 0, 105, + 0, 20, 21, 34, 132, 0, 22, 32, 0, 0, + 33, 0, 0, 23, 0, 28, 85, 86, 0, 0, + 0, 0, 0, 0, 0, 0, 50, 108, 0, 101, + 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, + 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, + 0, 89, 90, 91, 0, 0, 0, 0, 84, 52, + 0, 0, 0, 73, 74, 24, 0, 0, 0, 0, + 0, 53, 54, 75, 62, 63, 64, 65, 66, 67, + 68, 0, 0, 0, 103, 72, 13, 0, 31, 774, + 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, + 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, + 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, + 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, + 0, 0, 20, 21, 34, 132, 0, 22, 32, 0, + 0, 33, 0, 0, 23, 0, 28, 85, 86, 0, + 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, + 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, + 111, 0, 89, 90, 91, 0, 0, 0, 0, 84, + 52, 0, 0, 0, 73, 74, 24, 0, 0, 0, + 0, 0, 53, 54, 75, 62, 63, 64, 65, 66, + 67, 68, 0, 0, 0, 103, 72, 13, 0, 31, + 845, 59, 0, 51, 0, 0, 0, 56, 55, 57, + 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 707, 133, 100, 96, - 111, 0, 103, 72, 13, 0, 31, 59, 0, 0, - 105, 441, 442, 443, 444, 445, 0, 446, 447, 448, - 484, 485, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, + 96, 111, 0, 89, 90, 91, 0, 0, 0, 0, + 84, 52, 0, 0, 0, 73, 74, 24, 0, 0, + 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, + 66, 67, 68, 0, 0, 0, 103, 72, 13, 0, + 31, 680, 59, 0, 51, 0, 0, 0, 56, 55, + 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, + 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, + 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, + 19, 0, 0, 0, 20, 21, 34, 132, 0, 22, + 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 50, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, + 0, 84, 52, 0, 0, 0, 73, 74, 24, 0, + 0, 0, 0, 0, 53, 54, 75, 62, 63, 64, + 65, 66, 67, 68, 0, 0, 0, 103, 72, 13, + 0, 31, 657, 59, 0, 51, 0, 0, 0, 56, + 55, 57, 58, 70, 105, 87, 88, 69, 46, 92, + 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, + 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, + 0, 19, 0, 0, 0, 20, 21, 34, 132, 0, + 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, + 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, + 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 133, 100, 96, 111, 0, 89, 90, 91, 0, 0, + 0, 0, 84, 52, 0, 0, 0, 73, 74, 24, + 0, 0, 0, 0, 0, 53, 54, 75, 62, 63, + 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, + 13, 0, 31, 639, 59, 0, 51, 0, 0, 0, + 56, 55, 57, 58, 70, 105, 87, 88, 69, 46, + 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, + 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, + 0, 0, 19, 0, 0, 0, 20, 21, 34, 132, + 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, + 28, 85, 86, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 178, 0, + 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, + 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, + 24, 0, 0, 177, 0, 0, 53, 54, 75, 62, + 63, 64, 65, 66, 67, 68, 158, 162, 161, 103, + 72, 13, 0, 31, 0, 59, 0, 51, 0, 0, + 0, 56, 55, 57, 58, 70, 105, 154, 156, 155, + 178, 171, 172, 169, 170, 173, 174, 175, 176, 167, + 168, 160, 163, 165, 166, 164, 0, 0, 0, 0, + 0, 0, 0, 0, 180, 177, 736, 0, 0, 738, + 0, 811, 810, 0, 0, 0, 0, 179, 158, 162, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, + 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, + 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, + 743, 744, 745, 742, 741, 740, 0, 0, 0, 0, + 754, 179, 158, 162, 161, 0, 0, 0, 0, 0, + 0, 0, 863, 0, 0, 154, 156, 155, 178, 0, + 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, + 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, + 166, 164, 180, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 707, 0, 0, 179, 158, 162, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, + 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, + 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, + 0, 0, 692, 0, 0, 0, 0, 0, 0, 179, + 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, + 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, + 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, + 180, 177, 0, 0, 0, 0, 690, 0, 0, 0, + 0, 0, 0, 179, 158, 162, 161, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 154, 156, 155, + 178, 0, 0, 0, 0, 152, 153, 157, 159, 171, + 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, + 163, 165, 166, 164, 180, 177, 736, 0, 0, 738, + 681, 0, 0, 0, 0, 0, 0, 179, 158, 162, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, + 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, + 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, + 743, 744, 745, 742, 741, 740, 0, 0, 677, 0, + 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, + 0, 0, 829, 0, 0, 154, 156, 155, 178, 0, + 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, + 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, + 166, 164, 180, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 676, 0, 0, 179, 158, 162, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, + 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, + 168, 160, 163, 165, 166, 164, 180, 177, 736, 0, + 0, 738, 622, 0, 0, 0, 0, 0, 0, 179, + 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, + 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, + 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, + 180, 177, 743, 744, 745, 742, 741, 740, 0, 0, + 621, 0, 0, 179, 158, 162, 161, 0, 0, 0, + 0, 0, 0, 0, 797, 0, 0, 154, 156, 155, + 178, 0, 0, 0, 0, 152, 153, 157, 159, 171, + 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, + 163, 165, 166, 164, 180, 177, 0, 0, 0, 0, + 0, 0, 0, 0, 620, 0, 0, 179, 158, 162, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, + 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, + 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, + 736, 0, 0, 738, 603, 0, 0, 0, 0, 0, + 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 154, 156, 155, 178, 0, + 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, + 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, + 166, 164, 180, 177, 743, 744, 745, 742, 741, 740, + 0, 0, 594, 0, 0, 179, 158, 162, 161, 0, + 0, 0, 0, 0, 0, 0, 732, 0, 0, 154, + 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, + 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, + 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, + 0, 0, 584, 0, 0, 0, 0, 0, 0, 179, + 158, 162, 161, 0, 0, 0, 0, 0, 0, 565, + 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, + 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, + 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, + 180, 177, 0, 0, 0, 0, 0, 0, 0, 0, + 582, 0, 0, 179, 158, 162, 161, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 154, 156, 155, + 178, 0, 0, 0, 0, 152, 153, 157, 159, 171, + 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, + 163, 165, 166, 164, 180, 177, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 179, 158, 162, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, + 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, + 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, + 0, 0, 0, 0, 0, 0, 561, 0, 0, 0, + 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 154, 156, 155, 178, 0, + 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, + 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, + 166, 164, 180, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 555, 0, 0, 179, 158, 162, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, + 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, + 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, + 0, 0, 0, 0, 0, 0, 551, 0, 0, 179, + 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, + 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, + 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, + 180, 177, 410, 0, 0, 0, 0, 0, 0, 0, + 415, 0, 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 154, 156, 155, 178, 152, 153, 157, 159, 171, + 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, + 163, 165, 166, 164, 0, 0, 0, 0, 180, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 154, 156, 155, 178, 0, + 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, + 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, + 166, 164, 180, 177, 0, 0, 0, 0, 0, 371, + 0, 0, 0, 0, 0, 179, 158, 162, 161, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, + 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, + 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, + 0, 0, 0, 151, 0, 0, 0, 0, 0, 179, + 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, + 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, + 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, + 180, 177, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 450, 451, 0, - 454, 455, 456, 435, 436, 437, 438, 439, 440, 452, - 453, 0, 0, 432, 0, 0, 0, 0, 0, 0, - 0, 0, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, - 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 499, 497, 498, 494, 495, - 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, - 441, 442, 443, 444, 445, 0, 446, 447, 448, 484, - 485, 496, 507, 506, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 450, 451, 0, 454, - 455, 456, 743, 744, 745, 742, 741, 740, 452, 453, - 0, 0, 914, 0, 0, 0, 0, 0, 0, 0, - 0, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 0, 0, 0, 0, 0, 152, 153, 157, 159, 171, + 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, + 163, 165, 166, 164, 441, 442, 452, 453, 0, 0, + 880, 0, 0, 0, 0, 0, 0, 0, 0, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, + 487, 488, 489, 490, 491, 479, 480, 481, 482, 483, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 0, 499, 497, 498, 494, 495, 0, 0, 486, + 492, 493, 500, 501, 503, 502, 504, 505, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, + 507, 506, 111, 0, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 454, 455, 456, 484, 485, 435, 436, + 437, 438, 439, 440, 0, 0, 441, 442, 452, 453, + 0, 0, 880, 0, 0, 0, 0, 0, 0, 0, + 898, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, 494, 495, 0, - 486, 492, 493, 500, 501, 503, 502, 504, 505, 0, - 0, 0, 0, 0, 87, 88, 89, 90, 91, 0, - 496, 507, 506, 73, 74, 0, 75, 0, 0, 0, + 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, + 0, 0, 0, 0, 0, 0, 213, 214, 0, 0, + 0, 879, 507, 506, 111, 0, 443, 444, 445, 446, + 447, 448, 449, 450, 451, 454, 455, 456, 484, 485, + 435, 436, 437, 438, 439, 440, 155, 178, 200, 201, + 202, 203, 205, 206, 207, 208, 209, 210, 211, 212, + 204, 0, 870, 0, 0, 0, 0, 0, 0, 426, + 0, 180, 177, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 178, 0, 0, 0, 0, 152, 153, 157, 159, + 171, 172, 169, 170, 173, 174, 175, 176, 167, 168, + 160, 163, 165, 166, 164, 180, 177, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 179, 158, + 162, 161, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, + 152, 153, 157, 159, 171, 172, 169, 170, 173, 174, + 175, 176, 167, 168, 160, 163, 165, 166, 164, 180, + 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 179, 158, 162, 161, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 0, 0, 0, 152, 153, 157, 159, 171, 172, + 169, 170, 173, 174, 175, 176, 167, 168, 160, 163, + 165, 166, 164, 180, 177, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, - 56, 0, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, - 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 178, 0, 0, 0, 0, 0, 152, 153, + 157, 159, 171, 172, 169, 170, 173, 174, 175, 176, + 167, 168, 160, 163, 165, 166, 164, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, - 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 532, 103, - 72, 0, 0, 0, 59, 528, 0, 105, 87, 88, - 89, 90, 91, 0, 0, 0, 0, 73, 74, 0, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 0, 0, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, + 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, + 0, 0, 153, 157, 159, 171, 172, 169, 170, 173, + 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, + 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 158, 162, 161, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, + 0, 0, 0, 0, 0, 0, 157, 159, 171, 172, + 169, 170, 173, 174, 175, 176, 167, 168, 160, 163, + 165, 166, 164, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 158, 162, 161, 0, + 0, 0, 0, 87, 88, 69, 0, 92, 93, 116, + 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, + 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, + 168, 160, 163, 165, 166, 164, 132, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 108, + 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, + 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, + 96, 111, 532, 89, 90, 91, 0, 0, 0, 0, + 84, 52, 0, 0, 0, 73, 74, 138, 0, 0, + 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, + 66, 67, 68, 0, 0, 0, 103, 72, 0, 0, + 0, 0, 59, 528, 51, 0, 0, 0, 56, 55, + 57, 58, 70, 105, 87, 88, 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, - 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, - 86, 0, 0, 73, 74, 0, 75, 0, 226, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, - 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, - 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, + 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, + 0, 84, 52, 0, 0, 0, 73, 74, 138, 0, + 0, 0, 0, 0, 53, 54, 75, 62, 63, 64, + 65, 66, 67, 68, 0, 0, 0, 103, 72, 0, + 0, 0, 0, 59, 0, 51, 0, 0, 225, 56, + 55, 57, 58, 70, 105, 87, 88, 69, 0, 92, + 93, 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, - 87, 88, 89, 90, 91, 85, 86, 0, 0, 73, - 74, 0, 75, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 591, 133, 100, 96, 111, 532, 103, - 72, 0, 0, 0, 59, 55, 56, 105, 0, 0, - 0, 57, 0, 58, 53, 54, 62, 63, 64, 65, - 66, 67, 68, 70, 0, 51, 84, 52, 0, 0, - 0, 0, 138, 0, 0, 0, 0, 0, 69, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, + 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 133, 100, 96, 111, 532, 89, 90, 91, 0, 0, + 0, 0, 84, 52, 0, 0, 0, 73, 74, 138, + 0, 0, 0, 0, 0, 53, 54, 75, 62, 63, + 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, + 0, 0, 0, 0, 59, 0, 51, 0, 0, 0, + 56, 55, 57, 58, 70, 105, 87, 88, 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, - 0, 0, 0, 0, 0, 0, 87, 88, 89, 90, - 91, 85, 86, 0, 0, 73, 74, 0, 75, 0, - 592, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 103, 72, 0, 0, 0, - 59, 55, 56, 105, 0, 0, 0, 57, 0, 58, - 53, 54, 62, 63, 64, 65, 66, 67, 68, 70, - 0, 51, 84, 52, 0, 0, 0, 0, 138, 0, - 0, 0, 0, 0, 69, 0, 92, 93, 116, 424, - 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, - 0, 0, 87, 88, 89, 90, 91, 85, 86, 0, - 0, 73, 74, 0, 75, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 387, 133, 100, 96, 111, - 0, 103, 72, 0, 0, 0, 59, 55, 56, 105, - 0, 0, 0, 57, 0, 58, 53, 54, 62, 63, - 64, 65, 66, 67, 68, 70, 0, 51, 84, 52, - 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, + 0, 85, 86, 0, 0, 0, 0, 0, 0, 0, + 0, 592, 108, 0, 101, 97, 98, 99, 94, 95, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, + 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, + 138, 0, 0, 0, 0, 0, 53, 54, 75, 62, + 63, 64, 65, 66, 67, 68, 0, 0, 0, 103, + 72, 0, 0, 0, 0, 59, 0, 51, 0, 0, + 591, 56, 55, 57, 58, 70, 105, 87, 88, 69, + 0, 92, 93, 116, 424, 104, 0, 0, 0, 0, + 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 85, 86, 0, 0, 0, 0, 0, 0, + 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, + 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, + 0, 0, 133, 100, 96, 111, 0, 89, 90, 91, + 0, 0, 0, 0, 84, 52, 0, 0, 0, 73, + 74, 138, 0, 0, 0, 0, 0, 53, 54, 75, + 62, 63, 64, 65, 66, 67, 68, 0, 0, 0, + 103, 72, 0, 0, 0, 0, 59, 0, 51, 0, + 0, 0, 56, 55, 57, 58, 70, 105, 87, 88, 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 132, 0, 0, 0, 0, 0, 0, 87, 88, - 89, 90, 91, 85, 86, 0, 0, 73, 74, 0, - 75, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 363, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 103, 72, 0, - 0, 0, 59, 55, 56, 105, 0, 0, 0, 57, - 0, 58, 53, 54, 62, 63, 64, 65, 66, 67, - 68, 70, 0, 51, 84, 52, 0, 0, 0, 0, - 138, 0, 0, 0, 0, 0, 69, 0, 92, 93, - 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, + 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 85, 86, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, + 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 133, 100, 96, 111, 0, 89, 90, + 91, 0, 0, 0, 0, 84, 52, 0, 0, 0, + 73, 74, 138, 0, 0, 0, 0, 0, 53, 54, + 75, 62, 63, 64, 65, 66, 67, 68, 0, 0, + 0, 103, 72, 0, 0, 0, 0, 59, 0, 51, + 0, 0, 387, 56, 55, 57, 58, 70, 105, 87, + 88, 69, 0, 92, 93, 116, 0, 104, 0, 0, + 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, - 0, 0, 0, 0, 87, 88, 89, 90, 91, 85, - 86, 0, 0, 73, 74, 0, 75, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 103, 72, 0, 0, 0, 59, 55, - 56, 105, 0, 0, 0, 57, 0, 58, 53, 54, - 62, 63, 64, 65, 66, 67, 68, 70, 0, 51, - 84, 52, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 0, 69, 0, 92, 93, 116, 0, 104, 0, + 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 86, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, + 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, + 0, 0, 0, 0, 133, 100, 96, 111, 0, 89, + 90, 91, 0, 0, 0, 0, 84, 52, 0, 0, + 0, 73, 74, 138, 0, 0, 0, 0, 0, 53, + 54, 75, 62, 63, 64, 65, 66, 67, 68, 0, + 0, 0, 103, 72, 0, 0, 0, 363, 59, 0, + 51, 0, 0, 0, 56, 55, 57, 58, 70, 105, + 87, 88, 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, - 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 154, 156, 155, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 103, - 72, 0, 0, 0, 59, 0, 179, 105, 180, 152, - 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, - 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, - 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, - 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, - 0, 677, 0, 0, 0, 0, 0, 179, 0, 180, - 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, - 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, - 165, 166, 0, 178, 154, 156, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 164, 0, 0, 676, 0, - 0, 0, 0, 0, 179, 0, 180, 152, 153, 157, - 159, 158, 171, 172, 169, 170, 177, 173, 174, 175, - 176, 167, 168, 161, 162, 160, 163, 165, 166, 0, - 178, 154, 156, 155, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 0, 621, 0, 0, 0, 0, - 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, - 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 0, 0, 620, 0, 0, 0, 0, 0, 179, 0, - 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, - 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, - 163, 165, 166, 0, 178, 154, 156, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 164, 0, 0, 594, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 582, 0, 0, 0, - 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 154, - 156, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 164, 0, 0, 555, 0, 0, 0, 0, 0, 179, - 810, 180, 152, 153, 157, 159, 158, 171, 172, 169, - 170, 177, 173, 174, 175, 176, 167, 168, 161, 162, - 160, 163, 165, 166, 0, 178, 154, 156, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, - 551, 0, 0, 0, 0, 0, 179, 0, 180, 152, - 153, 157, 159, 158, 171, 172, 169, 170, 177, 173, - 174, 175, 176, 167, 168, 161, 162, 160, 163, 165, - 166, 0, 178, 154, 156, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 415, 0, 0, - 0, 0, 0, 179, 0, 180, 152, 153, 157, 159, - 158, 171, 172, 169, 170, 177, 173, 174, 175, 176, - 167, 168, 161, 162, 160, 163, 165, 166, 0, 178, - 154, 156, 155, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 811, 0, 0, 0, 0, 0, 0, 0, - 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 371, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, - 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, - 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, - 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, - 0, 0, 0, 0, 0, 164, 151, 0, 0, 0, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 692, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 0, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 154, 156, 155, 0, 0, 0, 0, 0, 0, 690, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 0, 180, 152, 153, 157, 159, 158, 171, 172, - 169, 170, 177, 173, 174, 175, 176, 167, 168, 161, - 162, 160, 163, 165, 166, 0, 178, 154, 156, 155, - 0, 0, 0, 0, 0, 0, 0, 681, 164, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 180, - 152, 153, 157, 159, 158, 171, 172, 169, 170, 177, - 173, 174, 175, 176, 167, 168, 161, 162, 160, 163, - 165, 166, 0, 178, 0, 154, 156, 155, 0, 0, - 0, 0, 0, 0, 622, 164, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 179, 0, 180, 152, 153, - 157, 159, 158, 171, 172, 169, 170, 177, 173, 174, - 175, 176, 167, 168, 161, 162, 160, 163, 165, 166, - 0, 178, 154, 156, 155, 0, 0, 0, 0, 0, - 0, 0, 603, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 561, 180, 152, 153, 157, 159, 158, - 171, 172, 169, 170, 177, 173, 174, 175, 176, 167, - 168, 161, 162, 160, 163, 165, 166, 0, 178, 0, - 565, 154, 156, 155, 0, 0, 410, 0, 0, 584, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 179, 0, 180, 152, 153, 157, 159, 158, 171, - 172, 169, 170, 177, 173, 174, 175, 176, 167, 168, - 161, 162, 160, 163, 165, 166, 0, 178, 154, 156, - 155, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, - 180, 152, 153, 157, 159, 158, 171, 172, 169, 170, - 177, 173, 174, 175, 176, 167, 168, 161, 162, 160, - 163, 165, 166, 0, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 164, + 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, + 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, + 102, 178, 0, 0, 0, 133, 100, 96, 111, 0, + 89, 90, 91, 0, 0, 0, 0, 84, 52, 0, + 0, 0, 73, 74, 138, 0, 177, 0, 0, 0, + 53, 54, 75, 62, 63, 64, 65, 66, 67, 68, + 162, 161, 0, 103, 72, 0, 0, 0, 0, 59, + 0, 51, 0, 0, 0, 56, 55, 57, 58, 70, + 105, 0, 0, 0, 171, 172, 169, 170, 173, 174, + 175, 176, 167, 168, 160, 163, 165, 166, 164, 441, + 442, 452, 453, 0, 0, 432, 0, 0, 0, 0, + 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, + 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, + 494, 495, 0, 0, 486, 492, 493, 500, 501, 503, + 502, 504, 505, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 496, 507, 506, 0, 0, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 454, 455, + 456, 484, 485, 435, 436, 437, 438, 439, 440, 441, + 442, 452, 453, 0, 0, 914, 0, 0, 0, 0, + 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, + 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, + 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, + 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, + 494, 495, 0, 0, 486, 492, 493, 500, 501, 503, + 502, 504, 505, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 496, 507, 506, 0, 0, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 454, 455, + 456, 484, 485, 743, 744, 745, 742, 741, 740, } var yyPact = [...]int{ - -1000, -1000, 1255, -1000, -1000, -1000, -1000, -1000, -1000, 157, - 338, 412, 557, -1000, -1000, -1000, 156, 4963, 154, 151, - 6270, 6270, 6270, 24, 464, 6270, -1000, 6923, 149, 148, - 146, -1000, 287, 6270, 607, 743, 671, 493, 603, 599, - 595, 641, 695, 2417, -1000, -1000, 144, -1000, -1000, 357, - 142, 5574, 6270, 150, 150, 6270, 6270, 6270, 6270, 6270, - -1000, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 134, - 6270, -1000, 664, 6270, 6270, 6270, -1000, -1000, -1000, 585, - -1000, 307, 303, -1000, 201, 131, 129, 6270, 6270, 100, - 6270, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 486, 633, -1000, 63, 34, 34, 93, -1000, - 293, 554, -28, 554, 84, -1000, -1000, 233, 415, 281, - 438, 554, -1000, -1000, -1000, -1000, 273, -1000, 774, 3387, - 6270, 447, 671, 285, 6270, 6270, 232, 7398, 425, 230, - 218, 254, -1000, -1000, 249, 671, -1000, 772, 239, -1000, - 7398, -1000, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, - 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, - 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 240, 6154, - 6270, 150, 6270, 557, -1000, 6876, 214, -1000, 590, -1000, - 589, -1000, 371, -1000, 386, 78, 4963, 75, 211, 741, - 6038, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, 6270, - 6270, 6270, 6270, -1000, -1000, 6270, 6270, 6270, 101, 5574, - -57, 808, -1000, -1000, 7351, 150, 68, -1000, -1000, 585, - 6270, -1000, -1000, 5574, -1000, 629, 629, 719, 629, 6782, - 629, 629, 629, 629, 629, 629, 629, -1000, 6270, 629, - 289, 471, 602, -1000, 491, 5922, 150, 1076, 4812, 1076, - 6270, 3715, 3715, 34, -1000, 301, 191, 34, -1000, -1000, - 6270, 6270, 7398, 7398, 6270, 7398, 7398, 460, -1000, 452, - 341, 471, 6270, -1000, -1000, 5410, -1000, 5574, 583, 293, - 210, 293, -1000, -1000, 1091, -1000, 208, 220, 437, 554, - -1000, 372, 351, 575, 429, -1000, -1000, 557, 6270, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 58, 6735, 51, -1000, - 203, 805, 7398, 6688, -1000, -1000, -1000, -1000, 24, -1000, - 551, -1000, 6270, -1000, 6270, 1402, 1566, 3705, 1076, 4665, - 1730, 2054, 1891, 744, 744, 744, 719, 629, 719, 719, - 1349, 1349, 912, 912, 912, 912, 2209, 2209, 2209, 2209, - 912, -1000, 7302, 6270, 1240, 804, -1000, -1000, 7255, 111, - 3223, -1000, -1000, -1000, 50, 371, 379, 410, 282, -1000, - 410, 6270, -1000, 6270, -1000, -1000, 1076, 6270, 1076, 1076, - 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, - 6641, -58, 7207, 34, -1000, 6270, -1000, -31, 771, 5574, - 5806, -1000, 5574, 6594, -65, -1000, -35, -1000, -1000, -1000, - -1000, 634, 556, 7160, 268, 246, 6270, -67, 34, -1000, - -1000, 6270, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1190, -1000, -1000, -1000, -1000, -1000, -1000, 251, + 491, 550, 710, -1000, -1000, -1000, 245, 3912, 239, 235, + 6856, 6856, 6856, 170, 644, 6856, -1000, 5152, 233, 232, + 231, -1000, 422, 6856, 777, 283, -10, 496, 775, 774, + 772, 451, 508, 5442, -1000, -1000, 230, -1000, -1000, 157, + 229, 6070, 6856, 333, 333, 6856, 6856, 6856, 6856, 6856, + -1000, -1000, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 226, + 6856, -1000, 818, 6856, 6856, 6856, -1000, -1000, -1000, 123, + -1000, 534, 533, -1000, 488, 224, 223, 6856, 6856, 219, + 6856, 6856, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 779, 797, -1000, 117, 201, 201, 216, -1000, + 486, 687, 173, 687, 262, -1000, -1000, 375, 561, 5, + 608, 687, -1000, -1000, -1000, -1000, 4, -1000, -14, 2893, + 6856, 631, -10, 484, 6856, 6856, 370, 5206, 607, 367, + 366, -1, -1000, -1000, -5, -10, -1000, -17, -7, -1000, + 5206, -1000, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, + 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, + 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 361, 6725, + 6856, 333, 6856, 710, -1000, 5098, 344, -1000, 767, -1000, + 764, -1000, 543, -1000, 558, 214, 3912, 213, 343, 282, + 6594, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, + 6856, 6856, 6856, -1000, -1000, 6856, 6856, 6856, 96, 6070, + 119, 16, -1000, -1000, 5044, 333, 211, -1000, -1000, 123, + 6856, -1000, -1000, 6070, -1000, -80, -80, 12, -80, 4986, + -80, -80, -80, -80, -80, -80, -80, -1000, 6856, -80, + 425, 660, 658, -1000, 165, 6463, 333, 5595, 5541, 5595, + 6856, 3155, 3155, 201, -1000, 501, 182, 201, -1000, -1000, + 6856, 6856, 5206, 5206, 6856, 5206, 5206, 651, -1000, 740, + 517, 660, 6856, -1000, -1000, 5939, -1000, 6070, 749, 486, + 339, 486, -1000, -1000, 1059, -1000, 334, -8, 594, 687, + -1000, 554, 521, 733, 563, -1000, -1000, 710, 6856, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 207, 4932, 206, -1000, + 332, 15, 5206, 4878, -1000, -1000, -1000, -1000, 170, -1000, + 681, -1000, 6856, -1000, 6856, 5702, 5755, 319, 5595, 5487, + 5808, 6841, 3898, 62, 62, 62, 12, -80, 12, 12, + 236, 236, 360, 360, 360, 360, 151, 151, 151, 151, + 360, -1000, 4824, 6856, 5649, 14, -1000, -1000, 4770, -12, + 2762, -1000, -1000, -1000, 205, 543, 518, 542, 419, -1000, + 542, 6856, -1000, 6856, -1000, -1000, 5595, 6856, 5595, 5595, + 5595, 5595, 5595, 5595, 5595, 5595, 5595, 5595, 5595, 5595, + 4716, 116, 4662, 201, -1000, 6856, -1000, 172, -25, 6070, + 6332, -1000, 6070, 4608, 112, -1000, 171, -1000, -1000, -1000, + -1000, 234, 698, 4554, 99, 385, 6856, 72, 201, -1000, + -1000, 6856, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 34, -1000, - -1000, -1000, -1000, 24, 6270, 6270, 101, 24, 371, 801, - -1000, 7398, 6547, 6500, -1000, -1000, -1000, 7112, -1000, 800, - -1000, 7398, 6270, -36, -1000, -1000, 927, -1000, -1000, -1000, - 349, 350, -1000, 554, 348, 566, -1000, 345, -1000, 7398, - -37, 4515, 6270, 6270, 6270, 370, -1000, -1000, 18, 7398, - -1000, 6270, 1240, -38, 150, 499, 4351, -1000, 15, 373, - 379, -1000, 410, -1000, -1000, 279, 792, -1000, 6453, 6406, - 3059, 2054, 4187, -1000, -1000, -1000, 7065, 763, 6270, -1000, - 7398, 150, -12, -40, -1000, -1000, -1000, -72, -1000, -1000, - 484, -1000, -1000, -1000, -1000, 6270, -1000, 1076, -1000, -1000, - 7017, -1000, -1000, -73, 6970, -1000, -1000, 379, -41, 6270, - -1000, -1000, -1000, -42, 5690, 7398, -1000, -1000, 554, 336, - 796, -1000, -1000, 554, 566, -1000, 202, -1000, -1000, -1000, - 4951, 200, 7398, -1000, 199, 190, 373, 1240, 188, -1000, - -43, 778, 150, -14, 5574, -1000, -1000, -1000, 433, 373, - -46, 799, -1000, 673, -1000, -1000, 378, -1000, -1000, -1000, - -1000, 278, 792, 568, -1000, 410, 4963, 728, 186, -1000, - -1000, -1000, 6270, 1076, -1000, 5574, 763, -1000, -1000, 435, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 795, -1000, - 554, 243, 566, -1000, 796, -1000, 2895, 184, 6270, 194, - -1000, 627, -1000, -47, -1000, 3859, 499, -1000, 5574, -79, - 2731, -1000, -16, 277, -48, 417, 373, 257, -1000, -1000, - 272, -1000, -1000, -1000, 525, 483, 410, 685, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 550, -1000, -1000, -1000, - -1000, 3551, 1076, -49, 242, 267, 238, 554, 795, -1000, - -1000, 237, 183, -1000, -50, -1000, 6270, 162, 119, 182, - 620, 417, -1000, -1000, -1000, -51, -1000, -52, -1000, 180, - 410, -1000, 706, 706, -21, -1000, 544, -1000, -1000, 443, - 138, -1000, 765, 5127, 671, 117, -1000, -1000, 3551, 763, - -1000, -1000, -1000, -1000, 192, -1000, -1000, 4023, 6829, -1000, - -1000, -1000, -1000, -1000, 179, 706, 2567, 3859, -1000, -1000, - 584, -1000, 2403, 264, 373, 259, 510, 762, 174, -1000, - -1000, 525, -1000, 6270, 133, -1000, 760, 5127, -1000, -1000, - 4818, 26, -1000, -1000, -1000, -1000, -1000, 3551, -1000, 255, - 176, -1000, -54, 410, -1000, -1000, -1000, -1000, 81, -1000, - -1000, 500, 6270, -1000, -1000, 7398, -1000, 5127, 6270, -1000, - -1000, 4679, -1000, 171, 167, 383, 436, 298, -1000, 285, - -1000, -1000, 2239, 3551, -1000, -1000, 248, -1000, 2075, 1911, - -1000, 510, -1000, 7398, -1000, -1000, 7398, -25, -1000, -1000, - -1000, -1000, 410, 5266, 5127, 159, 1747, -1000, -1000, -1000, - -1000, -1000, 373, 792, -1000, -1000, 5127, -1000, -1000, -1000, - 1583, -55, -1000, -1000, 706, -23, -1000, -1000, -1000, 1419, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 201, -1000, + -1000, -1000, -1000, 170, 6856, 6856, 96, 170, 543, 13, + -1000, 5206, 4500, 4446, -1000, -1000, -1000, 4392, -1000, 11, + -1000, 5206, 6856, 169, -1000, -1000, 928, -1000, -1000, -1000, + 520, 556, -1000, 687, 522, 685, -1000, 500, -1000, 5206, + 163, 3781, 6856, 6856, 6856, 203, -1000, -1000, 198, 5206, + -1000, 6856, 5649, 161, 333, 587, 3650, -1000, 197, 432, + 518, -1000, 542, -1000, -1000, 418, 2, -1000, 4338, 4284, + 2631, 6841, 3519, -1000, -1000, -1000, 4230, -29, 6856, -1000, + 5206, 333, 187, 154, -1000, -1000, -1000, 67, -1000, -1000, + 671, -1000, -1000, -1000, -1000, 6856, -1000, 5595, -1000, -1000, + 4176, -1000, -1000, 65, 4122, -1000, -1000, 518, 153, 6856, + -1000, -1000, -1000, 144, 6201, 5206, -1000, -1000, 687, 444, + 7, -1000, -1000, 687, 685, -1000, 330, -1000, -1000, -1000, + 4068, 324, 5206, -1000, 323, 318, 432, 5649, 317, -1000, + 140, 511, 333, 185, 6070, -1000, -1000, -1000, 638, 432, + 138, 8, -1000, 59, -1000, -1000, 693, -1000, -1000, -1000, + -1000, 417, 2, 4626, -1000, 542, 3912, 273, 316, -1000, + -1000, -1000, 6856, 5595, -1000, 6070, -29, -1000, -1000, 4014, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3, -1000, + 687, 383, 685, -1000, 7, -1000, 2500, 315, 6856, 392, + -1000, 748, -1000, 134, -1000, 3257, 587, -1000, 6070, 63, + 2369, -1000, 183, 416, 133, 598, 432, 464, -1000, -1000, + 413, -1000, -1000, -1000, 677, 692, 542, 663, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 4464, -1000, -1000, -1000, + -1000, 3024, 5595, 131, 382, 394, 379, 687, 3, -1000, + -1000, 377, 314, -1000, 130, -1000, 6856, 181, 384, 309, + 737, 598, -1000, -1000, -1000, 129, -1000, 128, -1000, 308, + 542, -1000, 255, 255, 175, -1000, 679, -1000, -1000, 4302, + -11, -1000, -27, 7005, -10, -20, -1000, -1000, 3024, -29, + -1000, -1000, -1000, -1000, 174, -1000, -1000, 3388, 3960, -1000, + -1000, -1000, -1000, -1000, 307, 255, 2238, 3257, -1000, -1000, + 81, -1000, 2107, 390, 432, 389, 135, -32, 4032, -1000, + -1000, 677, -1000, 6856, -18, -1000, -46, 7005, -1000, -1000, + 5472, 528, -1000, -1000, -1000, -1000, -1000, 3024, -1000, 388, + 305, -1000, 126, 542, -1000, -1000, -1000, -1000, -30, -1000, + -1000, 676, 6856, -1000, -1000, 5206, -1000, 7005, 6856, -1000, + -1000, 5370, -1000, 301, 299, 588, 620, 499, -1000, 484, + -1000, -1000, 1976, 3024, -1000, -1000, 387, -1000, 1845, 1714, + -1000, 135, -1000, 5206, -1000, -1000, 5206, 166, -1000, -1000, + -1000, -1000, 542, 7105, 7005, 276, 1583, -1000, -1000, -1000, + -1000, -1000, 432, 2, -1000, -1000, 7005, -1000, -1000, -1000, + 1452, 64, -1000, -1000, 255, 275, -1000, -1000, -1000, 1321, -1000, } var yyPgo = [...]int{ - 0, 923, 922, 51, 9, 921, 3, 919, 11, 24, - 81, 80, 46, 45, 918, 29, 916, 77, 70, 61, - 915, 0, 50, 911, 907, 15, 906, 905, 35, 237, - 38, 20, 904, 32, 902, 62, 54, 901, 10, 900, - 899, 898, 896, 13, 55, 895, 894, 100, 95, 199, - 893, 892, 891, 5, 889, 85, 41, 888, 141, 43, - 887, 885, 884, 881, 878, 79, 877, 874, 873, 871, - 12, 870, 868, 47, 40, 31, 2, 14, 743, 8, - 795, 25, 867, 866, 864, 37, 82, 599, 862, 121, - 861, 860, 856, 86, 855, 36, 854, 853, 30, 33, - 851, 850, 28, 849, 843, 592, 840, 18, 838, 837, - 39, 835, 78, 1, 4, 831, 17, 830, 44, 827, - 826, 823, 7, 821, 6, 820, 19, 16, + 0, 915, 911, 51, 9, 907, 3, 906, 11, 24, + 81, 80, 46, 45, 905, 29, 904, 77, 70, 61, + 902, 0, 50, 901, 900, 15, 899, 898, 35, 237, + 38, 20, 896, 32, 893, 62, 54, 892, 10, 891, + 889, 888, 887, 13, 55, 885, 884, 100, 95, 199, + 881, 878, 877, 5, 871, 85, 41, 870, 141, 43, + 868, 867, 866, 864, 862, 79, 861, 860, 853, 851, + 12, 850, 849, 47, 40, 31, 2, 14, 673, 8, + 702, 25, 843, 840, 838, 37, 82, 550, 837, 121, + 831, 827, 826, 86, 823, 36, 821, 820, 30, 33, + 813, 812, 28, 810, 808, 542, 807, 18, 805, 804, + 39, 801, 78, 1, 4, 800, 17, 798, 44, 797, + 795, 793, 7, 789, 6, 788, 19, 16, } var yyR1 = [...]int{ @@ -1484,100 +1458,100 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -125, -112, -7, -9, -10, -11, -12, -13, 127, - 154, 120, 114, 161, -67, -68, 97, 96, 99, 106, - 110, 111, 115, 122, 76, 95, 90, -21, 124, 101, - 103, 163, 116, 119, 112, 86, 113, -123, 128, 129, - 130, -69, -71, -29, -34, -78, 83, -62, -63, -60, - 134, 69, 71, 58, 59, 49, 50, 55, 57, 164, - -45, -50, 60, 61, 62, 63, 64, 65, 66, 82, - 67, -52, 160, 13, 14, 16, 77, 78, -49, -59, - -54, -47, -57, -58, 70, 125, 126, 4, 5, 6, - 7, 8, 84, 85, 141, 142, 156, 138, 139, 140, - 155, 137, 149, 159, 88, 167, -8, -61, 135, 94, - -89, 157, 164, 157, -89, 161, 86, -16, -80, -105, - -89, 157, 113, 114, -17, -18, -93, -19, 86, -113, - 164, -9, 113, 154, 164, 164, -22, -21, 76, -22, - -22, -97, -35, -49, -101, 113, -36, 88, -94, -44, - -21, 163, 33, 34, 10, 12, 11, 35, 37, 36, - 51, 49, 50, 52, 68, 53, 54, 47, 48, 40, - 41, 38, 39, 43, 44, 45, 46, 42, 56, 30, - 32, 164, 164, 164, 161, -21, 86, 31, -3, 37, - 128, -78, 86, 86, 86, 73, 74, 73, 75, 74, - 17, 18, 19, 20, 29, 21, 22, 23, 24, 25, - 26, 27, 28, 58, 59, 164, 69, 161, 133, 164, - -110, -109, -73, -72, -21, 37, 134, -21, -29, -59, - 164, -58, 76, 69, -29, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -51, 164, -21, - -88, 93, -87, -65, 88, 151, 152, -21, -21, -21, - 69, 153, 153, -48, -46, -47, -64, 128, -8, -49, - 164, 164, -21, -21, 164, -21, -21, 93, 150, -87, - -87, 93, 161, -49, -85, 164, -85, 164, 157, -89, - 165, -89, 163, 161, -112, 163, -14, -105, -89, 157, - 163, 9, 157, 105, -89, -18, 163, 9, 17, -20, - 162, -9, -10, -11, -12, -13, 127, -21, 97, -3, - -95, -96, -21, -21, 163, 163, 163, 163, 9, 163, - 9, -3, 17, 163, 9, -21, -21, -21, -21, -21, + -1000, -125, -112, -7, -9, -10, -11, -12, -13, 51, + 79, 44, 38, 119, -67, -68, 21, 20, 23, 30, + 34, 35, 39, 46, 98, 19, 14, -21, 48, 25, + 27, 121, 40, 43, 36, 10, 37, -123, 52, 53, + 54, -69, -71, -29, -34, -78, 7, -62, -63, -60, + 59, 125, 92, 104, 105, 130, 129, 131, 132, 123, + -45, -50, 107, 108, 109, 110, 111, 112, 113, 6, + 133, -52, 118, 96, 97, 106, 99, 100, -49, -59, + -54, -47, -57, -58, 91, 49, 50, 4, 5, 84, + 85, 86, 8, 9, 66, 67, 81, 63, 64, 65, + 80, 62, 74, 117, 12, 134, -8, -61, 60, 18, + -89, 82, 123, 82, -89, 119, 10, -16, -80, -105, + -89, 82, 37, 38, -17, -18, -93, -19, 10, -113, + 123, -9, 37, 79, 123, 123, -22, -21, 98, -22, + -22, -97, -35, -49, -101, 37, -36, 12, -94, -44, + -21, 121, 149, 150, 87, 89, 88, 151, 128, 152, + 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, + 156, 153, 154, 157, 158, 159, 160, 115, 90, 127, + 114, 123, 123, 123, 119, -21, 10, 122, -3, 128, + 52, -78, 10, 10, 10, 93, 94, 93, 95, 94, + 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, + 145, 146, 147, 104, 105, 123, 125, 119, 57, 123, + -110, -109, -73, -72, -21, 128, 59, -21, -29, -59, + 123, -58, 98, 125, -29, -21, -21, -21, -21, -21, + -21, -21, -21, -21, -21, -21, -21, -51, 123, -21, + -88, 17, -87, -65, 12, 76, 77, -21, -21, -21, + 125, 78, 78, -48, -46, -47, -64, 52, -8, -49, + 123, 123, -21, -21, 123, -21, -21, 17, 75, -87, + -87, 17, 119, -49, -85, 123, -85, 123, 82, -89, + 124, -89, 121, 119, -112, 121, -14, -105, -89, 82, + 121, 135, 82, 29, -89, -18, 121, 135, 136, -20, + 120, -9, -10, -11, -12, -13, 51, -21, 21, -3, + -95, -96, -21, -21, 121, 121, 121, 121, 135, 121, + 135, -3, 136, 121, 135, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -48, -21, 31, -21, -104, -28, -29, -21, -93, - -113, 163, 163, 86, -124, 86, -30, 131, -124, -117, - 131, 164, -9, 164, 163, 31, -21, 37, -21, -21, + -21, -48, -21, 122, -21, -104, -28, -29, -21, -93, + -113, 121, 121, 10, -124, 10, -30, 55, -124, -117, + 55, 123, -9, 123, 121, 122, -21, 128, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -22, -21, -56, 86, 161, -49, -110, 166, 9, - 15, -29, 164, -21, -110, 165, -22, 160, -65, -65, - 93, 69, 133, -21, 87, -29, 15, -22, -55, -6, - -49, 161, 86, -5, -4, 76, 77, 78, 79, 80, - 81, 4, 5, 6, 7, 8, 10, 11, 12, 56, - 70, 71, 82, 83, 73, 74, 75, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 111, - 112, 113, 114, 115, 13, 14, 134, 106, 107, 108, - 109, 110, 135, 136, 131, 132, 154, 129, 130, 128, - 137, 138, 140, 139, 141, 142, 156, 155, -55, -6, - -49, -86, -85, 153, 69, 161, 133, 153, -86, -108, - -74, -21, -21, -21, 150, 150, 159, -21, 165, -111, - -33, -21, 158, -110, 86, 163, -112, 162, 163, 163, - 157, -89, -17, 157, -89, 161, 86, 157, -19, -21, - 164, 165, 164, 163, 9, 165, -35, -36, -124, -21, - -44, 31, -21, -126, 9, 105, 165, 162, -124, 164, - -30, -118, 132, -8, 161, -124, -122, -8, -21, -21, - -113, -21, 165, 166, 162, -85, -21, 165, 17, -73, - -21, 37, 134, -110, 165, 166, 165, -66, 86, 89, - 50, 88, 86, 162, 162, 69, 162, -21, 166, -85, - -21, -85, -49, -22, -21, -56, -49, -30, -126, 9, - 165, 165, 162, -126, 9, -21, 165, 162, 161, 157, - -99, -15, -18, -80, 161, -124, 165, -23, -9, 31, - -21, -95, -21, -83, 161, 31, 164, -21, 165, -28, - -81, -29, 37, 134, 69, -26, -9, 31, -91, 164, - -114, -115, -31, -32, -77, -75, 30, 135, 136, -8, - -118, -124, -122, -116, 161, 9, 165, 165, 75, -9, - 31, 162, 17, -21, -29, 164, 165, 166, 89, -21, - 162, 166, 162, -118, 165, -74, 165, -33, -98, -18, - 161, -126, 9, -18, -99, 163, -113, 165, 163, -102, - 163, -102, 163, -114, 163, 165, 15, -29, 164, -110, - -113, -27, 117, 118, -114, 165, 9, -1, 37, -75, - -124, 161, 162, -37, -120, -119, 120, -121, 123, -79, - 81, 80, 79, 76, 77, 78, -116, -8, -9, 31, - 163, -113, -21, -110, 166, -124, -126, 9, -98, 162, - -15, -126, 98, 163, -95, 162, 108, 109, -102, 107, - -102, 165, -25, -9, 31, -81, -29, -110, 166, 104, - 164, 161, 165, -107, 120, -31, -2, 158, 161, -116, - -100, -43, 88, 114, 113, -122, -79, 162, -113, 165, - 162, 161, 162, -18, -126, 162, 163, 165, -21, -127, - 31, 163, 162, 163, 107, -107, -113, 165, 165, 163, - -90, -8, -113, -76, 31, -76, 164, 88, -116, 162, - 163, 9, -124, 17, -92, -70, -6, -3, -84, 163, - 161, -116, 162, -24, -9, 31, -127, -113, 163, -76, - 102, -25, 88, 35, 162, 161, -77, 161, -106, -53, - 88, 37, 17, 162, -43, -21, 163, 9, 17, -6, - 162, -103, -38, -39, -40, -41, -42, -8, -6, 154, - 86, 162, -113, -113, 161, 163, 165, -8, -113, -113, - 165, 9, 88, -21, -124, -70, -21, -124, 162, -38, - 163, 163, 121, 105, 153, 100, -113, 161, 162, 162, - -53, -124, 164, -122, 86, -4, -79, -6, 163, 162, - -113, -114, -6, 162, 165, -76, -82, 163, 161, -113, - 162, + -21, -22, -21, -56, 10, 119, -49, -110, 126, 135, + 58, -29, 123, -21, -110, 124, -22, 118, -65, -65, + 17, 125, 57, -21, 11, -29, 58, -22, -55, -6, + -49, 119, 10, -5, -4, 98, 99, 100, 101, 102, + 103, 4, 5, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 6, 7, 93, 94, 95, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 35, + 36, 37, 38, 39, 96, 97, 59, 30, 31, 32, + 33, 34, 60, 61, 55, 56, 79, 53, 54, 52, + 62, 63, 65, 64, 66, 67, 81, 80, -55, -6, + -49, -86, -85, 78, 125, 119, 57, 78, -86, -108, + -74, -21, -21, -21, 75, 75, 117, -21, 124, -111, + -33, -21, 83, -110, 10, 121, -112, 120, 121, 121, + 82, -89, -17, 82, -89, 119, 10, 82, -19, -21, + 123, 124, 123, 121, 135, 124, -35, -36, -124, -21, + -44, 122, -21, -126, 135, 29, 124, 120, -124, 123, + -30, -118, 56, -8, 119, -124, -122, -8, -21, -21, + -113, -21, 124, 126, 120, -85, -21, 124, 136, -73, + -21, 128, 59, -110, 124, 126, 124, -66, 10, 13, + 129, 12, 10, 120, 120, 125, 120, -21, 126, -85, + -21, -85, -49, -22, -21, -56, -49, -30, -126, 135, + 124, 124, 120, -126, 135, -21, 124, 120, 119, 82, + -99, -15, -18, -80, 119, -124, 124, -23, -9, 122, + -21, -95, -21, -83, 119, 122, 123, -21, 124, -28, + -81, -29, 128, 59, 125, -26, -9, 122, -91, 123, + -114, -115, -31, -32, -77, -75, 127, 60, 61, -8, + -118, -124, -122, -116, 119, 135, 124, 124, 95, -9, + 122, 120, 136, -21, -29, 123, 124, 126, 13, -21, + 120, 126, 120, -118, 124, -74, 124, -33, -98, -18, + 119, -126, 135, -18, -99, 121, -113, 124, 121, -102, + 121, -102, 121, -114, 121, 124, 58, -29, 123, -110, + -113, -27, 41, 42, -114, 124, 135, -1, 128, -75, + -124, 119, 120, -37, -120, -119, 44, -121, 47, -79, + 103, 102, 101, 98, 99, 100, -116, -8, -9, 122, + 121, -113, -21, -110, 126, -124, -126, 135, -98, 120, + -15, -126, 22, 121, -95, 120, 32, 33, -102, 31, + -102, 124, -25, -9, 122, -81, -29, -110, 126, 28, + 123, 119, 124, -107, 44, -31, -2, 83, 119, -116, + -100, -43, 12, 38, 37, -122, -79, 120, -113, 124, + 120, 119, 120, -18, -126, 120, 121, 124, -21, -127, + 122, 121, 120, 121, 31, -107, -113, 124, 124, 121, + -90, -8, -113, -76, 122, -76, 123, 12, -116, 120, + 121, 135, -124, 136, -92, -70, -6, -3, -84, 121, + 119, -116, 120, -24, -9, 122, -127, -113, 121, -76, + 26, -25, 12, 151, 120, 119, -77, 119, -106, -53, + 12, 128, 136, 120, -43, -21, 121, 135, 136, -6, + 120, -103, -38, -39, -40, -41, -42, -8, -6, 79, + 10, 120, -113, -113, 119, 121, 124, -8, -113, -113, + 124, 135, 12, -21, -124, -70, -21, -124, 120, -38, + 121, 121, 45, 29, 78, 24, -113, 119, 120, 120, + -53, -124, 123, -122, 10, -4, -79, -6, 121, 120, + -113, -114, -6, 120, 124, -76, -82, 121, 119, -113, + 120, } var yyDef = [...]int{ @@ -1681,33 +1655,33 @@ var yyTok1 = [...]int{ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 55, 159, 3, 167, 54, 37, 3, - 164, 165, 52, 49, 9, 50, 51, 53, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 31, 163, - 43, 17, 45, 30, 67, 3, 3, 3, 3, 3, + 3, 3, 3, 131, 117, 3, 134, 166, 128, 3, + 123, 124, 164, 130, 135, 129, 163, 165, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 122, 121, + 157, 136, 159, 127, 133, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 69, 3, 166, 36, 3, 160, 3, 3, 3, + 3, 125, 3, 126, 152, 3, 118, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 161, 35, 162, 57, + 3, 3, 3, 119, 151, 120, 132, } var yyTok2 = [...]int{ - 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, - 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 32, 33, 34, 38, - 39, 40, 41, 42, 44, 46, 47, 48, 56, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 153, + 154, 155, 156, 158, 160, 161, 162, 167, } var yyTok3 = [...]int{ 0, @@ -2052,482 +2026,482 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:251 + //line php7/php7.y:254 { rootnode = stmt.NewStmtList(yyDollar[1].list) positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:258 + //line php7/php7.y:261 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:259 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:260 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:268 + //line php7/php7.y:271 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:269 + //line php7/php7.y:272 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:269 + //line php7/php7.y:272 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:269 + //line php7/php7.y:272 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:269 + //line php7/php7.y:272 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:269 + //line php7/php7.y:272 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:269 + //line php7/php7.y:272 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:273 + //line php7/php7.y:276 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:274 + //line php7/php7.y:277 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:278 + //line php7/php7.y:281 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:279 + //line php7/php7.y:282 { yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:284 + //line php7/php7.y:287 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2536,7 +2510,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:291 + //line php7/php7.y:294 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2545,7 +2519,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:301 + //line php7/php7.y:304 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2553,7 +2527,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:310 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -2561,7 +2535,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:313 + //line php7/php7.y:316 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -2569,43 +2543,43 @@ yydefault: } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:321 + //line php7/php7.y:324 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:322 + //line php7/php7.y:325 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:323 + //line php7/php7.y:326 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:324 + //line php7/php7.y:327 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:325 + //line php7/php7.y:328 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:326 + //line php7/php7.y:329 { yyVAL.node = stmt.NewHaltCompiler() } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:328 + //line php7/php7.y:331 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2617,7 +2591,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:338 + //line php7/php7.y:341 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2629,7 +2603,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:348 + //line php7/php7.y:351 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2637,19 +2611,19 @@ yydefault: } case 94: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:353 + //line php7/php7.y:356 { yyVAL.node = yyDollar[2].node } case 95: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:354 + //line php7/php7.y:357 { yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) } case 96: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:356 + //line php7/php7.y:359 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2657,13 +2631,13 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:361 + //line php7/php7.y:364 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } case 98: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:363 + //line php7/php7.y:366 { yyVAL.node = stmt.NewConstList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2671,7 +2645,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:372 + //line php7/php7.y:375 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2679,7 +2653,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:378 + //line php7/php7.y:381 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2687,7 +2661,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:387 + //line php7/php7.y:390 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2699,7 +2673,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:397 + //line php7/php7.y:400 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2711,7 +2685,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:410 + //line php7/php7.y:413 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2723,7 +2697,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:420 + //line php7/php7.y:423 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2735,55 +2709,55 @@ yydefault: } case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:438 + //line php7/php7.y:441 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:439 + //line php7/php7.y:442 { yyVAL.list = []node.Node{yyDollar[1].node} } case 109: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:444 + //line php7/php7.y:447 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:445 + //line php7/php7.y:448 { yyVAL.list = []node.Node{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:449 + //line php7/php7.y:452 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:450 + //line php7/php7.y:453 { yyVAL.list = []node.Node{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:454 + //line php7/php7.y:457 { yyVAL.node = yyDollar[1].node } case 114: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:455 + //line php7/php7.y:458 { yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } case 115: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:460 + //line php7/php7.y:463 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2795,7 +2769,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:470 + //line php7/php7.y:473 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2810,73 +2784,73 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:485 + //line php7/php7.y:488 { yyVAL.node = yyDollar[1].node } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:486 + //line php7/php7.y:489 { yyVAL.node = yyDollar[2].node } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:490 + //line php7/php7.y:493 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 120: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:491 + //line php7/php7.y:494 { yyVAL.list = []node.Node{yyDollar[1].node} } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:495 + //line php7/php7.y:498 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 122: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:496 + //line php7/php7.y:499 { yyVAL.list = []node.Node{} } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:500 + //line php7/php7.y:503 { yyVAL.node = yyDollar[1].node } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:501 + //line php7/php7.y:504 { yyVAL.node = yyDollar[1].node } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:502 + //line php7/php7.y:505 { yyVAL.node = yyDollar[1].node } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:503 + //line php7/php7.y:506 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:504 + //line php7/php7.y:507 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:506 + //line php7/php7.y:509 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2884,7 +2858,7 @@ yydefault: } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:514 + //line php7/php7.y:517 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2892,19 +2866,19 @@ yydefault: } case 130: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:519 + //line php7/php7.y:522 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:520 + //line php7/php7.y:523 { yyVAL.node = yyDollar[1].node } case 132: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:522 + //line php7/php7.y:525 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2912,7 +2886,7 @@ yydefault: } case 133: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:528 + //line php7/php7.y:531 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) @@ -2920,7 +2894,7 @@ yydefault: } case 134: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:534 + //line php7/php7.y:537 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2928,7 +2902,7 @@ yydefault: } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:540 + //line php7/php7.y:543 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) @@ -2936,7 +2910,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:546 + //line php7/php7.y:549 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2944,7 +2918,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:552 + //line php7/php7.y:555 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2952,7 +2926,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:558 + //line php7/php7.y:561 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2960,7 +2934,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:564 + //line php7/php7.y:567 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2968,7 +2942,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:570 + //line php7/php7.y:573 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2976,7 +2950,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:576 + //line php7/php7.y:579 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2984,7 +2958,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:582 + //line php7/php7.y:585 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2992,7 +2966,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:588 + //line php7/php7.y:591 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -3000,7 +2974,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:594 + //line php7/php7.y:597 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) @@ -3008,7 +2982,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:600 + //line php7/php7.y:603 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) @@ -3016,7 +2990,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:606 + //line php7/php7.y:609 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -3024,7 +2998,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:612 + //line php7/php7.y:615 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3032,7 +3006,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:618 + //line php7/php7.y:621 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3040,7 +3014,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:624 + //line php7/php7.y:627 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3054,7 +3028,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:636 + //line php7/php7.y:639 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3062,7 +3036,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:642 + //line php7/php7.y:645 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3074,7 +3048,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:652 + //line php7/php7.y:655 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3086,13 +3060,13 @@ yydefault: } case 153: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:663 + //line php7/php7.y:666 { yyVAL.list = []node.Node{} } case 154: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:665 + //line php7/php7.y:668 { identifier := node.NewIdentifier(yyDollar[5].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) @@ -3108,25 +3082,25 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:680 + //line php7/php7.y:683 { yyVAL.list = []node.Node{yyDollar[1].node} } case 156: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:681 + //line php7/php7.y:684 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:685 + //line php7/php7.y:688 { yyVAL.node = nil } case 158: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:687 + //line php7/php7.y:690 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3134,25 +3108,25 @@ yydefault: } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:695 + //line php7/php7.y:698 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:696 + //line php7/php7.y:699 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:700 + //line php7/php7.y:703 { yyVAL.node = yyDollar[1].node } case 162: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:705 + //line php7/php7.y:708 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3164,31 +3138,31 @@ yydefault: } case 163: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:717 + //line php7/php7.y:720 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 164: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:718 + //line php7/php7.y:721 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:722 + //line php7/php7.y:725 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:723 + //line php7/php7.y:726 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:728 + //line php7/php7.y:731 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3200,7 +3174,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:738 + //line php7/php7.y:741 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3212,19 +3186,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:750 + //line php7/php7.y:753 { yyVAL.list = []node.Node{yyDollar[1].node} } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:751 + //line php7/php7.y:754 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:756 + //line php7/php7.y:759 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3232,7 +3206,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:762 + //line php7/php7.y:765 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3240,7 +3214,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:771 + //line php7/php7.y:774 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3252,7 +3226,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:784 + //line php7/php7.y:787 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3264,55 +3238,55 @@ yydefault: } case 175: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:796 + //line php7/php7.y:799 { yyVAL.node = nil } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:797 + //line php7/php7.y:800 { yyVAL.node = yyDollar[2].node } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:801 + //line php7/php7.y:804 { yyVAL.list = nil } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:802 + //line php7/php7.y:805 { yyVAL.list = yyDollar[2].list } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:806 + //line php7/php7.y:809 { yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:807 + //line php7/php7.y:810 { yyVAL.list = yyDollar[2].list } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:811 + //line php7/php7.y:814 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:812 + //line php7/php7.y:815 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:814 + //line php7/php7.y:817 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3321,7 +3295,7 @@ yydefault: } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:821 + //line php7/php7.y:824 { list := expr.NewShortList(yyDollar[2].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3330,13 +3304,13 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:830 + //line php7/php7.y:833 { yyVAL.node = yyDollar[1].node } case 186: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:832 + //line php7/php7.y:835 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3344,13 +3318,13 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:840 + //line php7/php7.y:843 { yyVAL.node = yyDollar[1].node } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:842 + //line php7/php7.y:845 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3358,13 +3332,13 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:850 + //line php7/php7.y:853 { yyVAL.node = yyDollar[1].node } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:852 + //line php7/php7.y:855 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3372,37 +3346,37 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:860 + //line php7/php7.y:863 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:861 + //line php7/php7.y:864 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:862 + //line php7/php7.y:865 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:863 + //line php7/php7.y:866 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:867 + //line php7/php7.y:870 { yyVAL.list = []node.Node{} } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:869 + //line php7/php7.y:872 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3411,7 +3385,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:876 + //line php7/php7.y:879 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3420,13 +3394,13 @@ yydefault: } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:890 + //line php7/php7.y:893 { yyVAL.node = yyDollar[1].node } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:892 + //line php7/php7.y:895 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3434,7 +3408,7 @@ yydefault: } case 202: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:901 + //line php7/php7.y:904 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3442,7 +3416,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:907 + //line php7/php7.y:910 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) @@ -3453,13 +3427,13 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:918 + //line php7/php7.y:921 { yyVAL.node = yyDollar[1].node } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:920 + //line php7/php7.y:923 { _else := stmt.NewElse(yyDollar[3].node) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) @@ -3470,7 +3444,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:932 + //line php7/php7.y:935 { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) @@ -3482,7 +3456,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:942 + //line php7/php7.y:945 { stmts := stmt.NewStmtList(yyDollar[7].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) @@ -3495,14 +3469,14 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:956 + //line php7/php7.y:959 { yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:961 + //line php7/php7.y:964 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -3516,31 +3490,31 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:975 + //line php7/php7.y:978 { yyVAL.list = yyDollar[1].list } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:976 + //line php7/php7.y:979 { yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:980 + //line php7/php7.y:983 { yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:981 + //line php7/php7.y:984 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 214: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:986 + //line php7/php7.y:989 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3570,7 +3544,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1014 + //line php7/php7.y:1017 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3600,25 +3574,25 @@ yydefault: } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1044 + //line php7/php7.y:1047 { yyVAL.node = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1045 + //line php7/php7.y:1048 { yyVAL.node = yyDollar[1].node } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1049 + //line php7/php7.y:1052 { yyVAL.node = yyDollar[1].node } case 219: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1051 + //line php7/php7.y:1054 { yyVAL.node = node.NewNullable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3626,7 +3600,7 @@ yydefault: } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1060 + //line php7/php7.y:1063 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3634,7 +3608,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1066 + //line php7/php7.y:1069 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3642,49 +3616,49 @@ yydefault: } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1071 + //line php7/php7.y:1074 { yyVAL.node = yyDollar[1].node } case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1075 + //line php7/php7.y:1078 { yyVAL.node = nil } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1076 + //line php7/php7.y:1079 { yyVAL.node = yyDollar[2].node } case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1080 + //line php7/php7.y:1083 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1081 + //line php7/php7.y:1084 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1085 + //line php7/php7.y:1088 { yyVAL.list = []node.Node{yyDollar[1].node} } case 228: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1086 + //line php7/php7.y:1089 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1091 + //line php7/php7.y:1094 { yyVAL.node = node.NewArgument(yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3692,7 +3666,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1097 + //line php7/php7.y:1100 { yyVAL.node = node.NewArgument(yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3700,37 +3674,37 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1105 + //line php7/php7.y:1108 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1106 + //line php7/php7.y:1109 { yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1110 + //line php7/php7.y:1113 { yyVAL.node = yyDollar[1].node } case 234: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1114 + //line php7/php7.y:1117 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1115 + //line php7/php7.y:1118 { yyVAL.list = []node.Node{yyDollar[1].node} } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1120 + //line php7/php7.y:1123 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3745,7 +3719,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1133 + //line php7/php7.y:1136 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3760,19 +3734,19 @@ yydefault: } case 238: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1148 + //line php7/php7.y:1151 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1149 + //line php7/php7.y:1152 { yyVAL.list = []node.Node{} } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1154 + //line php7/php7.y:1157 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3780,7 +3754,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1160 + //line php7/php7.y:1163 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) @@ -3788,7 +3762,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1166 + //line php7/php7.y:1169 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3796,7 +3770,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-10 : yypt+1] - //line php7/php7.y:1172 + //line php7/php7.y:1175 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3808,61 +3782,61 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1184 + //line php7/php7.y:1187 { yyVAL.list = []node.Node{yyDollar[1].node} } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1185 + //line php7/php7.y:1188 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1189 + //line php7/php7.y:1192 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1190 + //line php7/php7.y:1193 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1191 + //line php7/php7.y:1194 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1195 + //line php7/php7.y:1198 { yyVAL.list = []node.Node{yyDollar[1].node} } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1196 + //line php7/php7.y:1199 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1200 + //line php7/php7.y:1203 { yyVAL.node = yyDollar[1].node } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1201 + //line php7/php7.y:1204 { yyVAL.node = yyDollar[1].node } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1206 + //line php7/php7.y:1209 { name := name.NewName(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3874,7 +3848,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1219 + //line php7/php7.y:1222 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3886,7 +3860,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1229 + //line php7/php7.y:1232 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3898,7 +3872,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1239 + //line php7/php7.y:1242 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3910,7 +3884,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1249 + //line php7/php7.y:1252 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3918,7 +3892,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1258 + //line php7/php7.y:1261 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3930,13 +3904,13 @@ yydefault: } case 259: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1267 + //line php7/php7.y:1270 { yyVAL.node = yyDollar[1].node } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1272 + //line php7/php7.y:1275 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3948,25 +3922,25 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1284 + //line php7/php7.y:1287 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1285 + //line php7/php7.y:1288 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1289 + //line php7/php7.y:1292 { yyVAL.list = yyDollar[1].list } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1291 + //line php7/php7.y:1294 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3975,31 +3949,31 @@ yydefault: } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1300 + //line php7/php7.y:1303 { yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1301 + //line php7/php7.y:1304 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1305 + //line php7/php7.y:1308 { yyVAL.list = []node.Node{yyDollar[1].node} } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1306 + //line php7/php7.y:1309 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1311 + //line php7/php7.y:1314 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4007,7 +3981,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1317 + //line php7/php7.y:1320 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4015,7 +3989,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1323 + //line php7/php7.y:1326 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4023,7 +3997,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1329 + //line php7/php7.y:1332 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4031,7 +4005,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1335 + //line php7/php7.y:1338 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4039,7 +4013,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1341 + //line php7/php7.y:1344 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4047,19 +4021,19 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1349 + //line php7/php7.y:1352 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1350 + //line php7/php7.y:1353 { yyVAL.list = []node.Node{yyDollar[1].node} } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1355 + //line php7/php7.y:1358 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4074,7 +4048,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1368 + //line php7/php7.y:1371 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4089,19 +4063,19 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1383 + //line php7/php7.y:1386 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1384 + //line php7/php7.y:1387 { yyVAL.list = []node.Node{yyDollar[1].node} } case 281: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1389 + //line php7/php7.y:1392 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4113,7 +4087,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1402 + //line php7/php7.y:1405 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4125,49 +4099,49 @@ yydefault: } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1414 + //line php7/php7.y:1417 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1415 + //line php7/php7.y:1418 { yyVAL.list = []node.Node{yyDollar[1].node} } case 285: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1419 + //line php7/php7.y:1422 { yyVAL.node = yyDollar[1].node } case 286: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1423 + //line php7/php7.y:1426 { yyVAL.list = nil } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1424 + //line php7/php7.y:1427 { yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1427 + //line php7/php7.y:1430 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1428 + //line php7/php7.y:1431 { yyVAL.list = []node.Node{yyDollar[1].node} } case 290: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:1433 + //line php7/php7.y:1436 { if yyDollar[2].nodesWithEndToken != nil { yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) @@ -4181,7 +4155,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1448 + //line php7/php7.y:1451 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4195,13 +4169,13 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1459 + //line php7/php7.y:1462 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1464 + //line php7/php7.y:1467 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4213,7 +4187,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1474 + //line php7/php7.y:1477 { shortList := expr.NewShortList(yyDollar[2].list) positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4225,7 +4199,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1484 + //line php7/php7.y:1487 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4233,7 +4207,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1490 + //line php7/php7.y:1493 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4241,7 +4215,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1496 + //line php7/php7.y:1499 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4249,7 +4223,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1502 + //line php7/php7.y:1505 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4257,7 +4231,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1508 + //line php7/php7.y:1511 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4265,7 +4239,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1514 + //line php7/php7.y:1517 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4273,7 +4247,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1520 + //line php7/php7.y:1523 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4281,7 +4255,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1526 + //line php7/php7.y:1529 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4289,7 +4263,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1532 + //line php7/php7.y:1535 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4297,7 +4271,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1538 + //line php7/php7.y:1541 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4305,7 +4279,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1544 + //line php7/php7.y:1547 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4313,7 +4287,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1550 + //line php7/php7.y:1553 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4321,7 +4295,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1556 + //line php7/php7.y:1559 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4329,7 +4303,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1562 + //line php7/php7.y:1565 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4337,7 +4311,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1568 + //line php7/php7.y:1571 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4345,7 +4319,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1574 + //line php7/php7.y:1577 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4353,7 +4327,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1580 + //line php7/php7.y:1583 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4361,7 +4335,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1586 + //line php7/php7.y:1589 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4369,7 +4343,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1592 + //line php7/php7.y:1595 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4377,7 +4351,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1598 + //line php7/php7.y:1601 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4385,7 +4359,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1604 + //line php7/php7.y:1607 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4393,7 +4367,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1610 + //line php7/php7.y:1613 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4401,7 +4375,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1616 + //line php7/php7.y:1619 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4409,7 +4383,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1622 + //line php7/php7.y:1625 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4417,7 +4391,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1628 + //line php7/php7.y:1631 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4425,7 +4399,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1634 + //line php7/php7.y:1637 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4433,7 +4407,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1640 + //line php7/php7.y:1643 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4441,7 +4415,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1646 + //line php7/php7.y:1649 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4449,7 +4423,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1652 + //line php7/php7.y:1655 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4457,7 +4431,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1658 + //line php7/php7.y:1661 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4465,7 +4439,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1664 + //line php7/php7.y:1667 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4473,7 +4447,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1670 + //line php7/php7.y:1673 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4481,7 +4455,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1676 + //line php7/php7.y:1679 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4489,7 +4463,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1682 + //line php7/php7.y:1685 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4497,7 +4471,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1688 + //line php7/php7.y:1691 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4505,7 +4479,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1694 + //line php7/php7.y:1697 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4513,7 +4487,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1700 + //line php7/php7.y:1703 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4521,7 +4495,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1706 + //line php7/php7.y:1709 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4529,7 +4503,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1712 + //line php7/php7.y:1715 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4537,7 +4511,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1718 + //line php7/php7.y:1721 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4545,7 +4519,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1724 + //line php7/php7.y:1727 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4553,7 +4527,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1730 + //line php7/php7.y:1733 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4561,7 +4535,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1736 + //line php7/php7.y:1739 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4569,7 +4543,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1742 + //line php7/php7.y:1745 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4577,7 +4551,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1748 + //line php7/php7.y:1751 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4585,7 +4559,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1754 + //line php7/php7.y:1757 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4593,7 +4567,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1760 + //line php7/php7.y:1763 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4601,7 +4575,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1766 + //line php7/php7.y:1769 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4609,7 +4583,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1772 + //line php7/php7.y:1775 { yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4617,7 +4591,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1778 + //line php7/php7.y:1781 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4625,19 +4599,19 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1783 + //line php7/php7.y:1786 { yyVAL.node = yyDollar[2].node } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1784 + //line php7/php7.y:1787 { yyVAL.node = yyDollar[1].node } case 347: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1786 + //line php7/php7.y:1789 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4645,7 +4619,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1792 + //line php7/php7.y:1795 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4653,7 +4627,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1798 + //line php7/php7.y:1801 { yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4661,13 +4635,13 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1803 + //line php7/php7.y:1806 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1805 + //line php7/php7.y:1808 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4675,7 +4649,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1811 + //line php7/php7.y:1814 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4683,7 +4657,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1817 + //line php7/php7.y:1820 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4691,7 +4665,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1823 + //line php7/php7.y:1826 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4699,7 +4673,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1829 + //line php7/php7.y:1832 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4707,7 +4681,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1835 + //line php7/php7.y:1838 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4715,7 +4689,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1841 + //line php7/php7.y:1844 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4723,7 +4697,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1847 + //line php7/php7.y:1850 { yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4731,7 +4705,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1853 + //line php7/php7.y:1856 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4739,13 +4713,13 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1858 + //line php7/php7.y:1861 { yyVAL.node = yyDollar[1].node } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1860 + //line php7/php7.y:1863 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4753,7 +4727,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1866 + //line php7/php7.y:1869 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4761,7 +4735,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1872 + //line php7/php7.y:1875 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4769,7 +4743,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1878 + //line php7/php7.y:1881 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4777,7 +4751,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1884 + //line php7/php7.y:1887 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4785,7 +4759,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1890 + //line php7/php7.y:1893 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4793,7 +4767,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:1896 + //line php7/php7.y:1899 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) @@ -4802,7 +4776,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-12 : yypt+1] - //line php7/php7.y:1903 + //line php7/php7.y:1906 { yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) @@ -4811,50 +4785,50 @@ yydefault: } case 369: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1912 + //line php7/php7.y:1915 { yyVAL.str = yylex.(*lexer).PhpDocComment yylex.(*lexer).PhpDocComment = "" } case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1916 + //line php7/php7.y:1919 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1917 + //line php7/php7.y:1920 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1921 + //line php7/php7.y:1924 { yyVAL.list = []node.Node{} } case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1922 + //line php7/php7.y:1925 { yyVAL.list = yyDollar[3].list } case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1926 + //line php7/php7.y:1929 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1927 + //line php7/php7.y:1930 { yyVAL.list = []node.Node{yyDollar[1].node} } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1932 + //line php7/php7.y:1935 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4869,7 +4843,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1945 + //line php7/php7.y:1948 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4884,7 +4858,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1961 + //line php7/php7.y:1964 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4892,7 +4866,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1967 + //line php7/php7.y:1970 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4900,7 +4874,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1973 + //line php7/php7.y:1976 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4908,7 +4882,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1979 + //line php7/php7.y:1982 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4916,7 +4890,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1988 + //line php7/php7.y:1991 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4924,67 +4898,67 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1993 + //line php7/php7.y:1996 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1997 + //line php7/php7.y:2000 { yyVAL.node = yyDollar[1].node } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1998 + //line php7/php7.y:2001 { yyVAL.node = yyDollar[1].node } case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2002 + //line php7/php7.y:2005 { yyVAL.node = nil } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2003 + //line php7/php7.y:2006 { yyVAL.node = yyDollar[2].node } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2007 + //line php7/php7.y:2010 { yyVAL.list = []node.Node{} } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2008 + //line php7/php7.y:2011 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2009 + //line php7/php7.y:2012 { yyVAL.list = yyDollar[1].list } case 391: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2013 + //line php7/php7.y:2016 { yyVAL.nodesWithEndToken = nil } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2014 + //line php7/php7.y:2017 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2019 + //line php7/php7.y:2022 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4992,7 +4966,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2025 + //line php7/php7.y:2028 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5000,7 +4974,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2031 + //line php7/php7.y:2034 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5008,7 +4982,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2040 + //line php7/php7.y:2043 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5016,7 +4990,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2046 + //line php7/php7.y:2049 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5024,7 +4998,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2052 + //line php7/php7.y:2055 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5032,7 +5006,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2058 + //line php7/php7.y:2061 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5040,7 +5014,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2064 + //line php7/php7.y:2067 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5048,7 +5022,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2070 + //line php7/php7.y:2073 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5056,7 +5030,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2076 + //line php7/php7.y:2079 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5064,7 +5038,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2082 + //line php7/php7.y:2085 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5072,7 +5046,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2088 + //line php7/php7.y:2091 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5080,7 +5054,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2094 + //line php7/php7.y:2097 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5088,7 +5062,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2100 + //line php7/php7.y:2103 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5096,7 +5070,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2105 + //line php7/php7.y:2108 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5104,7 +5078,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2111 + //line php7/php7.y:2114 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5112,7 +5086,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2117 + //line php7/php7.y:2120 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5120,19 +5094,19 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2122 + //line php7/php7.y:2125 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2123 + //line php7/php7.y:2126 { yyVAL.node = yyDollar[1].node } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2128 + //line php7/php7.y:2131 { yyVAL.node = expr.NewConstFetch(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5140,7 +5114,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2134 + //line php7/php7.y:2137 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5152,7 +5126,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2144 + //line php7/php7.y:2147 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5164,79 +5138,79 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2156 + //line php7/php7.y:2159 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2157 + //line php7/php7.y:2160 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2161 + //line php7/php7.y:2164 { yyVAL.node = nil } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2162 + //line php7/php7.y:2165 { yyVAL.node = yyDollar[1].node } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2166 + //line php7/php7.y:2169 { yyVAL.node = yyDollar[1].node } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2170 + //line php7/php7.y:2173 { yyVAL.node = yyDollar[1].node } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2171 + //line php7/php7.y:2174 { yyVAL.node = yyDollar[2].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2172 + //line php7/php7.y:2175 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2176 + //line php7/php7.y:2179 { yyVAL.node = yyDollar[1].node } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2177 + //line php7/php7.y:2180 { yyVAL.node = yyDollar[2].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2178 + //line php7/php7.y:2181 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2182 + //line php7/php7.y:2185 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2184 + //line php7/php7.y:2187 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5244,7 +5218,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2190 + //line php7/php7.y:2193 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5252,7 +5226,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2196 + //line php7/php7.y:2199 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5260,7 +5234,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2202 + //line php7/php7.y:2205 { yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5268,25 +5242,25 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2207 + //line php7/php7.y:2210 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2211 + //line php7/php7.y:2214 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2212 + //line php7/php7.y:2215 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2214 + //line php7/php7.y:2217 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5294,7 +5268,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2223 + //line php7/php7.y:2226 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5306,7 +5280,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2233 + //line php7/php7.y:2236 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5314,7 +5288,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2239 + //line php7/php7.y:2242 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5322,7 +5296,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2248 + //line php7/php7.y:2251 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5330,7 +5304,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2254 + //line php7/php7.y:2257 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5338,13 +5312,13 @@ yydefault: } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2262 + //line php7/php7.y:2265 { yyVAL.node = yyDollar[1].node } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2264 + //line php7/php7.y:2267 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5352,7 +5326,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2270 + //line php7/php7.y:2273 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5360,7 +5334,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2276 + //line php7/php7.y:2279 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5368,7 +5342,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2282 + //line php7/php7.y:2285 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5376,7 +5350,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2288 + //line php7/php7.y:2291 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5384,7 +5358,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2297 + //line php7/php7.y:2300 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5392,19 +5366,19 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2302 + //line php7/php7.y:2305 { yyVAL.node = yyDollar[2].node } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2303 + //line php7/php7.y:2306 { yyVAL.node = yyDollar[1].node } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2308 + //line php7/php7.y:2311 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5412,19 +5386,19 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2313 + //line php7/php7.y:2316 { yyVAL.node = yyDollar[2].node } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2314 + //line php7/php7.y:2317 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2319 + //line php7/php7.y:2322 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] @@ -5434,31 +5408,31 @@ yydefault: } case 453: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2329 + //line php7/php7.y:2332 { yyVAL.node = nil } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2330 + //line php7/php7.y:2333 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2335 + //line php7/php7.y:2338 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2336 + //line php7/php7.y:2339 { yyVAL.list = []node.Node{yyDollar[1].node} } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2341 + //line php7/php7.y:2344 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5466,7 +5440,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2347 + //line php7/php7.y:2350 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5474,7 +5448,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2353 + //line php7/php7.y:2356 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5482,7 +5456,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2359 + //line php7/php7.y:2362 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5490,7 +5464,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2365 + //line php7/php7.y:2368 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list) @@ -5503,7 +5477,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2376 + //line php7/php7.y:2379 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list) @@ -5516,13 +5490,13 @@ yydefault: } case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2389 + //line php7/php7.y:2392 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2391 + //line php7/php7.y:2394 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5531,13 +5505,13 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2397 + //line php7/php7.y:2400 { yyVAL.list = []node.Node{yyDollar[1].node} } case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2399 + //line php7/php7.y:2402 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5546,7 +5520,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2409 + //line php7/php7.y:2412 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5558,7 +5532,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2419 + //line php7/php7.y:2422 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5573,7 +5547,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2432 + //line php7/php7.y:2435 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5591,7 +5565,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2448 + //line php7/php7.y:2451 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5599,7 +5573,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2454 + //line php7/php7.y:2457 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5611,7 +5585,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2464 + //line php7/php7.y:2467 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5626,13 +5600,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2477 + //line php7/php7.y:2480 { yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2481 + //line php7/php7.y:2484 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5640,7 +5614,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2487 + //line php7/php7.y:2490 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5654,7 +5628,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2499 + //line php7/php7.y:2502 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { @@ -5674,7 +5648,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2517 + //line php7/php7.y:2520 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5686,7 +5660,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:2530 + //line php7/php7.y:2533 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -5694,7 +5668,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2536 + //line php7/php7.y:2539 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5702,7 +5676,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2542 + //line php7/php7.y:2545 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5710,7 +5684,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2548 + //line php7/php7.y:2551 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5718,7 +5692,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2554 + //line php7/php7.y:2557 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5726,7 +5700,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2560 + //line php7/php7.y:2563 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5734,7 +5708,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2566 + //line php7/php7.y:2569 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5742,19 +5716,19 @@ yydefault: } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2574 + //line php7/php7.y:2577 { yyVAL.list = []node.Node{yyDollar[1].node} } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2575 + //line php7/php7.y:2578 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2579 + //line php7/php7.y:2582 { yyVAL.node = yyDollar[1].node } diff --git a/php7/php7.y b/php7/php7.y index be633d5..df787b6 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -28,40 +28,6 @@ import ( str string } -%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE -%left ',' -%left T_LOGICAL_OR -%left T_LOGICAL_XOR -%left T_LOGICAL_AND -%right T_PRINT -%right T_YIELD -%right T_DOUBLE_ARROW -%right T_YIELD_FROM -%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL -%left '?' ':' -%right T_COALESCE -%left T_BOOLEAN_OR -%left T_BOOLEAN_AND -%left '|' -%left '^' -%left '&' -%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP -%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL -%left T_SL T_SR -%left '+' '-' '.' -%left '*' '/' '%' -%right '!' -%nonassoc T_INSTANCEOF -%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' -%right T_POW -%right '[' -%nonassoc T_NEW T_CLONE -%left T_NOELSE -%left T_ELSEIF -%left T_ELSE -%left T_ENDIF -%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC - %type $unk %token T_INCLUDE %token T_INCLUDE_ONCE @@ -173,6 +139,9 @@ import ( %token T_OBJECT_CAST %token T_BOOL_CAST %token T_UNSET_CAST +%token T_COALESCE +%token T_SPACESHIP +%token T_NOELSE %token '"' %token '`' %token '{' @@ -192,6 +161,40 @@ import ( %token '@' %token '$' +%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE +%left ',' +%left T_LOGICAL_OR +%left T_LOGICAL_XOR +%left T_LOGICAL_AND +%right T_PRINT +%right T_YIELD +%right T_DOUBLE_ARROW +%right T_YIELD_FROM +%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL +%left '?' ':' +%right T_COALESCE +%left T_BOOLEAN_OR +%left T_BOOLEAN_AND +%left '|' +%left '^' +%left '&' +%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP +%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL +%left T_SL T_SR +%left '+' '-' '.' +%left '*' '/' '%' +%right '!' +%nonassoc T_INSTANCEOF +%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' +%right T_POW +%right '[' +%nonassoc T_NEW T_CLONE +%left T_NOELSE +%left T_ELSEIF +%left T_ELSE +%left T_ENDIF +%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC + %type is_reference is_variadic returns_ref %type reserved_non_modifiers diff --git a/scanner/lexer.go b/scanner/lexer.go index 716b319..d63bc3d 100644 --- a/scanner/lexer.go +++ b/scanner/lexer.go @@ -22,140 +22,140 @@ const ( const T_INCLUDE = 57346 const T_INCLUDE_ONCE = 57347 -const T_EVAL = 57348 -const T_REQUIRE = 57349 -const T_REQUIRE_ONCE = 57350 -const T_LOGICAL_OR = 57351 -const T_LOGICAL_XOR = 57352 -const T_LOGICAL_AND = 57353 -const T_PRINT = 57354 -const T_YIELD = 57355 -const T_DOUBLE_ARROW = 57356 -const T_YIELD_FROM = 57357 -const T_PLUS_EQUAL = 57358 -const T_MINUS_EQUAL = 57359 -const T_MUL_EQUAL = 57360 -const T_DIV_EQUAL = 57361 -const T_CONCAT_EQUAL = 57362 -const T_MOD_EQUAL = 57363 -const T_AND_EQUAL = 57364 -const T_OR_EQUAL = 57365 -const T_XOR_EQUAL = 57366 -const T_SL_EQUAL = 57367 -const T_SR_EQUAL = 57368 -const T_POW_EQUAL = 57369 -const T_COALESCE = 57370 -const T_BOOLEAN_OR = 57371 -const T_BOOLEAN_AND = 57372 -const T_IS_EQUAL = 57373 -const T_IS_NOT_EQUAL = 57374 -const T_IS_IDENTICAL = 57375 -const T_IS_NOT_IDENTICAL = 57376 -const T_SPACESHIP = 57377 -const T_IS_SMALLER_OR_EQUAL = 57378 -const T_IS_GREATER_OR_EQUAL = 57379 -const T_SL = 57380 -const T_SR = 57381 -const T_INSTANCEOF = 57382 -const T_INC = 57383 -const T_DEC = 57384 -const T_INT_CAST = 57385 -const T_DOUBLE_CAST = 57386 -const T_STRING_CAST = 57387 -const T_ARRAY_CAST = 57388 -const T_OBJECT_CAST = 57389 -const T_BOOL_CAST = 57390 -const T_UNSET_CAST = 57391 -const T_POW = 57392 -const T_NEW = 57393 -const T_CLONE = 57394 -const T_NOELSE = 57395 -const T_ELSEIF = 57396 -const T_ELSE = 57397 -const T_ENDIF = 57398 -const T_STATIC = 57399 -const T_ABSTRACT = 57400 -const T_FINAL = 57401 -const T_PRIVATE = 57402 -const T_PROTECTED = 57403 -const T_PUBLIC = 57404 -const T_EXIT = 57405 -const T_IF = 57406 -const T_LNUMBER = 57407 -const T_DNUMBER = 57408 -const T_STRING = 57409 -const T_STRING_VARNAME = 57410 -const T_VARIABLE = 57411 -const T_NUM_STRING = 57412 -const T_INLINE_HTML = 57413 -const T_CHARACTER = 57414 -const T_BAD_CHARACTER = 57415 -const T_ENCAPSED_AND_WHITESPACE = 57416 -const T_CONSTANT_ENCAPSED_STRING = 57417 -const T_ECHO = 57418 -const T_DO = 57419 -const T_WHILE = 57420 -const T_ENDWHILE = 57421 -const T_FOR = 57422 -const T_ENDFOR = 57423 -const T_FOREACH = 57424 -const T_ENDFOREACH = 57425 -const T_DECLARE = 57426 -const T_ENDDECLARE = 57427 -const T_AS = 57428 -const T_SWITCH = 57429 -const T_ENDSWITCH = 57430 -const T_CASE = 57431 -const T_DEFAULT = 57432 -const T_BREAK = 57433 -const T_CONTINUE = 57434 -const T_GOTO = 57435 -const T_FUNCTION = 57436 -const T_CONST = 57437 -const T_RETURN = 57438 -const T_TRY = 57439 -const T_CATCH = 57440 -const T_FINALLY = 57441 -const T_THROW = 57442 -const T_USE = 57443 -const T_INSTEADOF = 57444 -const T_GLOBAL = 57445 -const T_VAR = 57446 -const T_UNSET = 57447 -const T_ISSET = 57448 -const T_EMPTY = 57449 -const T_HALT_COMPILER = 57450 -const T_CLASS = 57451 -const T_TRAIT = 57452 -const T_INTERFACE = 57453 -const T_EXTENDS = 57454 -const T_IMPLEMENTS = 57455 -const T_OBJECT_OPERATOR = 57456 -const T_LIST = 57457 -const T_ARRAY = 57458 -const T_CALLABLE = 57459 -const T_CLASS_C = 57460 -const T_TRAIT_C = 57461 -const T_METHOD_C = 57462 -const T_FUNC_C = 57463 -const T_LINE = 57464 -const T_FILE = 57465 -const T_COMMENT = 57466 -const T_DOC_COMMENT = 57467 -const T_OPEN_TAG = 57468 -const T_OPEN_TAG_WITH_ECHO = 57469 -const T_CLOSE_TAG = 57470 -const T_WHITESPACE = 57471 -const T_START_HEREDOC = 57472 -const T_END_HEREDOC = 57473 -const T_DOLLAR_OPEN_CURLY_BRACES = 57474 -const T_CURLY_OPEN = 57475 -const T_PAAMAYIM_NEKUDOTAYIM = 57476 -const T_NAMESPACE = 57477 -const T_NS_C = 57478 -const T_DIR = 57479 -const T_NS_SEPARATOR = 57480 -const T_ELLIPSIS = 57481 +const T_EXIT = 57348 +const T_IF = 57349 +const T_LNUMBER = 57350 +const T_DNUMBER = 57351 +const T_STRING = 57352 +const T_STRING_VARNAME = 57353 +const T_VARIABLE = 57354 +const T_NUM_STRING = 57355 +const T_INLINE_HTML = 57356 +const T_CHARACTER = 57357 +const T_BAD_CHARACTER = 57358 +const T_ENCAPSED_AND_WHITESPACE = 57359 +const T_CONSTANT_ENCAPSED_STRING = 57360 +const T_ECHO = 57361 +const T_DO = 57362 +const T_WHILE = 57363 +const T_ENDWHILE = 57364 +const T_FOR = 57365 +const T_ENDFOR = 57366 +const T_FOREACH = 57367 +const T_ENDFOREACH = 57368 +const T_DECLARE = 57369 +const T_ENDDECLARE = 57370 +const T_AS = 57371 +const T_SWITCH = 57372 +const T_ENDSWITCH = 57373 +const T_CASE = 57374 +const T_DEFAULT = 57375 +const T_BREAK = 57376 +const T_CONTINUE = 57377 +const T_GOTO = 57378 +const T_FUNCTION = 57379 +const T_CONST = 57380 +const T_RETURN = 57381 +const T_TRY = 57382 +const T_CATCH = 57383 +const T_FINALLY = 57384 +const T_THROW = 57385 +const T_USE = 57386 +const T_INSTEADOF = 57387 +const T_GLOBAL = 57388 +const T_VAR = 57389 +const T_UNSET = 57390 +const T_ISSET = 57391 +const T_EMPTY = 57392 +const T_HALT_COMPILER = 57393 +const T_CLASS = 57394 +const T_TRAIT = 57395 +const T_INTERFACE = 57396 +const T_EXTENDS = 57397 +const T_IMPLEMENTS = 57398 +const T_OBJECT_OPERATOR = 57399 +const T_DOUBLE_ARROW = 57400 +const T_LIST = 57401 +const T_ARRAY = 57402 +const T_CALLABLE = 57403 +const T_CLASS_C = 57404 +const T_TRAIT_C = 57405 +const T_METHOD_C = 57406 +const T_FUNC_C = 57407 +const T_LINE = 57408 +const T_FILE = 57409 +const T_COMMENT = 57410 +const T_DOC_COMMENT = 57411 +const T_OPEN_TAG = 57412 +const T_OPEN_TAG_WITH_ECHO = 57413 +const T_CLOSE_TAG = 57414 +const T_WHITESPACE = 57415 +const T_START_HEREDOC = 57416 +const T_END_HEREDOC = 57417 +const T_DOLLAR_OPEN_CURLY_BRACES = 57418 +const T_CURLY_OPEN = 57419 +const T_PAAMAYIM_NEKUDOTAYIM = 57420 +const T_NAMESPACE = 57421 +const T_NS_C = 57422 +const T_DIR = 57423 +const T_NS_SEPARATOR = 57424 +const T_ELLIPSIS = 57425 +const T_EVAL = 57426 +const T_REQUIRE = 57427 +const T_REQUIRE_ONCE = 57428 +const T_LOGICAL_OR = 57429 +const T_LOGICAL_XOR = 57430 +const T_LOGICAL_AND = 57431 +const T_INSTANCEOF = 57432 +const T_NEW = 57433 +const T_CLONE = 57434 +const T_ELSEIF = 57435 +const T_ELSE = 57436 +const T_ENDIF = 57437 +const T_PRINT = 57438 +const T_YIELD = 57439 +const T_STATIC = 57440 +const T_ABSTRACT = 57441 +const T_FINAL = 57442 +const T_PRIVATE = 57443 +const T_PROTECTED = 57444 +const T_PUBLIC = 57445 +const T_INC = 57446 +const T_DEC = 57447 +const T_YIELD_FROM = 57448 +const T_INT_CAST = 57449 +const T_DOUBLE_CAST = 57450 +const T_STRING_CAST = 57451 +const T_ARRAY_CAST = 57452 +const T_OBJECT_CAST = 57453 +const T_BOOL_CAST = 57454 +const T_UNSET_CAST = 57455 +const T_COALESCE = 57456 +const T_SPACESHIP = 57457 +const T_NOELSE = 57458 +const T_PLUS_EQUAL = 57459 +const T_MINUS_EQUAL = 57460 +const T_MUL_EQUAL = 57461 +const T_DIV_EQUAL = 57462 +const T_CONCAT_EQUAL = 57463 +const T_MOD_EQUAL = 57464 +const T_AND_EQUAL = 57465 +const T_OR_EQUAL = 57466 +const T_XOR_EQUAL = 57467 +const T_SL_EQUAL = 57468 +const T_SR_EQUAL = 57469 +const T_POW_EQUAL = 57470 +const T_BOOLEAN_OR = 57471 +const T_BOOLEAN_AND = 57472 +const T_IS_EQUAL = 57473 +const T_IS_NOT_EQUAL = 57474 +const T_IS_IDENTICAL = 57475 +const T_IS_NOT_IDENTICAL = 57476 +const T_IS_SMALLER_OR_EQUAL = 57477 +const T_IS_GREATER_OR_EQUAL = 57478 +const T_SL = 57479 +const T_SR = 57480 +const T_POW = 57481 type Lval interface { Token(tkn t.Token) From 4794d3e213dee8c84c6b542fba2aa462a6e2657f Mon Sep 17 00:00:00 2001 From: z7zmey Date: Mon, 29 Jan 2018 16:22:04 +0200 Subject: [PATCH 06/31] php5 syntax --- php5/php5.go | 1091 ++++++++++++++++++++++++++------------------------ php5/php5.y | 93 +++-- 2 files changed, 629 insertions(+), 555 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 324e3af..67eca76 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -9,9 +9,10 @@ import ( // "strconv" "github.com/z7zmey/php-parser/node" - "github.com/z7zmey/php-parser/token" // "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/name" - "github.com/z7zmey/php-parser/node/stmt" // "github.com/z7zmey/php-parser/node/expr" + "github.com/z7zmey/php-parser/node/scalar" + "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/token" // "github.com/z7zmey/php-parser/node/expr" // "github.com/z7zmey/php-parser/node/expr/assign_op" // "github.com/z7zmey/php-parser/node/expr/binary_op" // "github.com/z7zmey/php-parser/node/expr/cast" @@ -341,7 +342,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1472 +//line php5/php5.y:1515 //line yacctab:1 var yyExca = [...]int{ @@ -1357,25 +1358,25 @@ var yyPact = [...]int{ } var yyPgo = [...]int{ - 0, 1389, 49, 45, 37, 51, 0, 1387, 1367, 1364, - 1363, 25, 1360, 1358, 1357, 3, 2, 1357, 1353, 22, - 1351, 1350, 1345, 1343, 1342, 1341, 1339, 1338, 1336, 1334, - 1332, 1330, 1313, 18, 1312, 1309, 1292, 1288, 1287, 1285, - 1472, 39, 1310, 46, 1284, 1283, 1282, 1281, 1279, 28, - 30, 1275, 11, 1274, 1273, 1272, 1271, 1269, 1266, 1265, - 1264, 1263, 1262, 13, 1260, 1259, 1258, 1257, 1256, 1255, - 1, 1254, 1253, 36, 1250, 1249, 12, 1248, 20, 1247, - 4, 1245, 1244, 1204, 1201, 27, 1200, 1199, 1198, 29, - 1197, 15, 42, 21, 1194, 1193, 1192, 1191, 1190, 34, - 1189, 53, 1188, 35, 61, 47, 66, 1187, 1185, 1184, - 1181, 1180, 1177, 1175, 1173, 1172, 1171, 1170, 1169, 1168, - 8, 1167, 1166, 1151, 1150, 1122, 1121, 6, 1119, 1118, - 1117, 16, 24, 1116, 309, 1115, 1114, 1113, 1112, 804, - 43, 1111, 26, 1110, 1104, 833, 1103, 1102, 1100, 1097, - 1096, 1095, 1094, 1093, 1091, 1087, 1086, 1085, 1084, 1076, - 1074, 1073, 17, 1071, 1070, 52, 1069, 1066, 1065, 1064, - 1063, 504, 60, 1062, 32, 1061, 1196, 1059, 1058, 1057, - 1054, 33, 1053, 14, 1052, 1051, 1050, 668, 598, 1049, + 0, 1389, 49, 45, 37, 598, 51, 0, 1387, 1367, + 1364, 1363, 25, 1360, 1358, 1357, 3, 2, 1357, 1353, + 22, 1351, 1350, 1345, 1343, 1342, 1341, 1339, 1338, 1336, + 1334, 1332, 1330, 1313, 18, 1312, 1309, 1292, 1288, 1287, + 1285, 1472, 39, 1310, 46, 1284, 1283, 1282, 1281, 1279, + 28, 30, 1275, 11, 1274, 1273, 1272, 1271, 1269, 1266, + 1265, 1264, 1263, 1262, 13, 1260, 1259, 1258, 1257, 1256, + 1255, 1, 1254, 1253, 36, 1250, 1249, 12, 1248, 20, + 1247, 4, 1245, 1244, 1204, 1201, 27, 1200, 1199, 1198, + 29, 1197, 15, 42, 21, 1194, 1193, 1192, 1191, 1190, + 34, 1189, 53, 1188, 35, 61, 47, 66, 1187, 1185, + 1184, 1181, 1180, 1177, 1175, 1173, 1172, 1171, 1170, 1169, + 1168, 8, 1167, 1166, 1151, 1150, 1122, 1121, 6, 1119, + 1118, 1117, 16, 24, 1116, 309, 1115, 1114, 1113, 1112, + 804, 43, 1111, 26, 1110, 1104, 833, 1103, 1102, 1100, + 1097, 1096, 1095, 1094, 1093, 1091, 1087, 1086, 1085, 1084, + 1076, 1074, 1073, 17, 1071, 1070, 52, 1069, 1066, 1065, + 1064, 1063, 504, 60, 1062, 32, 1061, 1196, 1059, 1058, + 1057, 1054, 33, 1053, 14, 1052, 1051, 1050, 668, 1049, 106, 1047, 41, 1041, 1037, 1036, 1035, 31, 1034, 1033, 1031, 7, 1030, 1029, 1028, 1027, 1025, 5, 19, 1024, 1022, 1019, 1010, 1009, 57, 1001, 1000, 50, 999, 998, @@ -1383,64 +1384,64 @@ var yyPgo = [...]int{ } var yyR1 = [...]int{ - 0, 10, 5, 5, 6, 6, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 7, 7, 2, - 2, 2, 2, 8, 8, 3, 3, 3, 3, 9, - 9, 4, 4, 4, 4, 14, 14, 16, 16, 17, - 17, 17, 17, 11, 11, 18, 20, 21, 18, 24, - 25, 18, 28, 29, 18, 31, 32, 18, 34, 35, - 36, 18, 38, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 48, 51, - 18, 53, 54, 18, 55, 18, 18, 58, 60, 18, - 18, 18, 59, 62, 64, 65, 66, 59, 61, 68, - 61, 67, 67, 69, 69, 71, 72, 70, 47, 47, - 73, 12, 13, 76, 76, 77, 77, 79, 74, 83, - 75, 87, 75, 81, 81, 81, 81, 82, 82, 86, - 88, 88, 84, 84, 89, 89, 50, 50, 49, 49, - 90, 49, 37, 37, 52, 52, 57, 57, 56, 56, - 39, 39, 39, 39, 92, 94, 92, 95, 92, 93, - 93, 30, 30, 22, 96, 22, 26, 97, 26, 23, - 23, 27, 27, 80, 80, 98, 98, 99, 99, 100, - 100, 100, 100, 101, 101, 101, 102, 102, 103, 103, - 103, 103, 44, 44, 105, 105, 105, 45, 45, 45, - 45, 85, 85, 109, 107, 107, 107, 114, 107, 112, - 116, 116, 117, 117, 118, 118, 119, 119, 120, 120, - 121, 124, 124, 125, 125, 123, 122, 122, 126, 126, - 115, 115, 108, 108, 113, 113, 128, 128, 127, 127, - 127, 127, 127, 127, 110, 110, 110, 110, 111, 111, - 46, 46, 33, 33, 130, 129, 129, 131, 131, 133, - 133, 136, 135, 135, 135, 137, 138, 137, 141, 139, - 143, 41, 41, 41, 144, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 146, 41, 147, 41, 148, 41, 149, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 150, - 41, 151, 152, 41, 153, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 156, 41, 41, 41, 41, - 41, 41, 41, 161, 41, 163, 41, 43, 43, 43, - 43, 158, 158, 158, 158, 159, 159, 78, 162, 162, - 166, 166, 166, 166, 168, 167, 169, 167, 170, 167, - 173, 167, 175, 167, 177, 167, 178, 167, 179, 167, - 171, 171, 171, 171, 63, 63, 63, 140, 140, 182, - 184, 180, 180, 185, 185, 186, 155, 155, 155, 160, - 160, 160, 142, 142, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 189, 15, 190, 190, + 0, 11, 6, 6, 7, 7, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 8, 8, 2, + 2, 2, 2, 9, 9, 3, 3, 3, 3, 10, + 10, 4, 4, 4, 4, 15, 15, 17, 17, 18, + 18, 18, 18, 12, 12, 19, 21, 22, 19, 25, + 26, 19, 29, 30, 19, 32, 33, 19, 35, 36, + 37, 19, 39, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 49, 52, + 19, 54, 55, 19, 56, 19, 19, 59, 61, 19, + 19, 19, 60, 63, 65, 66, 67, 60, 62, 69, + 62, 68, 68, 70, 70, 72, 73, 71, 48, 48, + 74, 13, 14, 77, 77, 78, 78, 80, 75, 84, + 76, 88, 76, 82, 82, 82, 82, 83, 83, 87, + 89, 89, 85, 85, 90, 90, 51, 51, 50, 50, + 91, 50, 38, 38, 53, 53, 58, 58, 57, 57, + 40, 40, 40, 40, 93, 95, 93, 96, 93, 94, + 94, 31, 31, 23, 97, 23, 27, 98, 27, 24, + 24, 28, 28, 81, 81, 99, 99, 100, 100, 101, + 101, 101, 101, 102, 102, 102, 103, 103, 104, 104, + 104, 104, 45, 45, 106, 106, 106, 46, 46, 46, + 46, 86, 86, 110, 108, 108, 108, 115, 108, 113, + 117, 117, 118, 118, 119, 119, 120, 120, 121, 121, + 122, 125, 125, 126, 126, 124, 123, 123, 127, 127, + 116, 116, 109, 109, 114, 114, 129, 129, 128, 128, + 128, 128, 128, 128, 111, 111, 111, 111, 112, 112, + 47, 47, 34, 34, 131, 130, 130, 132, 132, 134, + 134, 137, 136, 136, 136, 138, 139, 138, 142, 140, + 144, 42, 42, 42, 145, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 147, 42, 148, 42, 149, 42, 150, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 151, + 42, 152, 153, 42, 154, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 157, 42, 42, 42, 42, + 42, 42, 42, 162, 42, 164, 42, 44, 44, 44, + 44, 159, 159, 159, 159, 160, 160, 79, 163, 163, + 167, 167, 167, 167, 169, 168, 170, 168, 171, 168, + 174, 168, 176, 168, 178, 168, 179, 168, 180, 168, + 172, 172, 172, 172, 64, 64, 64, 141, 141, 183, + 185, 181, 181, 186, 186, 187, 156, 156, 156, 161, + 161, 161, 143, 143, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 189, 16, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 164, 164, 164, 164, 157, 157, 157, 157, 157, - 157, 157, 192, 192, 197, 197, 196, 196, 196, 196, - 40, 40, 19, 19, 106, 104, 145, 199, 200, 42, - 42, 202, 202, 203, 132, 204, 204, 206, 205, 201, - 201, 201, 174, 174, 209, 209, 176, 210, 211, 210, - 198, 198, 198, 181, 181, 181, 207, 207, 207, 212, - 212, 134, 134, 183, 183, 213, 213, 213, 172, 172, - 208, 208, 91, 91, 214, 215, 214, 214, 165, 165, - 216, 216, 216, 216, 216, 216, 216, 216, 187, 187, - 187, 187, 217, 218, 217, 217, 217, 217, 217, 219, - 219, 219, 154, 154, 154, 154, 154, 154, 154, 154, + 193, 165, 165, 165, 165, 158, 158, 158, 158, 158, + 158, 158, 192, 192, 197, 197, 196, 196, 196, 196, + 41, 41, 20, 20, 107, 105, 146, 199, 200, 43, + 43, 202, 202, 203, 133, 204, 204, 206, 205, 201, + 201, 201, 175, 175, 209, 209, 177, 210, 211, 210, + 198, 198, 198, 182, 182, 182, 207, 207, 207, 212, + 212, 135, 135, 184, 184, 213, 213, 213, 173, 173, + 208, 208, 92, 92, 214, 215, 214, 214, 166, 166, + 216, 216, 216, 216, 216, 216, 216, 216, 188, 188, + 188, 188, 217, 218, 217, 217, 217, 217, 217, 219, + 219, 219, 155, 155, 155, 155, 155, 155, 155, 155, 220, 222, 220, 221, 221, 194, 194, 191, 195, } var yyR2 = [...]int{ @@ -1507,115 +1508,115 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -10, -5, -1, -11, -12, -13, 51, 79, 44, - -14, -18, 10, -74, -75, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -43, 46, 98, 19, 14, - -40, 48, 25, 27, 121, 40, 43, 36, -78, -81, - -86, 97, -106, -41, 37, 52, 99, 53, 100, 54, - -42, 59, 92, -145, 104, 105, 130, 129, 131, 132, - -19, -139, 123, -154, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -157, -158, -159, 118, 96, -198, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -164, -195, - -188, 117, 74, 62, 18, 60, 125, -181, -210, -167, - -194, -6, 82, -171, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -207, -208, -209, -176, -174, -212, 134, - 12, 123, -6, 119, 82, 10, -7, 37, 38, -2, - -6, 82, 121, 135, 122, 10, -16, -19, 123, -28, - -31, 123, -19, 121, -40, 97, -78, 98, 79, 121, - -40, 121, -41, -42, -40, 121, -44, -105, 12, 134, - -45, -78, 12, -46, -40, 121, 149, 150, 87, 89, + -1000, -11, -6, -1, -12, -13, -14, 51, 79, 44, + -15, -19, 10, -75, -76, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -44, 46, 98, 19, 14, + -41, 48, 25, 27, 121, 40, 43, 36, -79, -82, + -87, 97, -107, -42, 37, 52, 99, 53, 100, 54, + -43, 59, 92, -146, 104, 105, 130, 129, 131, 132, + -20, -140, 123, -155, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -158, -159, -160, 118, 96, -198, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -165, -195, + -5, 117, 74, 62, 18, 60, 125, -182, -210, -168, + -194, -7, 82, -172, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -207, -208, -209, -177, -175, -212, 134, + 12, 123, -7, 119, 82, 10, -8, 37, 38, -2, + -7, 82, 121, 135, 122, 10, -17, -20, 123, -29, + -32, 123, -20, 121, -41, 97, -79, 98, 79, 121, + -41, 121, -42, -43, -41, 121, -45, -106, 12, 134, + -46, -79, 12, -47, -41, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -55, -58, -40, 10, -76, - 128, 10, 10, -41, -42, -40, 52, 52, 136, 137, + 160, 90, 127, 123, 123, -56, -59, -41, 10, -77, + 128, 10, 10, -42, -43, -41, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -40, 104, 105, -145, -42, -6, 79, 82, - -171, -176, 98, -145, -40, -40, -40, -40, -139, -40, - -43, -40, -40, -40, -40, -40, -40, -40, -155, 123, - -19, -156, 125, 125, -160, 17, -187, -217, 12, 76, - 77, -40, 57, -140, -171, -180, -6, 79, 82, -181, - -207, -208, -176, 123, 123, -40, -40, 123, -40, -40, - 125, -187, 17, 17, 75, -187, 125, 123, -165, -216, - -40, 128, 125, -211, 82, -168, -6, 78, 125, 119, - -207, 134, 78, -179, 119, 124, 121, 119, -5, -6, - 121, 135, -8, -3, -6, 82, -9, -4, -6, 82, - 29, -6, 10, 136, 120, -20, 122, -19, -11, -33, - -129, -40, -38, 121, -76, 121, 121, 121, 121, 135, - -106, 119, -42, 121, 135, -76, 136, 121, 135, -146, - -147, -148, -149, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -140, -151, 122, -47, -73, -42, - -42, -41, 123, 119, 121, 121, 10, -161, -82, 55, - -87, 58, -40, 128, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -143, 82, -6, 78, - 78, 124, 124, 124, 124, -40, -134, -40, -134, 118, - -217, -217, 17, 125, 57, -40, 11, -42, -199, -141, - 78, 82, -6, 57, -207, 78, -220, -221, -42, -41, - -42, -41, -40, -134, 117, 75, 75, -134, -165, 126, - -197, 135, 58, -104, -42, -134, 125, 10, -101, 123, - -170, -172, -174, 10, 52, 119, -207, -208, -134, -40, - -172, -174, 10, -101, -40, 121, -5, 120, -169, -2, - 121, 135, 29, -6, 121, 135, 29, -6, 10, 29, - 136, -15, -190, -188, -191, -6, 79, 82, 60, 125, - -189, 62, -193, 18, 74, -171, 131, 132, 130, 129, - 123, -11, -24, -29, 21, 121, 135, -39, 119, 122, - -105, -40, 12, -163, -15, -40, -40, -40, -40, -40, - -40, -153, 124, 135, 29, 29, -56, 10, -16, -79, - 123, -83, -63, -6, 79, 82, -88, 55, -41, -42, - -42, 91, -91, -214, -42, 59, -6, 10, -150, 126, - 126, -218, 10, 120, 125, 120, -183, -213, -174, -172, - -142, -101, -174, -6, -182, -174, 124, 135, 124, 124, - 124, 126, 126, 124, -40, 128, -40, 128, 126, -134, - 124, -102, -43, -103, -41, -42, 128, 83, -101, -173, - -175, -40, -207, 126, 120, -177, -178, 120, 120, -101, - -3, 10, 29, -4, 10, 29, 10, -15, 125, 130, + 147, 123, -41, 104, 105, -146, -43, -7, 79, 82, + -172, -177, 98, -146, -41, -41, -41, -41, -140, -41, + -44, -41, -41, -41, -41, -41, -41, -41, -156, 123, + -20, -157, 125, 125, -161, 17, -188, -217, 12, 76, + 77, -41, 57, -141, -172, -181, -7, 79, 82, -182, + -207, -208, -177, 123, 123, -41, -41, 123, -41, -41, + 125, -188, 17, 17, 75, -188, 125, 123, -166, -216, + -41, 128, 125, -211, 82, -169, -7, 78, 125, 119, + -207, 134, 78, -180, 119, 124, 121, 119, -6, -7, + 121, 135, -9, -3, -7, 82, -10, -4, -7, 82, + 29, -7, 10, 136, 120, -21, 122, -20, -12, -34, + -130, -41, -39, 121, -77, 121, 121, 121, 121, 135, + -107, 119, -43, 121, 135, -77, 136, 121, 135, -147, + -148, -149, -150, -41, -41, -41, -41, -41, -41, -41, + -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, + -41, -41, -41, -41, -141, -152, 122, -48, -74, -43, + -43, -42, 123, 119, 121, 121, 10, -162, -83, 55, + -88, 58, -41, 128, -41, -41, -41, -41, -41, -41, + -41, -41, -41, -41, -41, -41, -144, 82, -7, 78, + 78, 124, 124, 124, 124, -41, -135, -41, -135, 118, + -217, -217, 17, 125, 57, -41, 11, -43, -199, -142, + 78, 82, -7, 57, -207, 78, -220, -221, -43, -42, + -43, -42, -41, -135, 117, 75, 75, -135, -166, 126, + -197, 135, 58, -105, -43, -135, 125, 10, -102, 123, + -171, -173, -175, 10, 52, 119, -207, -208, -135, -41, + -173, -175, 10, -102, -41, 121, -6, 120, -170, -2, + 121, 135, 29, -7, 121, 135, 29, -7, 10, 29, + 136, -16, -190, -5, -191, -7, 79, 82, 60, 125, + -189, 62, -193, 18, 74, -172, 131, 132, 130, 129, + 123, -12, -25, -30, 21, 121, 135, -40, 119, 122, + -106, -41, 12, -164, -16, -41, -41, -41, -41, -41, + -41, -154, 124, 135, 29, 29, -57, 10, -17, -80, + 123, -84, -64, -7, 79, 82, -89, 55, -42, -43, + -43, 91, -92, -214, -43, 59, -7, 10, -151, 126, + 126, -218, 10, 120, 125, 120, -184, -213, -175, -173, + -143, -102, -175, -7, -183, -175, 124, 135, 124, 124, + 124, 126, 126, 124, -41, 128, -41, 128, 126, -135, + 124, -103, -44, -104, -42, -43, 128, 83, -102, -174, + -176, -41, -207, 126, 120, -178, -179, 120, 120, -102, + -3, 10, 29, -4, 10, 29, 10, -16, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, - 157, 159, 158, 160, 127, 82, -6, 123, -192, -196, - -190, 17, 78, -190, -190, -190, -190, -190, -21, -16, - -30, -11, 122, -32, -34, -130, -92, 121, -92, 121, - 120, 136, 123, 122, -40, 121, -73, -48, -53, 124, - 135, 136, 120, 123, -80, -98, -99, -100, 60, 61, - -63, -84, 56, 82, -6, 119, -89, -63, -140, 124, - 135, 123, -137, -138, -219, 10, 13, 12, -40, -200, - 125, 119, -183, -222, 58, -104, -104, 126, 124, 135, - 124, -104, -40, -101, -101, 120, -101, -101, 10, 10, + 157, 159, 158, 160, 127, 82, -7, 123, -192, -196, + -190, 17, 78, -190, -190, -190, -190, -190, -22, -17, + -31, -12, 122, -33, -35, -131, -93, 121, -93, 121, + 120, 136, 123, 122, -41, 121, -74, -49, -54, 124, + 135, 136, 120, 123, -81, -99, -100, -101, 60, 61, + -64, -85, 56, 82, -7, 119, -90, -64, -141, 124, + 135, 123, -138, -139, -219, 10, 13, 12, -41, -200, + 125, 119, -184, -222, 58, -105, -105, 126, 124, 135, + 124, -105, -41, -102, -102, 120, -102, -102, 10, 10, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, 122, -190, -6, -192, - 126, -197, 135, 58, 10, 52, 124, -22, -25, -16, - -19, -33, -40, 120, 32, 33, -92, 31, -92, -15, - -80, -152, -49, -42, 128, 59, -49, -57, -11, 122, - 10, -15, -59, 41, -80, 124, 135, -76, 119, -89, - -6, -85, 135, -144, 136, -214, -215, -135, -133, -131, - 125, -132, 57, 126, 126, -201, -205, -204, -206, -134, - -40, -184, -221, -40, 128, -103, 126, -190, 122, 124, - -190, -190, -23, 93, 94, -26, 22, 121, 121, -40, - -93, 122, 121, 120, 121, 31, 124, -40, -50, 58, - -42, 123, -50, -16, 136, -60, 123, 124, -162, 44, - -99, -77, 83, -85, 120, -107, -108, -111, -112, -113, - -128, 47, 38, 44, -127, 103, 102, 101, 98, 99, - 100, -63, -142, -40, -91, 125, -136, -132, -134, -183, - 120, -202, 125, 125, -101, 126, 120, -185, -104, -190, - 58, -19, -11, -27, 93, 94, 121, -35, -93, -95, - 121, -162, 124, -49, -90, 124, 28, -15, -61, 42, - -62, 119, 119, 123, 12, 120, -109, 121, 135, -78, - -127, 10, -116, -63, 124, -134, -131, 126, -203, -132, - -134, -134, -186, 57, -190, -96, 95, -19, 122, -33, - -94, -16, 119, -51, -91, -54, 121, -68, -63, -16, - -16, -166, 12, 128, 136, -110, 12, 10, -76, 136, - -117, 135, 121, 119, 126, -201, 126, 126, -183, -11, - 121, 122, -16, 124, -16, -16, -52, -11, 122, 124, - -52, 119, -64, 120, 120, 124, 135, 12, -15, 121, - 135, 136, 136, 10, -15, -63, -118, -119, -120, -121, - -122, -123, -125, -63, 10, -97, -36, 120, -16, -16, - 12, 12, 128, 12, -15, -15, -114, 120, -120, 121, - 121, 45, 29, 78, -16, -37, -11, 122, 26, 120, - 124, 12, 136, 123, -124, -63, -126, -127, 10, -16, - 121, -65, -15, -80, 135, 10, 24, 119, 124, -63, - 121, -16, -115, 121, 119, 120, -16, -66, 120, -67, - -69, -70, 41, -70, 123, -63, -71, 12, 124, -72, - 119, -16, 120, + -190, -190, -190, -190, -190, -190, 122, -190, -7, -192, + 126, -197, 135, 58, 10, 52, 124, -23, -26, -17, + -20, -34, -41, 120, 32, 33, -93, 31, -93, -16, + -81, -153, -50, -43, 128, 59, -50, -58, -12, 122, + 10, -16, -60, 41, -81, 124, 135, -77, 119, -90, + -7, -86, 135, -145, 136, -214, -215, -136, -134, -132, + 125, -133, 57, 126, 126, -201, -205, -204, -206, -135, + -41, -185, -221, -41, 128, -104, 126, -190, 122, 124, + -190, -190, -24, 93, 94, -27, 22, 121, 121, -41, + -94, 122, 121, 120, 121, 31, 124, -41, -51, 58, + -43, 123, -51, -17, 136, -61, 123, 124, -163, 44, + -100, -78, 83, -86, 120, -108, -109, -112, -113, -114, + -129, 47, 38, 44, -128, 103, 102, 101, 98, 99, + 100, -64, -143, -41, -92, 125, -137, -133, -135, -184, + 120, -202, 125, 125, -102, 126, 120, -186, -105, -190, + 58, -20, -12, -28, 93, 94, 121, -36, -94, -96, + 121, -163, 124, -50, -91, 124, 28, -16, -62, 42, + -63, 119, 119, 123, 12, 120, -110, 121, 135, -79, + -128, 10, -117, -64, 124, -135, -132, 126, -203, -133, + -135, -135, -187, 57, -190, -97, 95, -20, 122, -34, + -95, -17, 119, -52, -92, -55, 121, -69, -64, -17, + -17, -167, 12, 128, 136, -111, 12, 10, -77, 136, + -118, 135, 121, 119, 126, -201, 126, 126, -184, -12, + 121, 122, -17, 124, -17, -17, -53, -12, 122, 124, + -53, 119, -65, 120, 120, 124, 135, 12, -16, 121, + 135, 136, 136, 10, -16, -64, -119, -120, -121, -122, + -123, -124, -126, -64, 10, -98, -37, 120, -17, -17, + 12, 12, 128, 12, -16, -16, -115, 120, -121, 121, + 121, 45, 29, 78, -17, -38, -12, 122, 26, 120, + 124, 12, 136, 123, -125, -64, -127, -128, 10, -17, + 121, -66, -16, -81, 135, 10, 24, 119, 124, -64, + 121, -17, -116, 121, 119, 120, -17, -67, 120, -68, + -70, -71, 41, -71, 123, -64, -72, 12, 124, -73, + 119, -17, 120, } var yyDef = [...]int{ @@ -4038,867 +4039,897 @@ yydefault: } case 412: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1142 + //line php5/php5.y:1141 { } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1143 + //line php5/php5.y:1142 { } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1148 + //line php5/php5.y:1147 { + yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1153 { + yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1158 { + yyVAL.node = nil } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1160 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1152 + //line php5/php5.y:1166 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1153 + //line php5/php5.y:1172 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1154 + //line php5/php5.y:1178 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 421: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1155 + //line php5/php5.y:1184 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1156 + //line php5/php5.y:1190 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1157 + //line php5/php5.y:1196 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1201 { + yyVAL.node = nil } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1159 - { - } - case 426: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1163 - { - } - case 427: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1167 - { - } - case 428: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1171 - { - } - case 429: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1172 - { - } - case 430: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1173 - { - } - case 431: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1174 - { - } - case 432: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1175 - { - } - case 433: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1176 - { - } - case 434: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1177 - { - } - case 435: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1178 - { - } - case 436: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1179 - { - } - case 437: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1180 - { - } - case 438: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1184 - { - } - case 439: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1185 - { - } - case 440: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1186 - { - } - case 441: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1187 - { - } - case 442: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1188 - { - } - case 443: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1189 - { - } - case 444: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1190 - { - } - case 445: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1191 - { - } - case 446: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1192 - { - } - case 447: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1193 - { - } - case 448: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1194 - { - } - case 449: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1195 - { - } - case 450: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1196 - { - } - case 451: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1197 - { - } - case 452: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1198 - { - } - case 453: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1199 - { - } - case 454: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1200 - { - } - case 455: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1201 - { - } - case 456: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1202 { + yyVAL.node = nil } - case 457: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1203 - { - } - case 458: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1204 - { - } - case 459: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1205 - { - } - case 460: + case 426: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1206 { } - case 461: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1207 - { - } - case 462: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1208 - { - } - case 463: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1209 - { - } - case 464: - yyDollar = yyS[yypt-3 : yypt+1] + case 427: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1210 { } - case 465: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1211 - { - } - case 466: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1212 - { - } - case 467: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1213 - { - } - case 468: - yyDollar = yyS[yypt-2 : yypt+1] + case 428: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1214 { } - case 469: - yyDollar = yyS[yypt-2 : yypt+1] + case 429: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1215 { } - case 470: - yyDollar = yyS[yypt-3 : yypt+1] + case 430: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1216 { } - case 471: - yyDollar = yyS[yypt-1 : yypt+1] + case 431: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1217 + { + } + case 432: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1218 + { + } + case 433: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1219 + { + } + case 434: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1220 { } - case 472: + case 435: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1221 { } - case 473: - yyDollar = yyS[yypt-3 : yypt+1] + case 436: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1222 { } - case 474: - yyDollar = yyS[yypt-2 : yypt+1] + case 437: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1223 { } - case 475: - yyDollar = yyS[yypt-1 : yypt+1] + case 438: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1227 { } - case 476: - yyDollar = yyS[yypt-1 : yypt+1] + case 439: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1228 { } - case 477: - yyDollar = yyS[yypt-1 : yypt+1] + case 440: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1229 { } - case 478: - yyDollar = yyS[yypt-1 : yypt+1] + case 441: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1230 { } - case 479: + case 442: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1231 { } - case 480: + case 443: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1232 { } - case 481: - yyDollar = yyS[yypt-1 : yypt+1] + case 444: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1233 { } - case 482: - yyDollar = yyS[yypt-0 : yypt+1] + case 445: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1234 + { + } + case 446: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1235 + { + } + case 447: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1236 + { + } + case 448: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1237 { } - case 483: - yyDollar = yyS[yypt-2 : yypt+1] + case 449: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1238 { } - case 486: - yyDollar = yyS[yypt-5 : yypt+1] + case 450: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1239 + { + } + case 451: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1240 + { + } + case 452: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1241 + { + } + case 453: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1242 + { + } + case 454: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1243 + { + } + case 455: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1244 + { + } + case 456: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1245 + { + } + case 457: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1246 + { + } + case 458: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1247 { } - case 487: + case 459: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1248 { } - case 488: + case 460: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1249 { } - case 489: - yyDollar = yyS[yypt-1 : yypt+1] + case 461: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1250 { } - case 490: - yyDollar = yyS[yypt-1 : yypt+1] + case 462: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1251 + { + } + case 463: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1252 + { + } + case 464: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1253 + { + } + case 465: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1254 { } - case 491: - yyDollar = yyS[yypt-1 : yypt+1] + case 466: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1255 { } - case 492: + case 467: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1256 + { + } + case 468: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1257 + { + } + case 469: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1258 + { + } + case 470: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1259 { } - case 493: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1260 + case 471: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1263 { } - case 494: + case 472: yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1264 + { + } + case 473: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1265 { } - case 495: + case 474: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1266 + { + } + case 475: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1270 { } + case 476: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1271 + { + } + case 477: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1272 + { + } + case 478: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1273 + { + } + case 479: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1274 + { + } + case 480: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1275 + { + } + case 481: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1276 + { + } + case 482: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1280 + { + } + case 483: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1281 + { + } + case 486: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1290 + { + } + case 487: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1291 + { + } + case 488: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1292 + { + } + case 489: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1293 + { + } + case 490: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1297 + { + } + case 491: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1298 + { + } + case 492: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1302 + { + } + case 493: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1303 + { + } + case 494: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1308 + { + } + case 495: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1313 + { + } case 496: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1274 + //line php5/php5.y:1317 { } case 497: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1278 + //line php5/php5.y:1321 { } case 498: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1279 + //line php5/php5.y:1322 { } case 499: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1280 + //line php5/php5.y:1323 { } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1324 { } case 501: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1285 + //line php5/php5.y:1328 { } case 502: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1286 + //line php5/php5.y:1329 { } case 503: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1291 + //line php5/php5.y:1334 { } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1291 + //line php5/php5.y:1334 { } case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1295 + //line php5/php5.y:1338 { } case 506: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1296 + //line php5/php5.y:1339 { } case 507: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1300 + //line php5/php5.y:1343 { } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1301 + //line php5/php5.y:1344 { } case 509: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1348 { } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1306 + //line php5/php5.y:1349 { } case 511: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1307 + //line php5/php5.y:1350 { } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1311 + //line php5/php5.y:1354 { } case 513: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1312 + //line php5/php5.y:1355 { } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1316 + //line php5/php5.y:1359 { } case 515: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1317 + //line php5/php5.y:1360 { } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1365 { } case 517: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1326 + //line php5/php5.y:1369 { } case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1370 { } case 519: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1328 + //line php5/php5.y:1371 { } case 520: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1375 { } case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1333 + //line php5/php5.y:1376 { } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1334 + //line php5/php5.y:1377 { } case 523: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1339 + //line php5/php5.y:1382 { } case 524: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1340 + //line php5/php5.y:1383 { } case 525: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1384 { } case 526: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1388 { } case 527: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1346 + //line php5/php5.y:1389 { } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1347 + //line php5/php5.y:1390 { } case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1352 + //line php5/php5.y:1395 { } case 530: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1353 + //line php5/php5.y:1396 { } case 531: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1357 + //line php5/php5.y:1400 { } case 532: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1358 + //line php5/php5.y:1401 { } case 533: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1363 + //line php5/php5.y:1406 { } case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1364 + //line php5/php5.y:1407 { } case 535: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1368 + //line php5/php5.y:1411 { } case 536: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1369 + //line php5/php5.y:1412 { } case 537: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1370 + //line php5/php5.y:1413 { } case 538: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1374 + //line php5/php5.y:1417 { } case 539: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1375 + //line php5/php5.y:1418 { } case 540: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1379 + //line php5/php5.y:1422 { } case 541: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1380 + //line php5/php5.y:1423 { } case 544: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1390 + //line php5/php5.y:1433 { } case 545: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1391 + //line php5/php5.y:1434 { } case 546: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1391 + //line php5/php5.y:1434 { } case 547: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1392 + //line php5/php5.y:1435 { } case 548: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1397 + //line php5/php5.y:1440 { } case 549: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1398 + //line php5/php5.y:1441 { } case 550: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1402 + //line php5/php5.y:1445 { } case 551: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1403 + //line php5/php5.y:1446 { } case 552: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1404 + //line php5/php5.y:1447 { } case 553: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1405 + //line php5/php5.y:1448 { } case 554: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1406 + //line php5/php5.y:1449 { } case 555: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1407 + //line php5/php5.y:1450 { } case 556: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1408 + //line php5/php5.y:1451 { } case 557: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1409 + //line php5/php5.y:1452 { } case 558: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1413 + //line php5/php5.y:1456 { } case 559: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1414 + //line php5/php5.y:1457 { } case 560: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1415 + //line php5/php5.y:1458 { } case 561: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1416 + //line php5/php5.y:1459 { } case 562: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1422 + //line php5/php5.y:1465 { } case 563: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1466 { } case 564: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1466 { } case 565: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1424 + //line php5/php5.y:1467 { } case 566: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1425 + //line php5/php5.y:1468 { } case 567: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1426 + //line php5/php5.y:1469 { } case 568: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1427 + //line php5/php5.y:1470 { } case 569: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1432 + //line php5/php5.y:1475 { } case 570: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1433 + //line php5/php5.y:1476 { } case 571: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1477 { } case 572: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1482 { } case 573: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1440 + //line php5/php5.y:1483 { } case 574: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1441 + //line php5/php5.y:1484 { } case 575: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1485 { } case 576: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1443 + //line php5/php5.y:1486 { } case 577: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1444 + //line php5/php5.y:1487 { } case 578: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1488 { } case 579: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1446 + //line php5/php5.y:1489 { } case 580: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1493 { } case 581: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1494 { } case 582: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1494 { } case 583: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1455 + //line php5/php5.y:1498 { } case 584: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1499 { } case 585: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1460 + //line php5/php5.y:1503 { } case 586: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1461 + //line php5/php5.y:1504 { } case 587: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1465 + //line php5/php5.y:1508 { } case 588: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1469 + //line php5/php5.y:1512 { } } diff --git a/php5/php5.y b/php5/php5.y index 7fbe6a5..f74bada 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -7,7 +7,7 @@ import ( "github.com/z7zmey/php-parser/token" "github.com/z7zmey/php-parser/node" -// "github.com/z7zmey/php-parser/node/scalar" + "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/stmt" // "github.com/z7zmey/php-parser/node/expr" @@ -191,7 +191,7 @@ import ( %left T_ENDIF %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC -%type top_statement use_declaration use_function_declaration use_const_declaration +%type top_statement use_declaration use_function_declaration use_const_declaration common_scalar %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations @@ -1137,26 +1137,69 @@ backticks_expr: | encaps_list { } ; - ctor_arguments: /* empty */ { } | function_call_parameter_list { } ; - common_scalar: - T_LNUMBER { } - | T_DNUMBER { } - | T_CONSTANT_ENCAPSED_STRING { } - | T_LINE { } - | T_FILE { } - | T_DIR { } - | T_TRAIT_C { } - | T_METHOD_C { } - | T_FUNC_C { } - | T_NS_C { } - | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { } - | T_START_HEREDOC T_END_HEREDOC { } + T_LNUMBER + { + $$ = scalar.NewLnumber($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_DNUMBER + { + $$ = scalar.NewDnumber($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_CONSTANT_ENCAPSED_STRING { $$ = nil } + | T_LINE + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FILE + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_DIR + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_TRAIT_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_METHOD_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FUNC_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { $$ = nil } + | T_START_HEREDOC T_END_HEREDOC { $$ = nil } ; static_class_constant: @@ -1169,15 +1212,15 @@ static_scalar: /* compile-time evaluated scalars */ static_scalar_value: common_scalar { } - | static_class_name_scalar { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } - | T_ARRAY '(' static_array_pair_list ')' { } - | '[' static_array_pair_list ']' { } - | static_class_constant { } - | T_CLASS_C { } - | static_operation { } + | static_class_name_scalar { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } + | T_ARRAY '(' static_array_pair_list ')' { } + | '[' static_array_pair_list ']' { } + | static_class_constant { } + | T_CLASS_C { } + | static_operation { } ; static_operation: From 59d644ec9ab316921c1dce869f48adedd0de48b2 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Mon, 29 Jan 2018 16:37:09 +0200 Subject: [PATCH 07/31] php5 syntax --- php5/php5.go | 1523 ++++++++++++++++++++++++++------------------------ php5/php5.y | 69 ++- 2 files changed, 835 insertions(+), 757 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 67eca76..43db885 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -9,10 +9,12 @@ import ( // "strconv" "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/token" // "github.com/z7zmey/php-parser/node/expr" + "github.com/z7zmey/php-parser/token" + // "github.com/z7zmey/php-parser/node/expr/assign_op" // "github.com/z7zmey/php-parser/node/expr/binary_op" // "github.com/z7zmey/php-parser/node/expr/cast" @@ -342,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1515 +//line php5/php5.y:1560 //line yacctab:1 var yyExca = [...]int{ @@ -699,44 +701,44 @@ var yyAct = [...]int{ 562, 987, 537, 488, 457, 1005, 386, 1013, 322, 713, 202, 1018, 201, 198, 1019, 505, 135, 436, 704, 561, 289, 806, 495, 495, 505, 1024, 1025, 944, 543, 567, - 118, 505, 505, 505, 505, 505, 1028, 872, 1034, 293, - 819, 1013, 98, 873, 115, 818, 871, 816, 817, 938, - 891, 709, 543, 428, 78, 649, 89, 100, 230, 1047, - 1049, 502, 1036, 495, 543, 1045, 1052, 494, 1053, 500, - 942, 897, 821, 574, 265, 543, 264, 303, 606, 605, - 1061, 600, 599, 460, 478, 295, 99, 1066, 1059, 961, - 88, 523, 1073, 387, 254, 543, 75, 878, 879, 880, - 877, 876, 875, 1081, 74, 73, 251, 248, 1075, 493, - 230, 63, 230, 531, 781, 375, 558, 352, 493, 925, - 351, 230, 350, 349, 803, 493, 493, 493, 493, 493, - 406, 429, 703, 702, 886, 807, 808, 665, 330, 870, - 888, 1046, 1012, 505, 505, 505, 505, 505, 505, 505, + 293, 505, 505, 505, 505, 505, 1028, 872, 1034, 98, + 819, 1013, 115, 873, 818, 816, 871, 817, 938, 891, + 709, 428, 543, 78, 649, 89, 100, 502, 230, 1047, + 1049, 494, 1036, 495, 543, 1045, 1052, 942, 1053, 897, + 821, 574, 265, 303, 606, 543, 264, 605, 600, 599, + 1061, 460, 478, 295, 99, 961, 88, 1066, 1059, 523, + 387, 254, 1073, 75, 74, 543, 73, 878, 879, 880, + 877, 876, 875, 1081, 251, 248, 63, 531, 1075, 493, + 230, 781, 230, 375, 558, 352, 351, 350, 493, 925, + 349, 230, 803, 406, 429, 493, 493, 493, 493, 493, + 703, 702, 886, 807, 808, 665, 330, 870, 1046, 1012, + 888, 1044, 1011, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 1044, 1011, 505, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 1010, 1009, 1007, 1006, - 970, 932, 1062, 1026, 618, 869, 505, 868, 620, 619, - 867, 965, 230, 230, 926, 866, 505, 865, 591, 687, - 685, 1015, 945, 909, 950, 935, 116, 914, 546, 390, - 40, 691, 940, 941, 541, 230, 640, 642, 641, 643, + 1010, 1009, 505, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 1007, 1006, 970, 932, + 1062, 1026, 869, 868, 618, 867, 505, 965, 620, 619, + 926, 866, 230, 230, 865, 591, 505, 687, 685, 1015, + 945, 909, 950, 914, 546, 935, 116, 390, 40, 691, + 541, 388, 940, 941, 39, 230, 640, 642, 641, 643, 628, 629, 630, 621, 623, 624, 622, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, - 493, 493, 493, 493, 388, 39, 493, 539, 861, 14, - 13, 231, 231, 1079, 1076, 1070, 957, 1069, 1067, 1051, - 992, 505, 920, 918, 855, 792, 196, 505, 505, 787, - 493, 536, 195, 955, 678, 953, 272, 900, 337, 677, - 493, 377, 163, 160, 156, 517, 618, 332, 1035, 230, - 620, 619, 1016, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 633, 631, 632, 907, - 50, 230, 664, 663, 638, 639, 636, 637, 640, 642, + 493, 493, 493, 493, 539, 861, 493, 14, 13, 1079, + 1076, 231, 231, 1070, 957, 1069, 1067, 1051, 992, 920, + 918, 505, 855, 792, 196, 787, 536, 505, 505, 195, + 493, 955, 678, 953, 677, 377, 272, 900, 337, 163, + 493, 160, 156, 517, 332, 1035, 618, 1016, 907, 230, + 620, 619, 664, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 633, 631, 632, 663, + 50, 230, 140, 660, 638, 639, 636, 637, 640, 642, 641, 643, 628, 629, 630, 621, 623, 624, 622, 230, - 140, 872, 660, 505, 513, 153, 139, 873, 903, 835, - 871, 768, 512, 832, 618, 767, 644, 626, 620, 619, - 658, 325, 204, 11, 230, 493, 231, 10, 6, 505, - 5, 493, 493, 1, 316, 226, 226, 312, 635, 634, + 513, 872, 139, 505, 903, 153, 835, 873, 768, 512, + 871, 832, 767, 658, 618, 325, 644, 626, 620, 619, + 11, 10, 204, 6, 230, 493, 231, 5, 1, 505, + 316, 493, 493, 312, 126, 226, 226, 118, 635, 634, 625, 627, 638, 639, 636, 637, 640, 642, 641, 643, - 628, 629, 630, 621, 623, 624, 622, 126, 272, 3, + 628, 629, 630, 621, 623, 624, 622, 500, 272, 3, 231, 878, 879, 880, 877, 876, 875, 0, 0, 0, 0, 0, 0, 0, 618, 505, 644, 626, 620, 619, 0, 0, 0, 864, 0, 0, 0, 0, 0, 230, @@ -1358,91 +1360,91 @@ var yyPact = [...]int{ } var yyPgo = [...]int{ - 0, 1389, 49, 45, 37, 598, 51, 0, 1387, 1367, - 1364, 1363, 25, 1360, 1358, 1357, 3, 2, 1357, 1353, - 22, 1351, 1350, 1345, 1343, 1342, 1341, 1339, 1338, 1336, - 1334, 1332, 1330, 1313, 18, 1312, 1309, 1292, 1288, 1287, - 1285, 1472, 39, 1310, 46, 1284, 1283, 1282, 1281, 1279, - 28, 30, 1275, 11, 1274, 1273, 1272, 1271, 1269, 1266, - 1265, 1264, 1263, 1262, 13, 1260, 1259, 1258, 1257, 1256, - 1255, 1, 1254, 1253, 36, 1250, 1249, 12, 1248, 20, - 1247, 4, 1245, 1244, 1204, 1201, 27, 1200, 1199, 1198, - 29, 1197, 15, 42, 21, 1194, 1193, 1192, 1191, 1190, - 34, 1189, 53, 1188, 35, 61, 47, 66, 1187, 1185, - 1184, 1181, 1180, 1177, 1175, 1173, 1172, 1171, 1170, 1169, - 1168, 8, 1167, 1166, 1151, 1150, 1122, 1121, 6, 1119, - 1118, 1117, 16, 24, 1116, 309, 1115, 1114, 1113, 1112, - 804, 43, 1111, 26, 1110, 1104, 833, 1103, 1102, 1100, - 1097, 1096, 1095, 1094, 1093, 1091, 1087, 1086, 1085, 1084, - 1076, 1074, 1073, 17, 1071, 1070, 52, 1069, 1066, 1065, - 1064, 1063, 504, 60, 1062, 32, 1061, 1196, 1059, 1058, - 1057, 1054, 33, 1053, 14, 1052, 1051, 1050, 668, 1049, - 106, 1047, 41, 1041, 1037, 1036, 1035, 31, 1034, 1033, - 1031, 7, 1030, 1029, 1028, 1027, 1025, 5, 19, 1024, + 0, 1389, 49, 45, 37, 598, 1387, 1367, 5, 504, + 1196, 51, 0, 1364, 1363, 1360, 1358, 25, 1357, 1353, + 1351, 3, 2, 1351, 1350, 22, 1345, 1343, 1342, 1341, + 1339, 1338, 1336, 1334, 1332, 1330, 1313, 1312, 1309, 18, + 1292, 1288, 1287, 1285, 1284, 1283, 1472, 39, 1310, 46, + 1282, 1281, 1279, 1275, 1274, 28, 30, 1273, 11, 1272, + 1271, 1269, 1266, 1265, 1264, 1263, 1262, 1260, 1259, 13, + 1258, 1257, 1256, 1255, 1254, 1253, 1, 1250, 1249, 36, + 1248, 1247, 12, 1245, 20, 1244, 4, 1204, 1201, 1200, + 1199, 27, 1198, 1197, 1194, 29, 1193, 15, 42, 21, + 1192, 1191, 1190, 1189, 1188, 34, 1187, 53, 1185, 35, + 61, 47, 66, 1184, 1181, 1180, 1177, 1175, 1173, 1172, + 1171, 1170, 1169, 1168, 1167, 1166, 8, 1151, 1150, 1122, + 1121, 1119, 1118, 6, 1117, 1116, 1115, 16, 24, 1114, + 309, 1113, 1112, 1111, 1110, 804, 43, 1104, 26, 1103, + 1102, 833, 1100, 1097, 1096, 1095, 1094, 1093, 1091, 1087, + 1086, 1085, 1084, 1076, 1074, 1073, 1071, 1070, 17, 1069, + 1066, 52, 1065, 1064, 1063, 1062, 1061, 60, 1059, 32, + 1058, 1057, 1054, 1053, 1052, 33, 1051, 14, 1050, 1049, + 1047, 668, 106, 1041, 41, 1037, 1036, 1035, 1034, 31, + 1033, 1031, 1030, 7, 1029, 1028, 1027, 1025, 1024, 19, 1022, 1019, 1010, 1009, 57, 1001, 1000, 50, 999, 998, 997, 38, 989, } var yyR1 = [...]int{ - 0, 11, 6, 6, 7, 7, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 8, 8, 2, - 2, 2, 2, 9, 9, 3, 3, 3, 3, 10, - 10, 4, 4, 4, 4, 15, 15, 17, 17, 18, - 18, 18, 18, 12, 12, 19, 21, 22, 19, 25, - 26, 19, 29, 30, 19, 32, 33, 19, 35, 36, - 37, 19, 39, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 49, 52, - 19, 54, 55, 19, 56, 19, 19, 59, 61, 19, - 19, 19, 60, 63, 65, 66, 67, 60, 62, 69, - 62, 68, 68, 70, 70, 72, 73, 71, 48, 48, - 74, 13, 14, 77, 77, 78, 78, 80, 75, 84, - 76, 88, 76, 82, 82, 82, 82, 83, 83, 87, - 89, 89, 85, 85, 90, 90, 51, 51, 50, 50, - 91, 50, 38, 38, 53, 53, 58, 58, 57, 57, - 40, 40, 40, 40, 93, 95, 93, 96, 93, 94, - 94, 31, 31, 23, 97, 23, 27, 98, 27, 24, - 24, 28, 28, 81, 81, 99, 99, 100, 100, 101, - 101, 101, 101, 102, 102, 102, 103, 103, 104, 104, - 104, 104, 45, 45, 106, 106, 106, 46, 46, 46, - 46, 86, 86, 110, 108, 108, 108, 115, 108, 113, - 117, 117, 118, 118, 119, 119, 120, 120, 121, 121, - 122, 125, 125, 126, 126, 124, 123, 123, 127, 127, - 116, 116, 109, 109, 114, 114, 129, 129, 128, 128, - 128, 128, 128, 128, 111, 111, 111, 111, 112, 112, - 47, 47, 34, 34, 131, 130, 130, 132, 132, 134, - 134, 137, 136, 136, 136, 138, 139, 138, 142, 140, - 144, 42, 42, 42, 145, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 147, 42, 148, 42, 149, 42, 150, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 151, - 42, 152, 153, 42, 154, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 157, 42, 42, 42, 42, - 42, 42, 42, 162, 42, 164, 42, 44, 44, 44, - 44, 159, 159, 159, 159, 160, 160, 79, 163, 163, - 167, 167, 167, 167, 169, 168, 170, 168, 171, 168, - 174, 168, 176, 168, 178, 168, 179, 168, 180, 168, - 172, 172, 172, 172, 64, 64, 64, 141, 141, 183, - 185, 181, 181, 186, 186, 187, 156, 156, 156, 161, - 161, 161, 143, 143, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 189, 16, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 165, 165, 165, 165, 158, 158, 158, 158, 158, - 158, 158, 192, 192, 197, 197, 196, 196, 196, 196, - 41, 41, 20, 20, 107, 105, 146, 199, 200, 43, - 43, 202, 202, 203, 133, 204, 204, 206, 205, 201, - 201, 201, 175, 175, 209, 209, 177, 210, 211, 210, - 198, 198, 198, 182, 182, 182, 207, 207, 207, 212, - 212, 135, 135, 184, 184, 213, 213, 213, 173, 173, - 208, 208, 92, 92, 214, 215, 214, 214, 166, 166, - 216, 216, 216, 216, 216, 216, 216, 216, 188, 188, - 188, 188, 217, 218, 217, 217, 217, 217, 217, 219, - 219, 219, 155, 155, 155, 155, 155, 155, 155, 155, - 220, 222, 220, 221, 221, 194, 194, 191, 195, + 0, 16, 11, 11, 12, 12, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 13, 13, 2, + 2, 2, 2, 14, 14, 3, 3, 3, 3, 15, + 15, 4, 4, 4, 4, 20, 20, 22, 22, 23, + 23, 23, 23, 17, 17, 24, 26, 27, 24, 30, + 31, 24, 34, 35, 24, 37, 38, 24, 40, 41, + 42, 24, 44, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 54, 57, + 24, 59, 60, 24, 61, 24, 24, 64, 66, 24, + 24, 24, 65, 68, 70, 71, 72, 65, 67, 74, + 67, 73, 73, 75, 75, 77, 78, 76, 53, 53, + 79, 18, 19, 82, 82, 83, 83, 85, 80, 89, + 81, 93, 81, 87, 87, 87, 87, 88, 88, 92, + 94, 94, 90, 90, 95, 95, 56, 56, 55, 55, + 96, 55, 43, 43, 58, 58, 63, 63, 62, 62, + 45, 45, 45, 45, 98, 100, 98, 101, 98, 99, + 99, 36, 36, 28, 102, 28, 32, 103, 32, 29, + 29, 33, 33, 86, 86, 104, 104, 105, 105, 106, + 106, 106, 106, 107, 107, 107, 108, 108, 109, 109, + 109, 109, 50, 50, 111, 111, 111, 51, 51, 51, + 51, 91, 91, 115, 113, 113, 113, 120, 113, 118, + 122, 122, 123, 123, 124, 124, 125, 125, 126, 126, + 127, 130, 130, 131, 131, 129, 128, 128, 132, 132, + 121, 121, 114, 114, 119, 119, 134, 134, 133, 133, + 133, 133, 133, 133, 116, 116, 116, 116, 117, 117, + 52, 52, 39, 39, 136, 135, 135, 137, 137, 139, + 139, 142, 141, 141, 141, 143, 144, 143, 147, 145, + 149, 47, 47, 47, 150, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 152, 47, 153, 47, 154, 47, 155, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 156, + 47, 157, 158, 47, 159, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 162, 47, 47, 47, 47, + 47, 47, 47, 167, 47, 169, 47, 49, 49, 49, + 49, 164, 164, 164, 164, 165, 165, 84, 168, 168, + 172, 172, 172, 172, 174, 173, 175, 173, 176, 173, + 178, 173, 180, 173, 181, 173, 182, 173, 183, 173, + 9, 9, 9, 9, 69, 69, 69, 146, 146, 186, + 188, 184, 184, 189, 189, 190, 161, 161, 161, 166, + 166, 166, 148, 148, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 6, 21, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 170, 170, 170, 170, 163, 163, 163, 163, 163, + 163, 163, 194, 194, 199, 199, 198, 198, 198, 198, + 46, 46, 25, 25, 112, 110, 151, 201, 202, 48, + 48, 204, 204, 205, 138, 206, 206, 208, 207, 203, + 203, 203, 179, 179, 210, 210, 10, 211, 212, 211, + 200, 200, 200, 185, 185, 185, 8, 8, 8, 7, + 7, 140, 140, 187, 187, 213, 213, 213, 177, 177, + 209, 209, 97, 97, 214, 215, 214, 214, 171, 171, + 216, 216, 216, 216, 216, 216, 216, 216, 191, 191, + 191, 191, 217, 218, 217, 217, 217, 217, 217, 219, + 219, 219, 160, 160, 160, 160, 160, 160, 160, 160, + 220, 222, 220, 221, 221, 196, 196, 193, 197, } var yyR2 = [...]int{ @@ -1508,115 +1510,115 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -11, -6, -1, -12, -13, -14, 51, 79, 44, - -15, -19, 10, -75, -76, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -44, 46, 98, 19, 14, - -41, 48, 25, 27, 121, 40, 43, 36, -79, -82, - -87, 97, -107, -42, 37, 52, 99, 53, 100, 54, - -43, 59, 92, -146, 104, 105, 130, 129, 131, 132, - -20, -140, 123, -155, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -158, -159, -160, 118, 96, -198, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -165, -195, - -5, 117, 74, 62, 18, 60, 125, -182, -210, -168, - -194, -7, 82, -172, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -207, -208, -209, -177, -175, -212, 134, - 12, 123, -7, 119, 82, 10, -8, 37, 38, -2, - -7, 82, 121, 135, 122, 10, -17, -20, 123, -29, - -32, 123, -20, 121, -41, 97, -79, 98, 79, 121, - -41, 121, -42, -43, -41, 121, -45, -106, 12, 134, - -46, -79, 12, -47, -41, 121, 149, 150, 87, 89, + -1000, -16, -11, -1, -17, -18, -19, 51, 79, 44, + -20, -24, 10, -80, -81, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, + -46, 48, 25, 27, 121, 40, 43, 36, -84, -87, + -92, 97, -112, -47, 37, 52, 99, 53, 100, 54, + -48, 59, 92, -151, 104, 105, 130, 129, 131, 132, + -25, -145, 123, -160, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -163, -164, -165, 118, 96, -200, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -170, -197, + -5, 117, 74, 62, 18, 60, 125, -185, -211, -173, + -196, -12, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -209, -210, -10, -179, -7, 134, + 12, 123, -12, 119, 82, 10, -13, 37, 38, -2, + -12, 82, 121, 135, 122, 10, -22, -25, 123, -34, + -37, 123, -25, 121, -46, 97, -84, 98, 79, 121, + -46, 121, -47, -48, -46, 121, -50, -111, 12, 134, + -51, -84, 12, -52, -46, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -56, -59, -41, 10, -77, - 128, 10, 10, -42, -43, -41, 52, 52, 136, 137, + 160, 90, 127, 123, 123, -61, -64, -46, 10, -82, + 128, 10, 10, -47, -48, -46, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -41, 104, 105, -146, -43, -7, 79, 82, - -172, -177, 98, -146, -41, -41, -41, -41, -140, -41, - -44, -41, -41, -41, -41, -41, -41, -41, -156, 123, - -20, -157, 125, 125, -161, 17, -188, -217, 12, 76, - 77, -41, 57, -141, -172, -181, -7, 79, 82, -182, - -207, -208, -177, 123, 123, -41, -41, 123, -41, -41, - 125, -188, 17, 17, 75, -188, 125, 123, -166, -216, - -41, 128, 125, -211, 82, -169, -7, 78, 125, 119, - -207, 134, 78, -180, 119, 124, 121, 119, -6, -7, - 121, 135, -9, -3, -7, 82, -10, -4, -7, 82, - 29, -7, 10, 136, 120, -21, 122, -20, -12, -34, - -130, -41, -39, 121, -77, 121, 121, 121, 121, 135, - -107, 119, -43, 121, 135, -77, 136, 121, 135, -147, - -148, -149, -150, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -141, -152, 122, -48, -74, -43, - -43, -42, 123, 119, 121, 121, 10, -162, -83, 55, - -88, 58, -41, 128, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -144, 82, -7, 78, - 78, 124, 124, 124, 124, -41, -135, -41, -135, 118, - -217, -217, 17, 125, 57, -41, 11, -43, -199, -142, - 78, 82, -7, 57, -207, 78, -220, -221, -43, -42, - -43, -42, -41, -135, 117, 75, 75, -135, -166, 126, - -197, 135, 58, -105, -43, -135, 125, 10, -102, 123, - -171, -173, -175, 10, 52, 119, -207, -208, -135, -41, - -173, -175, 10, -102, -41, 121, -6, 120, -170, -2, - 121, 135, 29, -7, 121, 135, 29, -7, 10, 29, - 136, -16, -190, -5, -191, -7, 79, 82, 60, 125, - -189, 62, -193, 18, 74, -172, 131, 132, 130, 129, - 123, -12, -25, -30, 21, 121, 135, -40, 119, 122, - -106, -41, 12, -164, -16, -41, -41, -41, -41, -41, - -41, -154, 124, 135, 29, 29, -57, 10, -17, -80, - 123, -84, -64, -7, 79, 82, -89, 55, -42, -43, - -43, 91, -92, -214, -43, 59, -7, 10, -151, 126, - 126, -218, 10, 120, 125, 120, -184, -213, -175, -173, - -143, -102, -175, -7, -183, -175, 124, 135, 124, 124, - 124, 126, 126, 124, -41, 128, -41, 128, 126, -135, - 124, -103, -44, -104, -42, -43, 128, 83, -102, -174, - -176, -41, -207, 126, 120, -178, -179, 120, 120, -102, - -3, 10, 29, -4, 10, 29, 10, -16, 125, 130, + 147, 123, -46, 104, 105, -151, -48, -12, 79, 82, + -9, -10, 98, -151, -46, -46, -46, -46, -145, -46, + -49, -46, -46, -46, -46, -46, -46, -46, -161, 123, + -25, -162, 125, 125, -166, 17, -191, -217, 12, 76, + 77, -46, 57, -146, -9, -184, -12, 79, 82, -185, + -8, -209, -10, 123, 123, -46, -46, 123, -46, -46, + 125, -191, 17, 17, 75, -191, 125, 123, -171, -216, + -46, 128, 125, -212, 82, -174, -12, 78, 125, 119, + -8, 134, 78, -183, 119, 124, 121, 119, -11, -12, + 121, 135, -14, -3, -12, 82, -15, -4, -12, 82, + 29, -12, 10, 136, 120, -26, 122, -25, -17, -39, + -135, -46, -44, 121, -82, 121, 121, 121, 121, 135, + -112, 119, -48, 121, 135, -82, 136, 121, 135, -152, + -153, -154, -155, -46, -46, -46, -46, -46, -46, -46, + -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, + -46, -46, -46, -46, -146, -157, 122, -53, -79, -48, + -48, -47, 123, 119, 121, 121, 10, -167, -88, 55, + -93, 58, -46, 128, -46, -46, -46, -46, -46, -46, + -46, -46, -46, -46, -46, -46, -149, 82, -12, 78, + 78, 124, 124, 124, 124, -46, -140, -46, -140, 118, + -217, -217, 17, 125, 57, -46, 11, -48, -201, -147, + 78, 82, -12, 57, -8, 78, -220, -221, -48, -47, + -48, -47, -46, -140, 117, 75, 75, -140, -171, 126, + -199, 135, 58, -110, -48, -140, 125, 10, -107, 123, + -176, -177, -179, 10, 52, 119, -8, -209, -140, -46, + -177, -179, 10, -107, -46, 121, -11, 120, -175, -2, + 121, 135, 29, -12, 121, 135, 29, -12, 10, 29, + 136, -21, -192, -5, -193, -12, 79, 82, 60, 125, + -6, 62, -195, 18, 74, -9, 131, 132, 130, 129, + 123, -17, -30, -35, 21, 121, 135, -45, 119, 122, + -111, -46, 12, -169, -21, -46, -46, -46, -46, -46, + -46, -159, 124, 135, 29, 29, -62, 10, -22, -85, + 123, -89, -69, -12, 79, 82, -94, 55, -47, -48, + -48, 91, -97, -214, -48, 59, -12, 10, -156, 126, + 126, -218, 10, 120, 125, 120, -187, -213, -179, -177, + -148, -107, -179, -12, -186, -179, 124, 135, 124, 124, + 124, 126, 126, 124, -46, 128, -46, 128, 126, -140, + 124, -108, -49, -109, -47, -48, 128, 83, -107, -178, + -180, -46, -8, 126, 120, -181, -182, 120, 120, -107, + -3, 10, 29, -4, 10, 29, 10, -21, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, - 157, 159, 158, 160, 127, 82, -7, 123, -192, -196, - -190, 17, 78, -190, -190, -190, -190, -190, -22, -17, - -31, -12, 122, -33, -35, -131, -93, 121, -93, 121, - 120, 136, 123, 122, -41, 121, -74, -49, -54, 124, - 135, 136, 120, 123, -81, -99, -100, -101, 60, 61, - -64, -85, 56, 82, -7, 119, -90, -64, -141, 124, - 135, 123, -138, -139, -219, 10, 13, 12, -41, -200, - 125, 119, -184, -222, 58, -105, -105, 126, 124, 135, - 124, -105, -41, -102, -102, 120, -102, -102, 10, 10, - -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, 122, -190, -7, -192, - 126, -197, 135, 58, 10, 52, 124, -23, -26, -17, - -20, -34, -41, 120, 32, 33, -93, 31, -93, -16, - -81, -153, -50, -43, 128, 59, -50, -58, -12, 122, - 10, -16, -60, 41, -81, 124, 135, -77, 119, -90, - -7, -86, 135, -145, 136, -214, -215, -136, -134, -132, - 125, -133, 57, 126, 126, -201, -205, -204, -206, -135, - -41, -185, -221, -41, 128, -104, 126, -190, 122, 124, - -190, -190, -24, 93, 94, -27, 22, 121, 121, -41, - -94, 122, 121, 120, 121, 31, 124, -41, -51, 58, - -43, 123, -51, -17, 136, -61, 123, 124, -163, 44, - -100, -78, 83, -86, 120, -108, -109, -112, -113, -114, - -129, 47, 38, 44, -128, 103, 102, 101, 98, 99, - 100, -64, -143, -41, -92, 125, -137, -133, -135, -184, - 120, -202, 125, 125, -102, 126, 120, -186, -105, -190, - 58, -20, -12, -28, 93, 94, 121, -36, -94, -96, - 121, -163, 124, -50, -91, 124, 28, -16, -62, 42, - -63, 119, 119, 123, 12, 120, -110, 121, 135, -79, - -128, 10, -117, -64, 124, -135, -132, 126, -203, -133, - -135, -135, -187, 57, -190, -97, 95, -20, 122, -34, - -95, -17, 119, -52, -92, -55, 121, -69, -64, -17, - -17, -167, 12, 128, 136, -111, 12, 10, -77, 136, - -118, 135, 121, 119, 126, -201, 126, 126, -184, -12, - 121, 122, -17, 124, -17, -17, -53, -12, 122, 124, - -53, 119, -65, 120, 120, 124, 135, 12, -16, 121, - 135, 136, 136, 10, -16, -64, -119, -120, -121, -122, - -123, -124, -126, -64, 10, -98, -37, 120, -17, -17, - 12, 12, 128, 12, -16, -16, -115, 120, -121, 121, - 121, 45, 29, 78, -17, -38, -12, 122, 26, 120, - 124, 12, 136, 123, -125, -64, -127, -128, 10, -17, - 121, -66, -16, -81, 135, 10, 24, 119, 124, -64, - 121, -17, -116, 121, 119, 120, -17, -67, 120, -68, - -70, -71, 41, -71, 123, -64, -72, 12, 124, -73, - 119, -17, 120, + 157, 159, 158, 160, 127, 82, -12, 123, -194, -198, + -192, 17, 78, -192, -192, -192, -192, -192, -27, -22, + -36, -17, 122, -38, -40, -136, -98, 121, -98, 121, + 120, 136, 123, 122, -46, 121, -79, -54, -59, 124, + 135, 136, 120, 123, -86, -104, -105, -106, 60, 61, + -69, -90, 56, 82, -12, 119, -95, -69, -146, 124, + 135, 123, -143, -144, -219, 10, 13, 12, -46, -202, + 125, 119, -187, -222, 58, -110, -110, 126, 124, 135, + 124, -110, -46, -107, -107, 120, -107, -107, 10, 10, + -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, + -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, + -192, -192, -192, -192, -192, -192, 122, -192, -12, -194, + 126, -199, 135, 58, 10, 52, 124, -28, -31, -22, + -25, -39, -46, 120, 32, 33, -98, 31, -98, -21, + -86, -158, -55, -48, 128, 59, -55, -63, -17, 122, + 10, -21, -65, 41, -86, 124, 135, -82, 119, -95, + -12, -91, 135, -150, 136, -214, -215, -141, -139, -137, + 125, -138, 57, 126, 126, -203, -207, -206, -208, -140, + -46, -188, -221, -46, 128, -109, 126, -192, 122, 124, + -192, -192, -29, 93, 94, -32, 22, 121, 121, -46, + -99, 122, 121, 120, 121, 31, 124, -46, -56, 58, + -48, 123, -56, -22, 136, -66, 123, 124, -168, 44, + -105, -83, 83, -91, 120, -113, -114, -117, -118, -119, + -134, 47, 38, 44, -133, 103, 102, 101, 98, 99, + 100, -69, -148, -46, -97, 125, -142, -138, -140, -187, + 120, -204, 125, 125, -107, 126, 120, -189, -110, -192, + 58, -25, -17, -33, 93, 94, 121, -41, -99, -101, + 121, -168, 124, -55, -96, 124, 28, -21, -67, 42, + -68, 119, 119, 123, 12, 120, -115, 121, 135, -84, + -133, 10, -122, -69, 124, -140, -137, 126, -205, -138, + -140, -140, -190, 57, -192, -102, 95, -25, 122, -39, + -100, -22, 119, -57, -97, -60, 121, -74, -69, -22, + -22, -172, 12, 128, 136, -116, 12, 10, -82, 136, + -123, 135, 121, 119, 126, -203, 126, 126, -187, -17, + 121, 122, -22, 124, -22, -22, -58, -17, 122, 124, + -58, 119, -70, 120, 120, 124, 135, 12, -21, 121, + 135, 136, 136, 10, -21, -69, -124, -125, -126, -127, + -128, -129, -131, -69, 10, -103, -42, 120, -22, -22, + 12, 12, 128, 12, -21, -21, -120, 120, -126, 121, + 121, 45, 29, 78, -22, -43, -17, 122, 26, 120, + 124, 12, 136, 123, -130, -69, -132, -133, 10, -22, + 121, -71, -21, -86, 135, 10, 24, 119, 124, -69, + 121, -22, -121, 121, 119, 120, -22, -72, 120, -73, + -75, -76, 41, -76, 123, -69, -77, 12, 124, -78, + 119, -22, 120, } var yyDef = [...]int{ @@ -2106,25 +2108,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:202 + //line php5/php5.y:203 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:208 + //line php5/php5.y:209 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:209 + //line php5/php5.y:210 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:214 + //line php5/php5.y:215 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2133,7 +2135,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:221 + //line php5/php5.y:222 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2142,31 +2144,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:230 + //line php5/php5.y:231 { yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:231 + //line php5/php5.y:232 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:232 + //line php5/php5.y:233 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:233 + //line php5/php5.y:234 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:235 + //line php5/php5.y:236 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2178,7 +2180,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:245 + //line php5/php5.y:246 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2190,7 +2192,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:255 + //line php5/php5.y:256 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2198,7 +2200,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:261 + //line php5/php5.y:262 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2206,7 +2208,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:267 + //line php5/php5.y:268 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2218,7 +2220,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:277 + //line php5/php5.y:278 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2230,25 +2232,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:286 + //line php5/php5.y:287 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:290 + //line php5/php5.y:291 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:291 + //line php5/php5.y:292 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:296 + //line php5/php5.y:297 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2260,7 +2262,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:306 + //line php5/php5.y:307 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2275,7 +2277,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:319 + //line php5/php5.y:320 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2287,7 +2289,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:329 + //line php5/php5.y:330 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2302,19 +2304,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:345 + //line php5/php5.y:346 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:349 + //line php5/php5.y:350 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:356 + //line php5/php5.y:357 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2326,7 +2328,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:366 + //line php5/php5.y:367 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2341,7 +2343,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:379 + //line php5/php5.y:380 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2353,7 +2355,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:389 + //line php5/php5.y:390 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2368,19 +2370,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:405 + //line php5/php5.y:406 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:409 + //line php5/php5.y:410 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:416 + //line php5/php5.y:417 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2392,7 +2394,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:426 + //line php5/php5.y:427 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2407,7 +2409,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:439 + //line php5/php5.y:440 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2419,7 +2421,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:449 + //line php5/php5.y:450 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2434,1622 +2436,1634 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:464 + //line php5/php5.y:465 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:465 + //line php5/php5.y:466 { } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:469 + //line php5/php5.y:470 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:478 + //line php5/php5.y:479 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:483 + //line php5/php5.y:484 { } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:484 + //line php5/php5.y:485 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:489 + //line php5/php5.y:490 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:489 + //line php5/php5.y:490 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:489 + //line php5/php5.y:490 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:491 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:491 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:491 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:492 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:492 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:492 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:493 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:493 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:493 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:496 + //line php5/php5.y:497 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:499 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:503 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:503 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:504 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:505 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:506 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:507 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:508 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:510 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:511 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:514 + //line php5/php5.y:515 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:516 { } case 78: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:519 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:520 { } case 80: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:521 { } case 81: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:523 { } case 82: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:524 { } case 83: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:525 { } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:526 { } case 85: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:526 { } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:528 { } case 88: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:529 { } case 89: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:530 { } case 90: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:531 { } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:532 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:536 { } case 93: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:537 { } case 94: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:538 { } case 95: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { } case 96: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:540 { } case 97: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:541 { } case 98: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:543 + //line php5/php5.y:544 { } case 99: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:545 { } case 100: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:545 { } case 101: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:548 + //line php5/php5.y:549 { } case 102: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:550 { } case 103: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:553 + //line php5/php5.y:554 { } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:554 + //line php5/php5.y:555 { } case 105: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:558 + //line php5/php5.y:559 { } case 106: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:558 + //line php5/php5.y:559 { } case 107: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:558 + //line php5/php5.y:559 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:567 + //line php5/php5.y:568 { } case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:571 + //line php5/php5.y:572 { } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:575 + //line php5/php5.y:576 { } case 113: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:579 + //line php5/php5.y:580 { } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:580 + //line php5/php5.y:581 { } case 115: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:584 + //line php5/php5.y:585 { } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:585 + //line php5/php5.y:586 { } case 117: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:589 + //line php5/php5.y:590 { } case 118: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:591 + //line php5/php5.y:592 { } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:596 + //line php5/php5.y:597 { } case 120: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:600 + //line php5/php5.y:601 { } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:602 + //line php5/php5.y:603 { } case 122: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:606 + //line php5/php5.y:607 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:611 + //line php5/php5.y:612 { } case 124: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:612 + //line php5/php5.y:613 { } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:613 + //line php5/php5.y:614 { } case 126: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:614 + //line php5/php5.y:615 { } case 127: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:618 + //line php5/php5.y:619 { } case 128: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:619 + //line php5/php5.y:620 { } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:623 + //line php5/php5.y:624 { } case 134: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:637 + //line php5/php5.y:638 { } case 135: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:638 + //line php5/php5.y:639 { } case 136: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:642 + //line php5/php5.y:643 { } case 137: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:643 + //line php5/php5.y:644 { } case 138: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:647 + //line php5/php5.y:648 { } case 139: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:648 + //line php5/php5.y:649 { } case 140: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:649 + //line php5/php5.y:650 { } case 141: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:649 + //line php5/php5.y:650 { } case 148: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:671 + //line php5/php5.y:672 { } case 149: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:672 + //line php5/php5.y:673 { } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:677 + //line php5/php5.y:678 { } case 151: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:678 + //line php5/php5.y:679 { } case 152: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:679 + //line php5/php5.y:680 { } case 153: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:680 + //line php5/php5.y:681 { } case 154: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:685 + //line php5/php5.y:686 { } case 155: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:686 + //line php5/php5.y:687 { } case 156: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:686 + //line php5/php5.y:687 { } case 157: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:688 { } case 158: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:688 { } case 164: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:706 + //line php5/php5.y:707 { } case 165: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:706 + //line php5/php5.y:707 { } case 167: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:712 + //line php5/php5.y:713 { } case 168: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:712 + //line php5/php5.y:713 { } case 177: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:741 + //line php5/php5.y:742 { } case 178: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:743 + //line php5/php5.y:744 { } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:748 + //line php5/php5.y:749 { } case 180: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:749 + //line php5/php5.y:750 { } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:750 + //line php5/php5.y:751 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:751 + //line php5/php5.y:752 { } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:756 + //line php5/php5.y:757 { } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:757 + //line php5/php5.y:758 { } case 185: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:758 + //line php5/php5.y:759 { } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:768 + //line php5/php5.y:769 { } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:769 + //line php5/php5.y:770 { } case 190: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:770 + //line php5/php5.y:771 { } case 191: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:771 + //line php5/php5.y:772 { } case 192: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:775 + //line php5/php5.y:776 { } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:776 + //line php5/php5.y:777 { } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:781 + //line php5/php5.y:782 { } case 195: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:782 + //line php5/php5.y:783 { } case 196: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:783 + //line php5/php5.y:784 { } case 197: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:788 + //line php5/php5.y:789 { } case 198: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:790 { } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:790 + //line php5/php5.y:791 { } case 200: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:791 + //line php5/php5.y:792 { } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:803 + //line php5/php5.y:804 { } case 207: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:806 + //line php5/php5.y:807 { } case 208: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:808 + //line php5/php5.y:809 { } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:816 + //line php5/php5.y:817 { } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:817 + //line php5/php5.y:818 { } case 220: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:841 + //line php5/php5.y:842 { } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:845 + //line php5/php5.y:846 { } case 222: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:846 + //line php5/php5.y:847 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:850 + //line php5/php5.y:851 { } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:851 + //line php5/php5.y:852 { } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:855 + //line php5/php5.y:856 { } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:859 + //line php5/php5.y:860 { } case 227: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:860 + //line php5/php5.y:861 { } case 228: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:864 + //line php5/php5.y:865 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:865 + //line php5/php5.y:866 { } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:869 + //line php5/php5.y:870 { } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:870 + //line php5/php5.y:871 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:874 + //line php5/php5.y:875 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:875 + //line php5/php5.y:876 { } case 234: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:879 + //line php5/php5.y:880 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:880 + //line php5/php5.y:881 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:884 + //line php5/php5.y:885 { } case 237: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:885 + //line php5/php5.y:886 { } case 238: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:889 + //line php5/php5.y:890 { } case 239: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:890 + //line php5/php5.y:891 { } case 240: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:891 + //line php5/php5.y:892 { } case 241: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:892 + //line php5/php5.y:893 { } case 242: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:893 + //line php5/php5.y:894 { } case 243: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:894 + //line php5/php5.y:895 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:898 + //line php5/php5.y:899 { } case 245: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:899 + //line php5/php5.y:900 { } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:900 + //line php5/php5.y:901 { } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:901 + //line php5/php5.y:902 { } case 248: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:905 + //line php5/php5.y:906 { } case 249: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:906 + //line php5/php5.y:907 { } case 250: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:910 + //line php5/php5.y:911 { } case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:911 + //line php5/php5.y:912 { } case 252: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:916 + //line php5/php5.y:917 { } case 253: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:917 + //line php5/php5.y:918 { } case 254: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:921 + //line php5/php5.y:922 { } case 255: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:921 + //line php5/php5.y:922 { } case 256: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:922 + //line php5/php5.y:923 { } case 257: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:926 + //line php5/php5.y:927 { } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:927 + //line php5/php5.y:928 { } case 259: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:931 + //line php5/php5.y:932 { } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:932 + //line php5/php5.y:933 { } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:936 + //line php5/php5.y:937 { } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:936 + //line php5/php5.y:937 { } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:937 + //line php5/php5.y:938 { } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:938 + //line php5/php5.y:939 { } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:942 + //line php5/php5.y:943 { } case 266: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:943 + //line php5/php5.y:944 { } case 267: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:944 + //line php5/php5.y:945 { } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:948 + //line php5/php5.y:949 { } case 269: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:948 + //line php5/php5.y:949 { } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:952 + //line php5/php5.y:953 { } case 271: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:952 + //line php5/php5.y:953 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:953 + //line php5/php5.y:954 { } case 273: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:954 + //line php5/php5.y:955 { } case 274: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:956 { } case 275: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:956 { } case 276: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:956 + //line php5/php5.y:957 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:957 + //line php5/php5.y:958 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:958 + //line php5/php5.y:959 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:960 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:961 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:961 + //line php5/php5.y:962 { } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:962 + //line php5/php5.y:963 { } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:963 + //line php5/php5.y:964 { } case 284: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:964 + //line php5/php5.y:965 { } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:965 + //line php5/php5.y:966 { } case 286: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:966 + //line php5/php5.y:967 { } case 287: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:967 + //line php5/php5.y:968 { } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:968 + //line php5/php5.y:969 { } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:970 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:970 + //line php5/php5.y:971 { } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:971 + //line php5/php5.y:972 { } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:972 + //line php5/php5.y:973 { } case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:974 { } case 294: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:974 { } case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:975 { } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:975 { } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:976 { } case 298: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:976 { } case 299: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:977 { } case 300: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:977 { } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:977 + //line php5/php5.y:978 { } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:978 + //line php5/php5.y:979 { } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:979 + //line php5/php5.y:980 { } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:981 { } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:982 { } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:982 + //line php5/php5.y:983 { } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:984 { } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:984 + //line php5/php5.y:985 { } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:986 { } case 310: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:986 + //line php5/php5.y:987 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:988 { } case 312: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:988 + //line php5/php5.y:989 { } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:990 { } case 314: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:991 { } case 315: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:992 { } case 316: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:993 { } case 317: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:993 + //line php5/php5.y:994 { } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:995 { } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:996 { } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:996 + //line php5/php5.y:997 { } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:997 + //line php5/php5.y:998 { } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:998 + //line php5/php5.y:999 { } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:1000 { } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1000 + //line php5/php5.y:1001 { } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1002 { } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1003 { } case 327: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1003 + //line php5/php5.y:1004 { } case 328: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1004 + //line php5/php5.y:1005 { } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1005 + //line php5/php5.y:1006 { } case 330: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1005 + //line php5/php5.y:1006 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1007 { } case 332: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1007 + //line php5/php5.y:1008 { } case 333: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1008 + //line php5/php5.y:1009 { } case 334: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1009 + //line php5/php5.y:1010 { } case 335: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1010 + //line php5/php5.y:1011 { } case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1012 { } case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1012 + //line php5/php5.y:1013 { } case 338: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1014 { } case 339: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1014 + //line php5/php5.y:1015 { } case 340: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1015 + //line php5/php5.y:1016 { } case 341: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1017 { } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1018 { } case 343: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1018 + //line php5/php5.y:1019 { } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1019 + //line php5/php5.y:1020 { } case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1021 { } case 346: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1021 { } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1022 { } case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1023 { } case 349: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1023 + //line php5/php5.y:1024 { } case 350: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1024 + //line php5/php5.y:1025 { } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1026 { } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1026 + //line php5/php5.y:1027 { } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1028 { } case 354: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1029 + //line php5/php5.y:1030 { } case 355: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1030 + //line php5/php5.y:1031 { } case 356: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1032 + //line php5/php5.y:1033 { } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1036 + //line php5/php5.y:1037 { } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1038 { } case 359: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1039 { } case 360: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1040 { } case 361: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1044 { } case 362: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1044 + //line php5/php5.y:1045 { } case 363: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1046 { } case 364: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1046 + //line php5/php5.y:1047 { } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1051 { } case 366: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1052 { } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1055 + //line php5/php5.y:1056 { } case 370: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1064 + //line php5/php5.y:1065 { } case 371: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1066 { } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1066 + //line php5/php5.y:1067 { } case 373: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1068 { } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1071 + //line php5/php5.y:1072 { } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1072 + //line php5/php5.y:1073 { } case 376: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1073 + //line php5/php5.y:1074 { } case 377: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1074 + //line php5/php5.y:1075 { } case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1076 { } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1077 { } case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1078 { } case 381: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1080 { } case 383: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1081 { } case 384: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1082 { } case 385: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1083 { } case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1084 { } case 387: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1085 { } case 388: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1086 { } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1087 { } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1090 + //line php5/php5.y:1092 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1091 + //line php5/php5.y:1098 { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1092 + //line php5/php5.y:1104 { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 393: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1110 { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 394: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1118 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1119 { } case 396: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1120 { } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1126 { } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1127 { } case 399: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1111 + //line php5/php5.y:1132 { } case 400: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1112 + //line php5/php5.y:1133 { } case 401: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1134 { } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1114 + //line php5/php5.y:1135 { } case 405: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1125 + //line php5/php5.y:1146 { } case 406: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1150 { } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1151 { } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1152 { } case 409: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1135 + //line php5/php5.y:1156 { } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1136 + //line php5/php5.y:1157 { } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1137 + //line php5/php5.y:1158 { } case 412: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1162 { } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1142 + //line php5/php5.y:1163 { } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1147 + //line php5/php5.y:1168 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4057,7 +4071,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1153 + //line php5/php5.y:1174 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4065,13 +4079,13 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1179 { yyVAL.node = nil } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1181 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4079,7 +4093,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1166 + //line php5/php5.y:1187 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4087,7 +4101,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1172 + //line php5/php5.y:1193 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4095,7 +4109,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1178 + //line php5/php5.y:1199 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4103,7 +4117,7 @@ yydefault: } case 421: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1184 + //line php5/php5.y:1205 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4111,7 +4125,7 @@ yydefault: } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1190 + //line php5/php5.y:1211 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4119,7 +4133,7 @@ yydefault: } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1196 + //line php5/php5.y:1217 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4127,809 +4141,828 @@ yydefault: } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1201 + //line php5/php5.y:1222 { yyVAL.node = nil } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1202 + //line php5/php5.y:1223 { yyVAL.node = nil } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1206 + //line php5/php5.y:1228 { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1210 + //line php5/php5.y:1240 { } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1214 + //line php5/php5.y:1244 { } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1215 + //line php5/php5.y:1245 { } case 430: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1216 + //line php5/php5.y:1246 { } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1217 + //line php5/php5.y:1247 { } case 432: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1218 + //line php5/php5.y:1248 { } case 433: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1219 + //line php5/php5.y:1249 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1220 + //line php5/php5.y:1250 { } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1221 + //line php5/php5.y:1251 { } case 436: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1222 + //line php5/php5.y:1252 { } case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1223 + //line php5/php5.y:1253 { } case 438: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1227 + //line php5/php5.y:1257 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1228 + //line php5/php5.y:1258 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1229 + //line php5/php5.y:1259 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1230 + //line php5/php5.y:1260 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1231 + //line php5/php5.y:1261 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1232 + //line php5/php5.y:1262 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1233 + //line php5/php5.y:1263 { } case 445: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1234 + //line php5/php5.y:1264 { } case 446: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1235 + //line php5/php5.y:1265 { } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1236 + //line php5/php5.y:1266 { } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1237 + //line php5/php5.y:1267 { } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1238 + //line php5/php5.y:1268 { } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1239 + //line php5/php5.y:1269 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1240 + //line php5/php5.y:1270 { } case 452: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1241 + //line php5/php5.y:1271 { } case 453: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1242 + //line php5/php5.y:1272 { } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1243 + //line php5/php5.y:1273 { } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1244 + //line php5/php5.y:1274 { } case 456: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1245 + //line php5/php5.y:1275 { } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1246 + //line php5/php5.y:1276 { } case 458: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1247 + //line php5/php5.y:1277 { } case 459: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1248 + //line php5/php5.y:1278 { } case 460: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1249 + //line php5/php5.y:1279 { } case 461: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1250 + //line php5/php5.y:1280 { } case 462: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1251 + //line php5/php5.y:1281 { } case 463: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1252 + //line php5/php5.y:1282 { } case 464: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1253 + //line php5/php5.y:1283 { } case 465: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1254 + //line php5/php5.y:1284 { } case 466: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1255 + //line php5/php5.y:1285 { } case 467: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1256 + //line php5/php5.y:1286 { } case 468: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1257 + //line php5/php5.y:1287 { } case 469: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:1288 { } case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1259 + //line php5/php5.y:1289 { } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1263 + //line php5/php5.y:1293 { } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1294 { } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1295 { } case 474: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1266 + //line php5/php5.y:1296 { } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1270 + //line php5/php5.y:1300 { } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1271 + //line php5/php5.y:1301 { } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1272 + //line php5/php5.y:1302 { } case 478: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1273 + //line php5/php5.y:1303 { } case 479: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1274 + //line php5/php5.y:1304 { } case 480: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1275 + //line php5/php5.y:1305 { } case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1276 + //line php5/php5.y:1306 { } case 482: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1280 + //line php5/php5.y:1310 { } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1311 { } case 486: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1290 + //line php5/php5.y:1320 { } case 487: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1291 + //line php5/php5.y:1321 { } case 488: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1292 + //line php5/php5.y:1322 { } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1323 { } case 490: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1297 + //line php5/php5.y:1327 { } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1298 + //line php5/php5.y:1328 { } case 492: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1302 + //line php5/php5.y:1332 { } case 493: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1303 + //line php5/php5.y:1333 { } case 494: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1308 + //line php5/php5.y:1338 { } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1313 + //line php5/php5.y:1343 { } case 496: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1317 + //line php5/php5.y:1347 { } case 497: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1321 + //line php5/php5.y:1351 { } case 498: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1352 { } case 499: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1323 + //line php5/php5.y:1353 { } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1324 + //line php5/php5.y:1354 { } case 501: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1328 + //line php5/php5.y:1358 { } case 502: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1329 + //line php5/php5.y:1359 { } case 503: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1334 + //line php5/php5.y:1364 { } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1334 + //line php5/php5.y:1364 { } case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1368 { } case 506: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1339 + //line php5/php5.y:1369 { } case 507: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1343 + //line php5/php5.y:1373 { } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1344 + //line php5/php5.y:1374 { } case 509: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1348 + //line php5/php5.y:1378 { } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1349 + //line php5/php5.y:1379 { } case 511: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1350 + //line php5/php5.y:1380 { } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1354 + //line php5/php5.y:1384 { } case 513: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1355 + //line php5/php5.y:1385 { } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1389 { } case 515: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1360 + //line php5/php5.y:1390 { } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1396 { + yyVAL.node = yyDollar[1].node } case 517: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1369 + //line php5/php5.y:1402 { } case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1370 + //line php5/php5.y:1403 { } case 519: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1371 + //line php5/php5.y:1404 { } case 520: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1375 + //line php5/php5.y:1408 { } case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1376 + //line php5/php5.y:1409 { } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1377 + //line php5/php5.y:1410 { } case 523: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1382 + //line php5/php5.y:1415 { } case 524: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1416 { } case 525: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1384 + //line php5/php5.y:1417 { } case 526: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1388 + //line php5/php5.y:1421 { + yyVAL.node = nil } case 527: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1422 { + yyVAL.node = nil } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1390 + //line php5/php5.y:1423 { + yyVAL.node = yyDollar[1].node } case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1395 + //line php5/php5.y:1429 { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 530: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1396 + //line php5/php5.y:1439 { + yyVAL.node = nil } case 531: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1400 + //line php5/php5.y:1445 { } case 532: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1401 + //line php5/php5.y:1446 { } case 533: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1406 + //line php5/php5.y:1451 { } case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1407 + //line php5/php5.y:1452 { } case 535: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1411 + //line php5/php5.y:1456 { } case 536: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1412 + //line php5/php5.y:1457 { } case 537: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1413 + //line php5/php5.y:1458 { } case 538: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1417 + //line php5/php5.y:1462 { } case 539: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1418 + //line php5/php5.y:1463 { } case 540: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1422 + //line php5/php5.y:1467 { } case 541: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1468 { } case 544: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1433 + //line php5/php5.y:1478 { } case 545: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1479 { } case 546: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1479 { } case 547: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1435 + //line php5/php5.y:1480 { } case 548: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1440 + //line php5/php5.y:1485 { } case 549: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1441 + //line php5/php5.y:1486 { } case 550: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1490 { } case 551: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1446 + //line php5/php5.y:1491 { } case 552: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1447 + //line php5/php5.y:1492 { } case 553: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1448 + //line php5/php5.y:1493 { } case 554: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1449 + //line php5/php5.y:1494 { } case 555: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1495 { } case 556: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1496 { } case 557: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1452 + //line php5/php5.y:1497 { } case 558: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1501 { } case 559: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1457 + //line php5/php5.y:1502 { } case 560: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1458 + //line php5/php5.y:1503 { } case 561: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1459 + //line php5/php5.y:1504 { } case 562: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1465 + //line php5/php5.y:1510 { } case 563: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1466 + //line php5/php5.y:1511 { } case 564: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1466 + //line php5/php5.y:1511 { } case 565: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1467 + //line php5/php5.y:1512 { } case 566: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1468 + //line php5/php5.y:1513 { } case 567: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1469 + //line php5/php5.y:1514 { } case 568: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1470 + //line php5/php5.y:1515 { } case 569: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1475 + //line php5/php5.y:1520 { } case 570: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1521 { } case 571: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1477 + //line php5/php5.y:1522 { } case 572: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1527 { } case 573: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1483 + //line php5/php5.y:1528 { } case 574: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1484 + //line php5/php5.y:1529 { } case 575: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1485 + //line php5/php5.y:1530 { } case 576: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1486 + //line php5/php5.y:1531 { } case 577: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1487 + //line php5/php5.y:1532 { } case 578: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1533 { } case 579: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1489 + //line php5/php5.y:1534 { } case 580: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1493 + //line php5/php5.y:1538 { } case 581: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1494 + //line php5/php5.y:1539 { } case 582: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1494 + //line php5/php5.y:1539 { } case 583: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1498 + //line php5/php5.y:1543 { } case 584: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1499 + //line php5/php5.y:1544 { } case 585: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1503 + //line php5/php5.y:1548 { } case 586: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1504 + //line php5/php5.y:1549 { } case 587: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1508 + //line php5/php5.y:1553 { } case 588: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1512 + //line php5/php5.y:1557 { } } diff --git a/php5/php5.y b/php5/php5.y index f74bada..d3c8959 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -10,7 +10,7 @@ import ( "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/stmt" -// "github.com/z7zmey/php-parser/node/expr" + "github.com/z7zmey/php-parser/node/expr" // "github.com/z7zmey/php-parser/node/expr/assign_op" // "github.com/z7zmey/php-parser/node/expr/binary_op" // "github.com/z7zmey/php-parser/node/expr/cast" @@ -192,6 +192,7 @@ import ( %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC %type top_statement use_declaration use_function_declaration use_const_declaration common_scalar +%type static_class_constant compound_variable reference_variable class_name variable_class_name %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations @@ -1087,10 +1088,30 @@ function_call: ; class_name: - T_STATIC { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + T_STATIC + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | namespace_name + { + $$ = name.NewName($1) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NAMESPACE T_NS_SEPARATOR namespace_name + { + $$ = name.NewRelative($3) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_SEPARATOR namespace_name + { + $$ = name.NewFullyQualified($2) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; fully_qualified_class_name: @@ -1203,7 +1224,16 @@ common_scalar: ; static_class_constant: - class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewClassConstFetch($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } ; static_scalar: /* compile-time evaluated scalars */ @@ -1362,7 +1392,10 @@ static_member: ; variable_class_name: - reference_variable { } + reference_variable + { + $$ = $1 + } ; array_function_dereference: @@ -1385,15 +1418,27 @@ base_variable: ; reference_variable: - reference_variable '[' dim_offset ']' { } - | reference_variable '{' expr '}' { } - | compound_variable { } + reference_variable '[' dim_offset ']' { $$ = nil } + | reference_variable '{' expr '}' { $$ = nil } + | compound_variable { $$ = $1 } ; compound_variable: - T_VARIABLE { } - | '$' '{' expr '}' { } + T_VARIABLE + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | '$' '{' expr '}' + { + $$ = nil + } ; dim_offset: From af9a7e54eda00334b7ff45157e0e25a3c0af2a9f Mon Sep 17 00:00:00 2001 From: z7zmey Date: Mon, 29 Jan 2018 16:42:52 +0200 Subject: [PATCH 08/31] php5 syntax --- php5/php5.go | 2596 +++++++++++++++++++++++++------------------------- php5/php5.y | 762 +++++++-------- 2 files changed, 1675 insertions(+), 1683 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 43db885..56896c9 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -352,548 +352,517 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 496, - 105, 496, - -2, 494, + 104, 495, + 105, 495, + -2, 493, -1, 99, - 125, 518, - -2, 522, + 125, 517, + -2, 521, -1, 101, - 78, 391, - 123, 374, - -2, 472, + 78, 390, + 123, 373, + -2, 471, -1, 113, - 78, 516, - 123, 512, - -2, 523, + 78, 515, + 123, 511, + -2, 522, -1, 153, - 104, 496, - 105, 496, - -2, 494, + 104, 495, + 105, 495, + -2, 493, -1, 203, + 121, 356, + 124, 356, + -2, 490, + -1, 204, + 104, 495, + 105, 495, 121, 357, 124, 357, - -2, 491, - -1, 204, - 104, 496, - 105, 496, - 121, 358, - 124, 358, - -2, 494, + -2, 493, -1, 227, - 123, 374, - -2, 391, + 123, 373, + -2, 390, -1, 270, - 78, 516, - -2, 523, + 78, 515, + -2, 522, -1, 296, - 78, 393, - 123, 378, - -2, 474, - -1, 300, - 123, 513, - -2, 524, - -1, 309, 78, 392, - 123, 376, + 123, 377, -2, 473, + -1, 300, + 123, 512, + -2, 523, + -1, 309, + 78, 391, + 123, 375, + -2, 472, -1, 366, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 318, + -2, 317, -1, 367, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 319, + -2, 318, -1, 368, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 320, + -2, 319, -1, 369, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 321, + -2, 320, -1, 370, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 322, + -2, 321, -1, 371, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 323, + -2, 322, -1, 372, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 324, + -2, 323, -1, 373, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 325, + -2, 324, -1, 380, - 104, 496, - 105, 496, - -2, 494, - -1, 408, - 123, 378, - -2, 393, - -1, 438, - 104, 496, - 105, 496, + 104, 495, + 105, 495, + -2, 493, + -1, 411, + 123, 377, + -2, 392, + -1, 441, + 104, 495, + 105, 495, + 124, 582, + 135, 582, + -2, 493, + -1, 442, 124, 583, 135, 583, - -2, 494, - -1, 439, - 124, 584, - 135, 584, - -2, 491, - -1, 440, - 104, 496, - 105, 496, - -2, 494, - -1, 462, - 123, 382, + -2, 490, + -1, 443, + 104, 495, + 105, 495, + -2, 493, + -1, 465, + 123, 381, + -2, 513, + -1, 466, + 123, 537, + -2, 584, + -1, 474, + 123, 385, -2, 514, - -1, 463, - 123, 538, + -1, 475, + 123, 537, -2, 585, - -1, 471, - 123, 386, - -2, 515, - -1, 472, - 123, 538, - -2, 586, - -1, 495, - 78, 391, - -2, 430, - -1, 540, + -1, 498, + 78, 390, + -2, 429, + -1, 543, 124, 174, -2, 179, - -1, 548, + -1, 551, + 121, 358, + 124, 358, + -2, 490, + -1, 552, + 104, 495, + 105, 495, 121, 359, 124, 359, - -2, 491, - -1, 549, - 104, 496, - 105, 496, - 121, 360, - 124, 360, - -2, 494, - -1, 556, - 123, 376, - -2, 392, + -2, 493, -1, 558, + 123, 375, + -2, 391, + -1, 560, 57, 266, 125, 266, -2, 265, - -1, 594, + -1, 596, 124, 188, 135, 188, - -2, 491, - -1, 595, - 104, 496, - 105, 496, + -2, 490, + -1, 597, + 104, 495, + 105, 495, 124, 189, 135, 189, - -2, 494, - -1, 646, - 78, 393, - -2, 432, - -1, 672, + -2, 493, + -1, 648, + 78, 392, + -2, 431, + -1, 674, 124, 174, -2, 179, - -1, 683, + -1, 685, 124, 174, -2, 179, - -1, 709, - 123, 507, - -2, 511, - -1, 748, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 458, - -1, 749, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 459, + -1, 711, + 123, 506, + -2, 510, -1, 750, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 460, + -2, 457, -1, 751, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 461, + -2, 458, -1, 752, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 462, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 459, -1, 753, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 463, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 460, -1, 754, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 464, + -2, 461, -1, 755, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 465, - -1, 758, - 78, 392, - -2, 431, - -1, 808, + -2, 462, + -1, 756, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 463, + -1, 757, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 464, + -1, 760, + 78, 391, + -2, 430, + -1, 809, 57, 261, -2, 263, - -1, 870, + -1, 871, 37, 235, -2, 232, - -1, 938, - 123, 507, - -2, 511, - -1, 1014, + -1, 937, + 123, 506, + -2, 510, + -1, 1013, 29, 223, -2, 4, - -1, 1043, + -1, 1042, 124, 174, -2, 179, - -1, 1047, + -1, 1046, 121, 227, -2, 229, } const yyPrivate = 57344 -const yyLast = 6449 +const yyLast = 6418 var yyAct = [...]int{ - 101, 1071, 136, 491, 684, 113, 874, 815, 1008, 122, - 130, 986, 199, 690, 566, 552, 809, 858, 329, 114, - 146, 840, 60, 38, 811, 4, 570, 801, 782, 696, - 848, 450, 117, 97, 686, 593, 378, 317, 437, 43, - 137, 648, 666, 263, 142, 313, 25, 157, 161, 129, - 257, 2, 288, 571, 618, 227, 227, 553, 178, 191, - 569, 453, 1042, 1002, 152, 1054, 42, 973, 1001, 972, - 969, 557, 463, 120, 120, 999, 168, 170, 169, 191, - 266, 203, 618, 971, 191, 270, 995, 989, 964, 1000, - 934, 927, 854, 802, 250, 804, 622, 996, 700, 271, - 681, 700, 796, 296, 718, 928, 492, 671, 490, 240, - 842, 841, 346, 269, 464, 719, 192, 172, 176, 175, - 300, 621, 623, 624, 622, 309, 699, 323, 314, 318, - 762, 191, 321, 177, 179, 180, 178, 700, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 516, 679, 334, - 227, 178, 327, 451, 200, 977, 328, 893, 161, 680, - 176, 175, 576, 532, 345, 308, 168, 170, 169, 191, - 465, 465, 618, 577, 533, 240, 620, 619, 892, 191, - 976, 472, 266, 120, 227, 119, 119, 270, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 896, - 1021, 271, 974, 484, 937, 120, 192, 172, 176, 175, - 630, 621, 623, 624, 622, 269, 340, 485, 176, 175, - 408, 120, 158, 895, 381, 374, 962, 813, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 480, 347, 343, - 338, 227, 174, 177, 179, 180, 178, 578, 760, 432, - 812, 481, 348, 344, 339, 717, 603, 434, 588, 208, - 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 220, 212, 227, 299, 582, 581, 240, 310, 560, 298, - 465, 559, 885, 466, 631, 632, 420, 421, 466, 416, - 449, 311, 130, 439, 441, 119, 483, 467, 564, 456, - 487, 711, 467, 125, 495, 120, 1022, 710, 132, 38, - 462, 424, 421, 420, 420, 471, 421, 301, 810, 292, - 448, 618, 133, 644, 626, 620, 619, 495, 286, 458, - 524, 511, 963, 119, 159, 280, 253, 473, 461, 476, - 252, 479, 1078, 470, 1058, 635, 634, 625, 627, 638, - 639, 636, 637, 640, 642, 641, 643, 628, 629, 630, - 621, 623, 624, 622, 618, 1040, 538, 520, 620, 619, - 543, 983, 228, 915, 227, 229, 912, 857, 1074, 423, - 125, 846, 120, 542, 551, 829, 795, 227, 556, 720, - 583, 232, 579, 413, 411, 466, 466, 305, 1043, 138, - 628, 629, 630, 621, 623, 624, 622, 923, 459, 467, - 467, 548, 573, 856, 466, 851, 466, 842, 841, 294, - 701, 466, 462, 471, 683, 191, 672, 119, 467, 555, - 467, 647, 540, 518, 382, 467, 519, 125, 287, 120, - 277, 568, 274, 572, 273, 249, 221, 194, 575, 228, - 461, 470, 229, 602, 193, 141, 307, 121, 306, 1082, - 981, 125, 314, 120, 176, 175, 318, 1064, 232, 1063, - 1060, 495, 948, 376, 617, 774, 775, 38, 646, 594, - 495, 326, 134, 1050, 103, 1030, 592, 495, 495, 495, - 495, 495, 774, 775, 598, 659, 181, 182, 174, 177, - 179, 180, 178, 613, 119, 1029, 228, 610, 980, 229, - 785, 956, 609, 910, 227, 906, 844, 838, 837, 661, - 675, 543, 669, 667, 515, 232, 694, 475, 543, 385, - 228, 336, 266, 229, 155, 1068, 1065, 270, 1039, 230, - 230, 697, 668, 418, 1027, 1017, 341, 419, 994, 232, - 676, 271, 993, 890, 682, 565, 324, 1080, 125, 1057, - 466, 119, 946, 843, 264, 269, 227, 258, 227, 712, - 443, 991, 422, 952, 467, 698, 447, 227, 90, 784, - 773, 922, 455, 921, 798, 119, 650, 568, 468, 695, - 304, 383, 862, 653, 654, 655, 656, 657, 615, 495, - 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, - 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, - 495, 495, 495, 495, 495, 495, 758, 715, 495, 716, - 124, 259, 260, 723, 724, 223, 224, 1033, 721, 726, - 727, 534, 904, 905, 230, 769, 833, 834, 256, 294, - 612, 294, 495, 543, 693, 779, 645, 780, 227, 227, - 431, 761, 495, 771, 543, 791, 770, 123, 794, 759, - 125, 407, 444, 543, 800, 124, 264, 652, 230, 435, - 797, 227, 430, 489, 410, 788, 697, 786, 409, 125, - 776, 302, 778, 297, 125, 445, 120, 125, 125, 125, - 120, 849, 799, 294, 812, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 757, 822, 439, 650, 825, 294, 495, 805, 594, - 281, 285, 319, 495, 495, 230, 589, 125, 208, 209, - 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, - 212, 315, 486, 228, 482, 227, 229, 267, 544, 131, - 268, 545, 853, 125, 127, 128, 230, 543, 943, 1014, - 320, 651, 232, 543, 61, 433, 232, 227, 878, 879, - 880, 877, 876, 875, 692, 258, 881, 852, 466, 258, - 422, 262, 884, 547, 422, 227, 863, 889, 505, 495, - 882, 860, 467, 53, 887, 294, 389, 294, 119, 131, - 207, 258, 119, 688, 689, 568, 283, 206, 859, 258, - 227, 505, 919, 294, 258, 495, 901, 764, 917, 284, - 902, 908, 544, 827, 911, 545, 1031, 238, 544, 830, - 831, 545, 894, 1072, 543, 793, 258, 930, 913, 259, - 260, 282, 446, 259, 260, 162, 898, 933, 225, 233, - 929, 44, 258, 845, 774, 775, 1032, 255, 230, 765, - 535, 495, 916, 936, 284, 259, 260, 777, 774, 775, - 44, 230, 951, 259, 260, 227, 939, 445, 259, 260, - 1038, 543, 493, 1056, 959, 960, 949, 947, 836, 514, - 954, 1077, 1041, 1023, 958, 899, 705, 1020, 707, 706, - 259, 260, 968, 997, 966, 493, 975, 924, 522, 466, - 1055, 982, 1048, 984, 1003, 985, 259, 260, 978, 967, - 931, 887, 125, 467, 790, 495, 729, 990, 998, 728, - 495, 979, 543, 1004, 543, 616, 568, 614, 611, 987, - 562, 987, 537, 488, 457, 1005, 386, 1013, 322, 713, - 202, 1018, 201, 198, 1019, 505, 135, 436, 704, 561, - 289, 806, 495, 495, 505, 1024, 1025, 944, 543, 567, - 293, 505, 505, 505, 505, 505, 1028, 872, 1034, 98, - 819, 1013, 115, 873, 818, 816, 871, 817, 938, 891, - 709, 428, 543, 78, 649, 89, 100, 502, 230, 1047, - 1049, 494, 1036, 495, 543, 1045, 1052, 942, 1053, 897, - 821, 574, 265, 303, 606, 543, 264, 605, 600, 599, - 1061, 460, 478, 295, 99, 961, 88, 1066, 1059, 523, - 387, 254, 1073, 75, 74, 543, 73, 878, 879, 880, - 877, 876, 875, 1081, 251, 248, 63, 531, 1075, 493, - 230, 781, 230, 375, 558, 352, 351, 350, 493, 925, - 349, 230, 803, 406, 429, 493, 493, 493, 493, 493, - 703, 702, 886, 807, 808, 665, 330, 870, 1046, 1012, - 888, 1044, 1011, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 1010, 1009, 505, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 1007, 1006, 970, 932, - 1062, 1026, 869, 868, 618, 867, 505, 965, 620, 619, - 926, 866, 230, 230, 865, 591, 505, 687, 685, 1015, - 945, 909, 950, 914, 546, 935, 116, 390, 40, 691, - 541, 388, 940, 941, 39, 230, 640, 642, 641, 643, - 628, 629, 630, 621, 623, 624, 622, 493, 493, 493, - 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, - 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, - 493, 493, 493, 493, 539, 861, 493, 14, 13, 1079, - 1076, 231, 231, 1070, 957, 1069, 1067, 1051, 992, 920, - 918, 505, 855, 792, 196, 787, 536, 505, 505, 195, - 493, 955, 678, 953, 677, 377, 272, 900, 337, 163, - 493, 160, 156, 517, 332, 1035, 618, 1016, 907, 230, - 620, 619, 664, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 633, 631, 632, 663, - 50, 230, 140, 660, 638, 639, 636, 637, 640, 642, - 641, 643, 628, 629, 630, 621, 623, 624, 622, 230, - 513, 872, 139, 505, 903, 153, 835, 873, 768, 512, - 871, 832, 767, 658, 618, 325, 644, 626, 620, 619, - 11, 10, 204, 6, 230, 493, 231, 5, 1, 505, - 316, 493, 493, 312, 126, 226, 226, 118, 635, 634, - 625, 627, 638, 639, 636, 637, 640, 642, 641, 643, - 628, 629, 630, 621, 623, 624, 622, 500, 272, 3, - 231, 878, 879, 880, 877, 876, 875, 0, 0, 0, - 0, 0, 0, 0, 618, 505, 644, 626, 620, 619, - 0, 0, 0, 864, 0, 0, 0, 0, 0, 230, - 0, 0, 0, 0, 0, 0, 0, 493, 635, 634, - 625, 627, 638, 639, 636, 637, 640, 642, 641, 643, - 628, 629, 630, 621, 623, 624, 622, 0, 0, 0, - 0, 0, 0, 493, 0, 0, 0, 231, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, - 342, 0, 30, 0, 505, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, - 0, 0, 0, 0, 0, 144, 150, 154, 0, 493, - 0, 164, 0, 0, 379, 380, 505, 505, 0, 197, - 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 222, 0, 0, 0, 234, + 101, 136, 1070, 494, 686, 692, 1007, 875, 985, 122, + 130, 812, 816, 406, 568, 113, 199, 60, 810, 859, + 784, 329, 803, 841, 146, 114, 572, 38, 688, 849, + 4, 117, 43, 595, 440, 137, 698, 668, 407, 142, + 453, 650, 97, 263, 378, 419, 317, 313, 571, 157, + 129, 2, 161, 257, 288, 227, 227, 152, 25, 178, + 620, 456, 620, 42, 622, 621, 972, 559, 971, 120, + 1041, 200, 1001, 998, 203, 168, 170, 169, 191, 191, + 266, 466, 970, 120, 475, 1000, 120, 999, 1053, 250, + 968, 963, 927, 855, 620, 270, 630, 631, 632, 623, + 625, 626, 624, 296, 624, 271, 928, 191, 994, 843, + 842, 701, 573, 683, 673, 192, 172, 176, 175, 995, + 988, 240, 269, 467, 976, 309, 493, 191, 314, 318, + 300, 556, 321, 623, 625, 626, 624, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 178, 327, 884, 720, + 227, 346, 681, 334, 323, 804, 176, 175, 798, 556, + 721, 328, 161, 682, 578, 308, 468, 555, 345, 633, + 634, 177, 179, 180, 178, 579, 764, 519, 556, 454, + 468, 119, 266, 468, 227, 120, 487, 240, 181, 182, + 174, 177, 179, 180, 178, 119, 1020, 270, 119, 120, + 488, 961, 975, 973, 535, 936, 620, 271, 646, 628, + 622, 621, 227, 340, 620, 536, 158, 381, 622, 621, + 411, 895, 814, 762, 269, 374, 719, 813, 605, 590, + 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, + 643, 645, 630, 631, 632, 623, 625, 626, 624, 580, + 584, 227, 632, 623, 625, 626, 624, 583, 562, 435, + 483, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 212, 484, 561, 347, 437, 343, 338, + 310, 125, 227, 120, 980, 1077, 452, 132, 893, 421, + 348, 191, 344, 339, 311, 811, 442, 444, 240, 423, + 424, 133, 130, 469, 427, 892, 486, 301, 469, 125, + 490, 120, 1021, 470, 498, 885, 446, 962, 470, 465, + 566, 119, 450, 38, 474, 424, 423, 423, 458, 424, + 176, 175, 451, 299, 471, 459, 464, 498, 159, 298, + 527, 473, 713, 292, 286, 280, 514, 191, 712, 479, + 228, 253, 482, 229, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 232, + 252, 1073, 426, 1057, 1039, 541, 982, 915, 228, 523, + 546, 229, 912, 858, 227, 545, 176, 175, 847, 830, + 554, 797, 722, 585, 581, 947, 416, 232, 461, 414, + 305, 558, 1042, 138, 923, 119, 476, 462, 125, 125, + 120, 120, 857, 852, 551, 843, 842, 376, 469, 469, + 174, 177, 179, 180, 178, 575, 685, 674, 470, 470, + 649, 557, 543, 119, 465, 474, 382, 469, 287, 469, + 125, 125, 120, 120, 469, 521, 337, 470, 522, 470, + 277, 464, 473, 570, 470, 574, 274, 787, 409, 273, + 577, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 212, 249, 314, 604, 228, 228, 318, + 229, 229, 294, 221, 498, 596, 194, 619, 193, 141, + 121, 648, 326, 498, 38, 591, 232, 232, 134, 1059, + 498, 498, 498, 498, 498, 1049, 103, 661, 1029, 228, + 267, 594, 229, 268, 1063, 1028, 1062, 979, 955, 307, + 1079, 306, 612, 910, 906, 615, 786, 227, 232, 232, + 845, 839, 119, 119, 546, 838, 677, 663, 671, 696, + 669, 546, 518, 478, 385, 266, 699, 227, 336, 341, + 670, 863, 1056, 155, 776, 777, 776, 777, 1081, 1067, + 270, 230, 230, 990, 119, 119, 600, 1064, 620, 1038, + 271, 678, 622, 621, 125, 1026, 1016, 993, 227, 992, + 227, 714, 469, 890, 611, 702, 264, 269, 700, 227, + 258, 684, 470, 567, 324, 425, 951, 922, 570, 90, + 642, 644, 643, 645, 630, 631, 632, 623, 625, 626, + 624, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 498, 760, 717, + 498, 718, 844, 422, 775, 921, 124, 800, 697, 304, + 723, 383, 873, 945, 259, 260, 771, 125, 874, 223, + 224, 872, 904, 905, 498, 546, 230, 781, 294, 782, + 227, 227, 256, 772, 498, 125, 546, 793, 773, 617, + 796, 761, 763, 123, 614, 546, 802, 834, 835, 492, + 699, 788, 695, 489, 227, 447, 799, 778, 264, 780, + 230, 125, 790, 125, 725, 726, 647, 807, 125, 125, + 728, 729, 879, 880, 881, 878, 877, 876, 1013, 434, + 410, 801, 124, 116, 1032, 850, 547, 258, 230, 548, + 127, 128, 294, 485, 925, 320, 654, 294, 442, 438, + 823, 433, 294, 653, 596, 826, 294, 319, 820, 498, + 413, 690, 691, 412, 302, 498, 498, 879, 880, 881, + 878, 877, 876, 873, 281, 285, 297, 230, 258, 874, + 547, 448, 872, 548, 61, 131, 813, 227, 231, 231, + 315, 131, 207, 854, 942, 436, 294, 547, 294, 546, + 548, 259, 260, 262, 694, 546, 53, 550, 230, 258, + 882, 284, 258, 272, 425, 389, 766, 425, 853, 258, + 206, 1030, 887, 864, 283, 860, 227, 861, 889, 469, + 498, 919, 883, 879, 880, 881, 878, 877, 876, 470, + 508, 448, 259, 260, 258, 570, 1071, 238, 258, 282, + 795, 227, 901, 255, 44, 865, 498, 888, 767, 917, + 162, 225, 233, 508, 908, 1037, 902, 911, 846, 776, + 777, 913, 449, 259, 260, 546, 259, 260, 1031, 930, + 933, 538, 284, 259, 260, 44, 916, 898, 779, 776, + 777, 1055, 837, 231, 517, 929, 707, 1076, 709, 708, + 1040, 498, 1022, 938, 1019, 935, 996, 965, 259, 260, + 230, 950, 259, 260, 924, 227, 525, 1054, 1047, 1002, + 966, 546, 946, 958, 959, 272, 957, 231, 953, 948, + 931, 934, 894, 496, 125, 792, 731, 730, 939, 940, + 618, 616, 613, 564, 715, 540, 967, 887, 491, 981, + 974, 983, 460, 984, 386, 231, 496, 977, 469, 322, + 202, 201, 198, 989, 498, 135, 439, 997, 470, 498, + 706, 546, 1003, 546, 570, 978, 1004, 563, 1012, 289, + 703, 569, 293, 986, 98, 986, 115, 819, 817, 1017, + 818, 937, 1018, 891, 231, 711, 431, 78, 651, 89, + 100, 498, 498, 505, 1023, 1024, 497, 546, 941, 897, + 508, 822, 1012, 1027, 576, 265, 1033, 303, 608, 508, + 607, 168, 170, 169, 191, 231, 508, 508, 508, 508, + 508, 546, 602, 601, 463, 481, 1044, 295, 1048, 1046, + 99, 960, 498, 546, 88, 1051, 1035, 1052, 526, 387, + 254, 75, 74, 230, 546, 73, 251, 248, 1060, 1058, + 815, 192, 172, 176, 175, 1065, 63, 534, 783, 375, + 560, 264, 1072, 230, 546, 352, 351, 350, 349, 1074, + 805, 1080, 432, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 705, 496, 230, 704, 230, 886, 808, 809, + 667, 330, 496, 871, 1045, 230, 1011, 1043, 1010, 496, + 496, 496, 496, 496, 1009, 1008, 1006, 231, 1005, 969, + 932, 1061, 1025, 870, 869, 868, 964, 508, 508, 508, + 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, + 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, + 508, 508, 508, 508, 926, 867, 508, 866, 593, 689, + 687, 1014, 944, 909, 949, 495, 914, 620, 549, 646, + 628, 622, 621, 390, 40, 693, 544, 388, 39, 542, + 508, 862, 14, 13, 1078, 1075, 230, 230, 1069, 956, + 508, 637, 636, 627, 629, 640, 641, 638, 639, 642, + 644, 643, 645, 630, 631, 632, 623, 625, 626, 624, + 230, 1068, 1066, 1050, 991, 920, 918, 856, 794, 196, + 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, + 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, + 496, 496, 496, 496, 496, 496, 496, 789, 539, 496, + 195, 954, 680, 952, 679, 377, 163, 160, 156, 520, + 231, 332, 1034, 1015, 907, 508, 666, 665, 140, 662, + 516, 508, 508, 496, 139, 903, 836, 770, 272, 515, + 231, 833, 769, 496, 660, 325, 11, 10, 6, 5, + 1, 316, 312, 230, 126, 118, 503, 3, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, + 0, 231, 0, 231, 170, 169, 191, 0, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 153, + 0, 0, 230, 0, 0, 0, 508, 0, 0, 900, + 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 230, 496, 226, + 226, 0, 508, 0, 496, 496, 0, 0, 635, 633, + 634, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 231, 231, 0, 620, 508, 646, 628, + 622, 621, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 230, 0, 0, 0, 0, 0, 231, 0, 496, + 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, + 643, 645, 630, 631, 632, 623, 625, 626, 624, 620, + 0, 0, 628, 622, 621, 496, 0, 0, 0, 0, + 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, + 508, 0, 30, 0, 0, 508, 629, 640, 641, 638, + 639, 642, 644, 643, 645, 630, 631, 632, 623, 625, + 626, 624, 0, 0, 0, 144, 150, 154, 379, 380, + 496, 164, 0, 0, 0, 0, 0, 508, 508, 197, + 231, 0, 0, 191, 205, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 222, 408, 0, 0, 234, 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, - 244, 245, 246, 247, 0, 0, 0, 505, 0, 0, - 261, 0, 0, 0, 0, 275, 276, 632, 278, 279, - 0, 0, 0, 493, 0, 0, 0, 0, 493, 290, - 0, 427, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 438, 440, 0, 0, 0, 0, - 231, 0, 0, 618, 0, 644, 626, 620, 619, 0, - 493, 493, 454, 231, 0, 0, 0, 0, 0, 0, - 0, 239, 0, 0, 331, 0, 0, 635, 634, 625, - 627, 638, 639, 636, 637, 640, 642, 641, 643, 628, - 629, 630, 621, 623, 624, 622, 0, 0, 0, 0, - 0, 493, 0, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 0, 0, 154, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 392, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 0, 0, 0, 0, 0, 0, - 0, 0, 549, 0, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, - 0, 0, 239, 0, 415, 417, 417, 0, 0, 0, - 231, 0, 425, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 154, 154, 272, 0, - 442, 0, 0, 417, 0, 0, 0, 0, 0, 417, - 290, 0, 0, 0, 0, 417, 725, 0, 0, 0, - 595, 417, 469, 192, 172, 176, 175, 474, 0, 0, - 0, 0, 231, 0, 231, 0, 0, 0, 0, 0, - 0, 0, 0, 231, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 521, 633, 631, 632, 0, 0, - 0, 525, 526, 527, 528, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 379, 0, 0, 0, 530, 0, - 828, 0, 0, 618, 0, 644, 626, 620, 619, 0, - 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 231, 231, 0, 635, 634, 625, - 627, 638, 639, 636, 637, 640, 642, 641, 643, 628, - 629, 630, 621, 623, 624, 622, 454, 231, 454, 0, - 168, 170, 169, 191, 0, 0, 0, 454, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 618, 0, - 0, 626, 620, 619, 584, 586, 0, 0, 0, 417, - 0, 0, 154, 0, 0, 0, 0, 0, 601, 814, - 192, 172, 176, 175, 625, 627, 638, 639, 636, 637, - 640, 642, 641, 643, 628, 629, 630, 621, 623, 624, - 622, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 244, 245, 246, 247, 0, 0, 0, 0, 508, 231, + 261, 0, 176, 175, 0, 275, 276, 0, 278, 279, + 0, 0, 0, 496, 0, 430, 0, 0, 496, 290, + 0, 0, 0, 0, 231, 0, 0, 0, 441, 443, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 231, 0, 0, 0, 0, 0, 0, 783, 783, + 178, 0, 537, 0, 620, 0, 457, 628, 622, 621, + 496, 496, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 239, 0, 0, 331, 0, 0, 0, 637, 636, + 627, 629, 640, 641, 638, 639, 642, 644, 643, 645, + 630, 631, 632, 623, 625, 626, 624, 0, 231, 0, + 0, 496, 0, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 0, 0, 0, 154, 652, 0, + 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, + 0, 392, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 0, 0, 552, 0, 553, 208, + 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, + 220, 212, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 239, 0, 418, 420, 420, 0, 0, 0, + 0, 0, 428, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 154, 154, 0, 0, + 445, 0, 0, 420, 0, 0, 0, 0, 0, 420, + 290, 0, 0, 0, 0, 420, 0, 597, 0, 0, + 0, 420, 472, 0, 0, 0, 0, 477, 0, 0, + 0, 0, 0, 0, 0, 0, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 759, 0, 524, 652, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 231, 674, 0, 0, 0, 0, 0, - 0, 554, 633, 631, 632, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 438, 0, 0, 0, 0, 0, - 595, 0, 0, 0, 0, 0, 0, 708, 0, 0, - 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, - 618, 826, 644, 626, 620, 619, 0, 191, 0, 0, + 0, 379, 168, 170, 169, 191, 0, 0, 533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 722, 0, 0, 0, 635, 634, 625, 627, 638, 639, - 636, 637, 640, 642, 641, 643, 628, 629, 630, 621, - 623, 624, 622, 0, 0, 850, 176, 175, 0, 0, - 0, 0, 633, 631, 632, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 0, 0, 0, 554, 0, 0, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 454, 0, 331, 772, 766, - 618, 0, 644, 626, 620, 619, 0, 0, 0, 0, + 0, 408, 0, 0, 154, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 896, 0, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, + 0, 0, 457, 0, 457, 0, 635, 633, 634, 0, + 0, 0, 0, 457, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 828, 0, 0, 586, 588, 0, + 831, 832, 420, 768, 620, 154, 646, 628, 622, 621, + 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 637, 636, + 627, 629, 640, 641, 638, 639, 642, 644, 643, 645, + 630, 631, 632, 623, 625, 626, 624, 0, 0, 0, + 0, 635, 633, 634, 785, 785, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 899, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 676, 408, 0, + 0, 0, 0, 0, 0, 0, 829, 0, 0, 620, + 441, 646, 628, 622, 621, 0, 597, 0, 0, 0, + 0, 0, 0, 0, 0, 635, 633, 634, 0, 710, + 0, 0, 0, 637, 636, 627, 629, 640, 641, 638, + 639, 642, 644, 643, 645, 630, 631, 632, 623, 625, + 626, 624, 0, 0, 0, 0, 943, 0, 0, 0, + 0, 0, 724, 620, 827, 646, 628, 622, 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 783, 0, 0, 0, 635, 634, 625, 627, 638, 639, - 636, 637, 640, 642, 641, 643, 628, 629, 630, 621, - 623, 624, 622, 417, 820, 0, 154, 823, 0, 0, - 0, 0, 154, 168, 170, 169, 191, 0, 0, 0, + 0, 851, 0, 0, 0, 0, 0, 637, 636, 627, + 629, 640, 641, 638, 639, 642, 644, 643, 645, 630, + 631, 632, 623, 625, 626, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 0, 0, 673, 0, - 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 839, 0, 0, - 0, 0, 0, 0, 847, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 0, 0, 883, 0, 0, - 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, - 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, - 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 417, 0, - 0, 0, 0, 0, 92, 417, 417, 0, 0, 8, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 331, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 608, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 15, - 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, - 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 477, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, - 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 457, 0, 0, 0, 0, 168, 170, 169, 191, 331, + 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 727, 0, + 0, 0, 0, 0, 806, 192, 172, 176, 175, 0, + 0, 0, 0, 0, 0, 420, 821, 0, 154, 824, + 0, 0, 0, 0, 154, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 0, 0, 408, + 0, 0, 0, 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 840, + 33, 0, 0, 21, 0, 0, 848, 22, 23, 37, + 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, + 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, + 0, 0, 51, 95, 420, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 610, 34, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 420, 0, + 0, 0, 0, 0, 0, 420, 420, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 331, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, + 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 1037, 62, 0, 96, 0, + 91, 76, 16, 480, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, + 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 988, 62, 0, 96, + 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -906,7 +875,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 789, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 1036, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -919,7 +888,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 662, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 987, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -927,150 +896,191 @@ var yyAct = [...]int{ 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 763, 0, 0, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 633, 631, 632, 0, + 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 714, 0, 0, 91, 76, 16, 0, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 791, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 618, 0, 644, 626, 620, 619, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 635, 634, - 625, 627, 638, 639, 636, 637, 640, 642, 641, 643, - 628, 629, 630, 621, 623, 624, 622, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 664, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 765, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 635, 633, + 634, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 716, 0, 0, 91, 76, 16, 0, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 0, 0, 620, 0, 646, 628, + 622, 621, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, + 643, 645, 630, 631, 632, 623, 625, 626, 624, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 670, 0, 0, 0, 0, 0, 0, 192, 172, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 675, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 607, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 672, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 604, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 609, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 580, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, + 174, 177, 179, 180, 178, 606, 0, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 563, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 391, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 412, 0, - 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 384, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 335, 0, 0, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, + 179, 180, 178, 582, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 565, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 0, 0, 0, 0, 455, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 391, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 415, 0, 0, 192, + 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 333, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 633, 631, 632, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 618, 0, 644, 626, 620, - 619, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, - 634, 625, 627, 638, 639, 636, 637, 640, 642, 641, - 643, 628, 629, 630, 621, 623, 624, 622, 0, 0, - 0, 192, 172, 176, 175, 170, 169, 191, 0, 0, + 177, 179, 180, 178, 384, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 335, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 333, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 635, 633, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 192, 172, 176, 175, 169, 191, + 180, 178, 0, 620, 0, 646, 628, 622, 621, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 637, 636, 627, + 629, 640, 641, 638, 639, 642, 644, 643, 645, 630, + 631, 632, 623, 625, 626, 624, 0, 0, 0, 192, + 172, 176, 175, 0, 634, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 620, 0, 646, 628, 622, 621, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 637, 636, 627, 629, 640, 641, + 638, 639, 642, 644, 643, 645, 630, 631, 632, 623, + 625, 626, 624, 0, 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 0, 192, 172, 176, 175, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 174, 177, 179, 180, 178, 192, 172, 176, 175, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 172, 176, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 620, 0, 0, 628, 622, 621, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 192, 172, 176, - 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 618, 0, - 0, 626, 620, 619, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 635, 634, 625, 627, 638, 639, 636, 637, - 640, 642, 641, 643, 628, 629, 630, 621, 623, 624, - 622, 0, 172, 176, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 618, 0, 0, - 626, 620, 619, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 634, 625, 627, 638, 639, 636, 637, 640, - 642, 641, 643, 628, 629, 630, 621, 623, 624, 622, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 636, 627, 629, + 640, 641, 638, 639, 642, 644, 643, 645, 630, 631, + 632, 623, 625, 626, 624, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 172, 176, - 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 172, 176, 175, 0, 0, 0, 0, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 599, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 620, 91, 76, 628, 622, 621, 0, 62, + 592, 96, 0, 0, 598, 57, 56, 58, 59, 72, + 119, 0, 0, 0, 0, 0, 0, 0, 627, 629, + 640, 641, 638, 639, 642, 644, 643, 645, 630, 631, + 632, 623, 625, 626, 624, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, + 148, 112, 108, 102, 599, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 598, + 57, 56, 58, 59, 72, 119, 0, 0, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 597, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 590, 96, 0, 0, 596, + 0, 0, 0, 620, 62, 0, 96, 622, 621, 825, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 191, 0, - 0, 148, 112, 108, 102, 597, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 172, 176, 175, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 596, 57, 56, 58, 59, 72, 119, 0, 0, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 618, 0, 0, 626, - 620, 619, 0, 0, 0, 0, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 627, 638, 639, 636, 637, 640, 642, - 641, 643, 628, 629, 630, 621, 623, 624, 622, 44, + 94, 640, 641, 638, 639, 642, 644, 643, 645, 630, + 631, 632, 623, 625, 626, 624, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, @@ -1080,7 +1090,22 @@ var yyAct = [...]int{ 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 824, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 589, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 191, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 172, 176, 175, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 587, 57, 56, 58, 59, 72, 119, 0, 0, + 0, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1093,22 +1118,7 @@ var yyAct = [...]int{ 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 587, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 191, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 172, 176, - 175, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 585, 57, 56, 58, 59, 72, 119, 0, - 0, 0, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, + 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1117,28 +1127,28 @@ var yyAct = [...]int{ 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, + 86, 0, 191, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 291, 57, 56, 58, 59, 72, 119, 82, + 0, 91, 76, 0, 0, 0, 0, 62, 417, 96, + 172, 176, 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 94, 0, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 414, - 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, + 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, + 96, 0, 0, 393, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, @@ -1146,8 +1156,8 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 393, 57, 56, 58, 59, 72, + 0, 0, 0, 91, 76, 0, 0, 151, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1159,7 +1169,7 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 151, 0, + 70, 0, 0, 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, @@ -1172,7 +1182,7 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 149, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 143, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, @@ -1185,25 +1195,25 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 143, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 68, 69, 70, 0, 0, 620, 91, 76, 628, 622, + 621, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 640, 641, 638, 639, 642, 644, 643, + 645, 630, 631, 632, 623, 625, 626, 624, 82, 83, + 71, 0, 104, 105, 125, 429, 120, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 618, 91, 76, 626, - 620, 619, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 638, 639, 636, 637, 640, 642, - 641, 643, 628, 629, 630, 621, 623, 624, 622, 82, - 83, 71, 0, 104, 105, 125, 426, 120, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, @@ -1211,178 +1221,165 @@ var yyAct = [...]int{ 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, + 85, 86, 0, 0, 0, 0, 79, 52, 104, 105, + 125, 77, 41, 147, 0, 0, 0, 0, 506, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 104, - 105, 125, 77, 41, 147, 0, 0, 0, 0, 503, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 498, 0, 501, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 496, 112, 108, 497, 104, 105, 125, 0, 0, 0, - 0, 0, 0, 0, 503, 0, 0, 0, 0, 232, + 501, 0, 504, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 499, + 112, 108, 500, 104, 105, 125, 0, 0, 0, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 756, 510, 0, 499, 0, 0, 0, - 509, 508, 506, 507, 0, 0, 498, 0, 501, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 504, 0, 0, 0, 0, 496, 112, 108, 497, 0, + 0, 0, 758, 513, 0, 502, 0, 0, 0, 512, + 511, 509, 510, 0, 0, 501, 0, 504, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 499, 112, 108, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, + 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, - 0, 499, 0, 0, 0, 509, 508, 506, 507, + 0, 0, 0, 0, 0, 0, 0, 0, 513, 0, + 502, 0, 0, 0, 512, 511, 509, 510, } var yyPact = [...]int{ - -1000, -1000, 2552, -1000, -1000, -1000, -1000, 354, 568, 757, - 207, -1000, 380, -1000, -1000, 986, -1000, 296, -1000, -1000, - 352, 296, 5739, 5608, 5477, 433, 220, 873, 5870, -1000, - 3856, 351, 344, -1000, -1000, -1000, 5870, 983, 36, 982, - 980, 5870, -1000, -1000, -1000, -1000, 795, -1000, 788, -1000, - 1017, 343, 5870, 551, 704, 704, 5870, 5870, 5870, 5870, - -1000, -1000, 6156, -1000, 5870, 5870, 5870, 5870, 5870, 5870, - 5870, 342, -1000, -1000, 235, 231, 880, 5870, 764, 708, - 341, 339, 5870, 5870, 337, 5870, 5870, -1000, 230, -1000, - -1000, 864, 829, -1000, 223, 335, 5084, -1000, 214, -1000, - -1000, 587, 952, 635, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 174, 203, -1000, 633, -1000, -1000, 491, - -1000, 293, 357, -1000, 952, -1000, 176, 699, 680, -1000, - 771, 952, -1000, 978, -1000, -9, 456, 379, 6156, 296, - 3207, 5870, -1000, -1000, 3809, -1000, 36, 854, 613, -1000, - 3762, -1000, 430, 1157, 3944, -1000, 139, -1000, -1000, 447, - 138, 36, -24, 137, 3944, -1000, -1000, -1000, -1000, -1000, - 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, - 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, - 5870, 708, 371, 704, 5870, 331, 492, 3715, 428, 976, - -1000, 781, -1000, -1000, 1017, 3668, -1000, -1000, 5346, 5870, - 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, 5870, - 5870, -1000, -1000, -1000, -1000, -1000, -1000, 587, 609, 952, - 630, 626, -1000, -1000, -109, -109, -6, -109, 290, 3624, - 289, -109, -109, -109, -109, -109, -109, -109, -1000, 5215, - -1000, 5870, 5870, 5870, 449, 837, 803, -1000, 274, 6025, - 704, 4070, -1000, -1000, 624, -1000, 587, 598, 952, 748, - 174, 203, 621, 5870, 5870, 3944, 3944, 5870, 3944, 3944, - 5870, 575, 837, 842, -1000, 807, 5870, 5084, 184, 28, - 3580, 704, 5870, 194, 974, 305, 587, 62, 5870, 5870, - 174, 491, 181, 305, 5870, 426, -1000, -1000, 2421, 587, - -1000, 707, 136, -1000, 755, 952, 92, -1000, 753, 952, - 973, 674, -28, 6316, -1000, 3207, -1000, -1000, 908, 423, - 22, 3944, 334, -1000, -1000, -1000, -1000, -1000, -1000, 220, - -1000, 5870, -1000, -1000, 936, -1000, 6316, -1000, 5870, 5870, - 5870, 5870, 5870, 4029, 4920, 1967, 5213, -31, -31, -31, - -6, -109, -6, -6, 99, 99, 41, 41, 41, 41, - 355, 355, 355, 355, -1000, 5870, -1000, 49, -1000, -1000, - 632, 871, 972, -1000, -1000, -1000, -1000, 329, -1000, 709, - 768, 5870, 4070, 313, 4070, 4070, 4070, 4070, 4070, 4070, - 4070, 4070, 4070, 4070, 4070, 4070, 390, 952, 587, 61, - 61, -1000, -1000, -1000, -1000, -109, 175, 3944, 172, -1000, - -1000, -1000, -1000, -1000, 970, 3499, 193, 455, 61, 305, - 219, 952, 587, -1000, 174, 219, 48, -1000, 1017, -1000, - 143, 288, 3451, 169, -1000, -1000, -1000, 168, 286, -1000, - -1000, 4934, 4803, -1000, -1000, 152, 5870, -1000, -1000, 4381, - 305, -1000, -1000, -1000, -1000, 5870, 174, 203, 150, 3407, - -1000, -1000, -1000, -1000, 3359, -1000, 2290, -1000, 305, -1000, - -1000, 699, 968, 641, -1000, 680, 967, 589, -1000, 965, - 6316, -1000, 3900, -1000, -1000, 587, 594, 952, 328, 6316, - -1000, -1000, -1000, -1000, 784, 619, 6316, 6316, 6316, 6316, - 6316, -1000, -1000, 3076, -1000, -1000, -1000, -1000, 422, 421, - -1000, 3311, -29, 323, -1000, 3944, 4250, 4498, 3987, 4070, - 2106, 5870, 419, 704, -1000, -1000, 34, -36, 454, 321, - 783, 758, -1000, 587, 592, 952, 490, 709, -1000, 1017, - -1000, 708, 2, -1000, -1000, 317, 587, -1000, -1000, -1000, - -1000, 926, -1000, -1000, 5870, -1000, -1000, 202, -1000, -1000, - -1000, -1000, -1000, 587, 61, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 3263, 704, 3944, 704, -1000, 149, - -1000, -20, 285, -1000, -1000, 1017, 704, 5870, -1000, 305, - 305, 1646, 174, -1000, -1000, 305, 305, -1000, -1000, -1000, - -1000, -1000, 959, -1000, -1000, 956, -1000, -1000, 6316, 6316, - 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, - 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, - 6316, 6316, 6316, 6316, 6241, 952, 587, 6316, 142, -5, - 3219, 640, 847, -71, -71, -43, -43, 2015, -1000, -1000, - -1000, -1000, -1000, 296, 5870, 5870, 480, -1000, 876, -1000, - -1000, 6316, 783, -1000, 4154, -1000, -1000, 471, 471, 2945, - 954, 6316, 834, 783, 282, -33, -1000, 36, -1000, -1000, - -1000, 485, 709, 952, 587, -1000, -42, -1000, -1000, -41, - 390, -1000, -1000, 213, 111, -1000, -1000, -1000, 1813, -1000, - 5870, 5870, -1000, 5870, 4672, -1000, -1000, -1000, -1000, 4512, - -1000, -1000, 3944, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1925, -43, -43, -71, -71, -71, -71, 4541, 1161, 5861, - 57, 57, -43, 1468, 1279, 216, 1793, 4172, 1049, 1049, - 1049, 1049, 259, 259, 259, 259, 6316, 1728, 587, 281, - -1000, -1000, 6316, 6316, -1000, -1000, -1000, 573, -1000, 906, - 417, 416, 3944, -1000, 5870, 316, 463, 415, 862, -1000, - 277, 5870, 663, -1000, 704, 312, 663, -1000, -1000, -1000, - -44, -1000, -1000, 310, 273, 804, 783, 529, -1000, -42, - 587, 1293, 709, 305, 5870, -1000, 390, -1000, 177, 667, - 5870, -1000, 61, -1000, 453, -1000, 63, 42, 305, 107, - 89, -1000, -1000, 3944, 704, -1000, -1000, 4113, 6316, -1000, - 1219, 3900, -1000, 296, 3207, 569, 414, -1000, -1000, -11, - -1000, -1000, -1000, -1000, -1000, 412, 804, 4154, 272, 471, - -1000, -1000, 269, 874, 6316, 810, -1000, 484, 482, 304, - -1000, 935, -1000, 979, -1000, -1000, -1000, -30, -1000, 854, - 710, -1000, 950, 709, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 4070, -34, 5870, 667, -1000, 88, -1000, - -1000, 667, 5870, 5870, -1000, -1000, -1000, 741, -1000, 4113, - 6316, -1000, -1000, 487, 296, 370, -1000, 5870, -1000, -1000, - -1000, 474, -1000, -1000, 390, -1000, 410, -1000, -1000, -1000, - 709, -1000, -1000, 224, -48, -1000, 932, -1000, 949, 36, - -1000, -66, -52, -1000, -1000, 86, 667, -1000, -1000, -1000, - 64, 39, -1000, 61, 3900, 3207, 407, 358, -1000, 267, - -1000, -1000, -1000, 2814, -37, 2814, -1000, 472, -1000, 452, - 448, -38, -1000, 931, 6316, -46, -68, -73, 944, 6316, - -1000, 709, -1000, 789, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 445, -1000, -1000, -1000, -1000, - -1000, -1000, 925, -1000, -1000, -1000, 198, -1000, -1000, -1000, - 921, 6316, 6316, -1000, -1000, -1000, 444, 789, -1000, 404, - 384, 821, 867, 579, -1000, -1000, 2683, -1000, 894, 438, - 261, -1000, 920, -74, -1000, -1000, 295, -1000, -1000, -1000, - -1000, 709, 710, 942, -1000, -1000, -1000, -1000, 382, -1000, - -1000, -1000, 6316, 783, -70, -1000, 940, -1000, -1000, 899, - -1000, 460, -1000, 240, 709, -1000, 369, -1000, 368, -1000, - -1000, 436, -1000, -1000, -1000, -1000, 435, 832, -1000, -1000, - 832, -1000, 275, -1000, 709, -1000, 919, 238, -1000, 458, - -1000, 359, -1000, + -1000, -1000, 2504, -1000, -1000, -1000, -1000, 377, 574, 703, + 176, -1000, 386, -1000, -1000, 955, -1000, 290, -1000, -1000, + 376, 290, 5708, 5577, 5446, 442, 214, 848, 5839, -1000, + 3854, 375, 373, -1000, -1000, -1000, 5839, 952, -57, 951, + 950, 5839, -1000, -1000, -1000, -1000, 768, -1000, 740, -1000, + 1607, 370, 5839, 565, 281, 281, 5839, 5839, 5839, 5839, + -1000, -1000, 6125, -1000, 5839, 5839, 5839, 5839, 5839, 5839, + 5839, 361, -1000, -1000, 255, 236, 836, 5839, 746, 441, + 346, 343, 5839, 5839, 337, 5839, 5839, -1000, 230, -1000, + -1000, 832, 807, -1000, 229, 325, 5053, -1000, 228, -1000, + -1000, 596, 924, 698, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 224, 183, -1000, 686, -1000, -1000, 540, + -1000, 286, 410, -1000, 924, -1000, 169, 708, 675, -1000, + 716, 924, -1000, 949, -1000, 28, 484, 380, 6125, 290, + 3159, 5839, -1000, -1000, 3807, -1000, -57, 817, 650, -1000, + 3760, -1000, 437, 335, 3942, -1000, 168, -1000, -1000, 440, + 167, -57, 25, 165, 3942, -1000, -1000, -1000, -1000, -1000, + 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, + 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, + 5839, 441, 305, 281, 5839, 323, 542, 3713, 433, 944, + -1000, 760, -1000, -1000, 1607, 3666, -1000, -1000, 5315, 5839, + 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, + 5839, 409, -1000, -1000, -1000, -1000, -1000, 596, 648, 924, + 685, 682, -1000, -1000, -108, -108, -11, -108, 285, 3622, + 282, -108, -108, -108, -108, -108, -108, -108, -1000, 5184, + -1000, 5839, 5839, 5839, 535, 725, 800, -1000, 257, 5994, + 281, 4068, -1000, -1000, 673, -1000, 596, 647, 924, 738, + 224, 183, 671, 5839, 5839, 3942, 3942, 5839, 3942, 3942, + 5839, 588, 725, 766, -1000, 797, 5839, 5053, 170, 54, + 3578, 281, 5839, 220, 942, 294, 596, 71, 5839, 5839, + 224, 540, 74, 294, 5839, 432, -1000, -1000, 2373, 596, + -1000, 709, 149, -1000, 714, 924, 75, -1000, 674, 924, + 938, 670, -10, 6285, -1000, 3159, -1000, -1000, 873, 431, + 52, 3942, 336, -1000, -1000, -1000, -1000, -1000, -1000, 214, + -1000, 5839, -1000, -1000, 904, -1000, 6285, -1000, 5839, 5839, + 5839, 5839, 5839, 4027, 4889, 211, 5182, 17, 17, 17, + -11, -108, -11, -11, 267, 267, 1433, 1433, 1433, 1433, + 37, 37, 37, 37, -1000, 5839, -1000, 90, -1000, -1000, + 1573, 852, 935, -1000, -1000, -1000, -1000, 319, -1000, 657, + 752, 5839, 4068, 309, 4068, 4068, 4068, 4068, 4068, 4068, + 4068, 4068, 4068, 4068, 4068, 4068, 53, -1000, -1000, 318, + 924, 596, 57, 57, -1000, -1000, -1000, -1000, -108, 159, + 3942, 142, -1000, -1000, -1000, -1000, -1000, 933, 3497, 205, + 483, 57, 294, 197, 924, 596, -1000, 224, 197, 50, + -1000, 1607, -1000, 135, 280, 3449, 141, -1000, -1000, -1000, + 134, 279, -1000, -1000, 4903, 4772, -1000, -1000, 113, 5839, + -1000, -1000, 4336, 294, -1000, -1000, -1000, -1000, 5839, 224, + 183, 112, 3405, -1000, -1000, -1000, -1000, 3357, -1000, 2233, + -1000, 294, -1000, -1000, 708, 932, 665, -1000, 675, 931, + 660, -1000, 930, 6285, -1000, 3898, -1000, -1000, 596, 634, + 924, 317, 6285, -1000, -1000, -1000, -1000, 736, 668, 6285, + 6285, 6285, 6285, 6285, -1000, -1000, 3028, -1000, -1000, -1000, + -1000, 429, 427, -1000, 3309, -22, 314, -1000, 3942, 4205, + 4477, 1236, 4068, 3261, 5839, 425, 281, -1000, -1000, 38, + -23, 481, 313, 701, 748, -1000, 596, 620, 924, 539, + 657, -1000, 1607, -1000, 441, -25, 409, -1000, 596, -1000, + -1000, -1000, -1000, 886, -1000, -1000, 5839, -1000, -1000, 233, + -1000, -1000, -1000, -1000, -1000, 596, 57, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 3215, 281, 3942, 281, + -1000, 110, -1000, 35, 278, -1000, -1000, 1607, 281, 5839, + -1000, 294, 294, 2058, 224, -1000, -1000, 294, 294, -1000, + -1000, -1000, -1000, -1000, 927, -1000, -1000, 926, -1000, -1000, + 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, + 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, + 6285, 6285, 6285, 6285, 6285, 6285, 6210, 924, 596, 6285, + 107, 51, 3171, 706, 806, -63, -63, -31, -31, 1819, + -1000, -1000, -1000, -1000, -1000, 290, 5839, 5839, 534, -1000, + 857, -1000, -1000, 6285, 701, -1000, 4109, -1000, -1000, 408, + 408, 2897, 925, 6285, 809, 701, 277, 33, -1000, -57, + -1000, -1000, -1000, 538, 657, 924, 596, -1000, 30, -1000, + -1000, 5839, -1000, 409, -1000, 180, 106, -1000, -1000, -1000, + 934, -1000, 5839, 5839, -1000, 5839, 4641, -1000, -1000, -1000, + -1000, 4491, -1000, -1000, 3942, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1958, -31, -31, -63, -63, -63, -63, 1334, + 4638, 5830, 99, 99, -31, 3985, 1052, 91, 4327, 4127, + 453, 453, 453, 453, -65, -65, -65, -65, 6285, 1904, + 596, 275, -1000, -1000, 6285, 6285, -1000, -1000, -1000, 604, + -1000, 870, 424, 420, 3942, -1000, 5839, 304, 532, 419, + 837, -1000, 274, 5839, 677, -1000, 281, 300, 677, -1000, + -1000, -1000, -43, -1000, -1000, 299, 269, 781, 701, 478, + -1000, 30, 596, 735, 657, 294, 4068, 34, -1000, 200, + 729, 5839, -1000, 57, -1000, 473, -1000, 190, 173, 294, + 105, 1765, -1000, -1000, 3942, 281, -1000, -1000, 1479, 6285, + -1000, 1291, 3898, -1000, 290, 3159, 579, 413, -1000, -1000, + -12, -1000, -1000, -1000, -1000, -1000, 412, 781, 4109, 268, + 408, -1000, -1000, 263, 858, 6285, 789, -1000, 536, 488, + 291, -1000, 902, -1000, 624, -1000, -1000, -1000, -29, -1000, + 817, 669, -1000, 920, 657, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 5839, 729, -1000, 89, -1000, + -1000, 729, 5839, 5839, -1000, -1000, -1000, 737, -1000, 1479, + 6285, -1000, -1000, 568, 290, 283, -1000, 5839, -1000, -1000, + -1000, 487, -1000, -1000, 409, -1000, 407, -1000, -1000, -1000, + 657, -1000, -1000, 199, -45, -1000, 895, -1000, 910, -57, + -1000, -46, -53, -1000, 87, 729, -1000, -1000, -1000, 86, + -2, -1000, 57, 3898, 3159, 406, 172, -1000, 262, -1000, + -1000, -1000, 2766, -4, 2766, -1000, 454, -1000, 469, 467, + -16, -1000, 894, 6285, -48, -51, -64, 909, 6285, -1000, + 657, -1000, 718, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 466, -1000, -1000, -1000, -1000, -1000, + -1000, 892, -1000, -1000, -1000, 194, -1000, -1000, -1000, 890, + 6285, 6285, -1000, -1000, -1000, 465, 718, -1000, 404, 397, + 776, 849, 656, -1000, -1000, 2635, -1000, 839, 459, 260, + -1000, 888, -66, -1000, -1000, 289, -1000, -1000, -1000, -1000, + 657, 669, 908, -1000, -1000, -1000, -1000, 394, -1000, -1000, + -1000, 6285, 701, -47, -1000, 907, -1000, -1000, 867, -1000, + 443, -1000, 259, 657, -1000, 388, -1000, 405, -1000, -1000, + 457, -1000, -1000, -1000, -1000, 449, 805, -1000, -1000, 805, + -1000, 258, -1000, 657, -1000, 885, 171, -1000, 411, -1000, + 448, -1000, } var yyPgo = [...]int{ - 0, 1389, 49, 45, 37, 598, 1387, 1367, 5, 504, - 1196, 51, 0, 1364, 1363, 1360, 1358, 25, 1357, 1353, - 1351, 3, 2, 1351, 1350, 22, 1345, 1343, 1342, 1341, - 1339, 1338, 1336, 1334, 1332, 1330, 1313, 1312, 1309, 18, - 1292, 1288, 1287, 1285, 1284, 1283, 1472, 39, 1310, 46, - 1282, 1281, 1279, 1275, 1274, 28, 30, 1273, 11, 1272, - 1271, 1269, 1266, 1265, 1264, 1263, 1262, 1260, 1259, 13, - 1258, 1257, 1256, 1255, 1254, 1253, 1, 1250, 1249, 36, - 1248, 1247, 12, 1245, 20, 1244, 4, 1204, 1201, 1200, - 1199, 27, 1198, 1197, 1194, 29, 1193, 15, 42, 21, - 1192, 1191, 1190, 1189, 1188, 34, 1187, 53, 1185, 35, - 61, 47, 66, 1184, 1181, 1180, 1177, 1175, 1173, 1172, - 1171, 1170, 1169, 1168, 1167, 1166, 8, 1151, 1150, 1122, - 1121, 1119, 1118, 6, 1117, 1116, 1115, 16, 24, 1114, - 309, 1113, 1112, 1111, 1110, 804, 43, 1104, 26, 1103, - 1102, 833, 1100, 1097, 1096, 1095, 1094, 1093, 1091, 1087, - 1086, 1085, 1084, 1076, 1074, 1073, 1071, 1070, 17, 1069, - 1066, 52, 1065, 1064, 1063, 1062, 1061, 60, 1059, 32, - 1058, 1057, 1054, 1053, 1052, 33, 1051, 14, 1050, 1049, - 1047, 668, 106, 1041, 41, 1037, 1036, 1035, 1034, 31, - 1033, 1031, 1030, 7, 1029, 1028, 1027, 1025, 1024, 19, - 1022, 1019, 1010, 1009, 57, 1001, 1000, 50, 999, 998, - 997, 38, 989, + 0, 1307, 50, 47, 46, 609, 1306, 1305, 15, 516, + 733, 51, 0, 1304, 1302, 1301, 1300, 30, 1299, 1298, + 1297, 3, 1, 1297, 1296, 17, 1295, 1294, 1292, 1291, + 1289, 1287, 1286, 1285, 1284, 1280, 1279, 1278, 1277, 21, + 1276, 1274, 1273, 1272, 1271, 1269, 1482, 32, 1314, 58, + 1268, 1267, 1266, 1265, 1264, 20, 29, 1263, 8, 1262, + 1261, 1260, 1258, 1257, 1229, 1228, 1227, 1226, 1225, 5, + 1224, 1223, 1222, 1221, 1199, 1198, 2, 1195, 1194, 44, + 1193, 1192, 16, 1191, 24, 1189, 4, 1188, 1187, 1186, + 1185, 22, 1184, 1183, 1178, 36, 1176, 13, 37, 23, + 1174, 1173, 1172, 1171, 1170, 28, 1169, 112, 1168, 33, + 61, 49, 63, 1167, 1165, 1164, 1136, 1135, 1134, 1133, + 1132, 1131, 1130, 1129, 1128, 1126, 6, 1125, 1124, 1118, + 1117, 1116, 1114, 7, 1113, 1111, 1110, 18, 11, 1109, + 45, 1108, 1107, 1105, 1102, 784, 43, 1082, 26, 1080, + 806, 1078, 1077, 1076, 1075, 1070, 1069, 1068, 1067, 1066, + 1057, 1056, 1055, 1052, 1051, 1050, 1049, 19, 1048, 1044, + 54, 1041, 1040, 1037, 1035, 1034, 48, 1033, 31, 1032, + 1020, 1018, 1017, 1015, 42, 1014, 14, 1011, 1009, 1008, + 682, 1175, 1006, 41, 1003, 1000, 999, 998, 40, 997, + 996, 995, 12, 993, 991, 990, 988, 987, 25, 986, + 984, 982, 981, 38, 980, 979, 53, 977, 970, 966, + 34, 944, } var yyR1 = [...]int{ @@ -1413,38 +1410,38 @@ var yyR1 = [...]int{ 133, 133, 133, 133, 116, 116, 116, 116, 117, 117, 52, 52, 39, 39, 136, 135, 135, 137, 137, 139, 139, 142, 141, 141, 141, 143, 144, 143, 147, 145, - 149, 47, 47, 47, 150, 47, 47, 47, 47, 47, + 47, 47, 47, 149, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 152, 47, 153, 47, 154, 47, 155, + 47, 47, 151, 47, 152, 47, 153, 47, 154, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 156, - 47, 157, 158, 47, 159, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 162, 47, 47, 47, 47, - 47, 47, 47, 167, 47, 169, 47, 49, 49, 49, - 49, 164, 164, 164, 164, 165, 165, 84, 168, 168, - 172, 172, 172, 172, 174, 173, 175, 173, 176, 173, - 178, 173, 180, 173, 181, 173, 182, 173, 183, 173, - 9, 9, 9, 9, 69, 69, 69, 146, 146, 186, - 188, 184, 184, 189, 189, 190, 161, 161, 161, 166, - 166, 166, 148, 148, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 6, 21, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 170, 170, 170, 170, 163, 163, 163, 163, 163, - 163, 163, 194, 194, 199, 199, 198, 198, 198, 198, - 46, 46, 25, 25, 112, 110, 151, 201, 202, 48, - 48, 204, 204, 205, 138, 206, 206, 208, 207, 203, - 203, 203, 179, 179, 210, 210, 10, 211, 212, 211, - 200, 200, 200, 185, 185, 185, 8, 8, 8, 7, - 7, 140, 140, 187, 187, 213, 213, 213, 177, 177, - 209, 209, 97, 97, 214, 215, 214, 214, 171, 171, - 216, 216, 216, 216, 216, 216, 216, 216, 191, 191, - 191, 191, 217, 218, 217, 217, 217, 217, 217, 219, - 219, 219, 160, 160, 160, 160, 160, 160, 160, 160, - 220, 222, 220, 221, 221, 196, 196, 193, 197, + 47, 47, 47, 47, 47, 47, 47, 47, 155, 47, + 156, 157, 47, 158, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 161, 47, 47, 47, 47, 47, + 47, 47, 166, 47, 168, 47, 49, 49, 49, 49, + 163, 163, 163, 163, 164, 164, 84, 167, 167, 171, + 171, 171, 171, 173, 172, 174, 172, 175, 172, 177, + 172, 179, 172, 180, 172, 181, 172, 182, 172, 9, + 9, 9, 9, 69, 69, 69, 146, 146, 185, 187, + 183, 183, 188, 188, 189, 160, 160, 160, 165, 165, + 165, 148, 148, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 6, 21, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 169, 169, 169, 169, 162, 162, 162, 162, 162, 162, + 162, 193, 193, 198, 198, 197, 197, 197, 197, 46, + 46, 25, 25, 112, 110, 150, 200, 201, 48, 48, + 203, 203, 204, 138, 205, 205, 207, 206, 202, 202, + 202, 178, 178, 209, 209, 10, 210, 211, 210, 199, + 199, 199, 184, 184, 184, 8, 8, 8, 7, 7, + 140, 140, 186, 186, 212, 212, 212, 176, 176, 208, + 208, 97, 97, 213, 214, 213, 213, 170, 170, 215, + 215, 215, 215, 215, 215, 215, 215, 190, 190, 190, + 190, 216, 217, 216, 216, 216, 216, 216, 218, 218, + 218, 159, 159, 159, 159, 159, 159, 159, 159, 219, + 221, 219, 220, 220, 195, 195, 192, 196, } var yyR2 = [...]int{ @@ -1475,38 +1472,38 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, 1, 0, 4, 1, 2, 1, 4, 3, 0, 3, 1, 1, 0, 0, 2, 0, 4, - 0, 7, 3, 4, 0, 7, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 2, 2, 0, 4, 0, 4, 0, 4, 0, - 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 1, 1, 0, - 5, 0, 0, 7, 0, 5, 1, 2, 2, 2, - 2, 2, 2, 2, 2, 0, 3, 1, 1, 1, - 3, 2, 1, 0, 10, 0, 11, 2, 2, 4, - 4, 4, 4, 4, 4, 4, 3, 1, 0, 4, - 3, 4, 1, 2, 0, 3, 0, 5, 0, 4, - 0, 5, 0, 5, 0, 5, 0, 5, 0, 3, - 1, 1, 3, 2, 1, 3, 2, 1, 1, 0, - 0, 6, 1, 2, 0, 2, 0, 2, 1, 0, - 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 2, 3, 1, 1, 1, - 1, 3, 2, 4, 3, 1, 1, 1, 4, 3, - 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, + 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 4, 5, 2, 2, - 3, 1, 1, 3, 2, 1, 1, 1, 1, 3, - 3, 1, 0, 2, 0, 1, 5, 3, 3, 1, - 1, 1, 3, 3, 1, 1, 1, 0, 0, 7, - 1, 2, 0, 0, 4, 4, 4, 0, 2, 1, - 1, 0, 1, 2, 3, 3, 1, 4, 0, 5, - 1, 1, 1, 1, 2, 1, 4, 4, 1, 1, - 4, 0, 1, 1, 1, 4, 4, 1, 1, 3, - 1, 2, 3, 1, 1, 0, 5, 0, 0, 2, - 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, - 1, 2, 1, 0, 5, 3, 3, 6, 3, 1, - 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, - 1, 0, 4, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 1, 0, 5, + 0, 0, 7, 0, 5, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 0, 3, 1, 1, 1, 3, + 2, 1, 0, 10, 0, 11, 2, 2, 4, 4, + 4, 4, 4, 4, 4, 3, 1, 0, 4, 3, + 4, 1, 2, 0, 3, 0, 5, 0, 4, 0, + 5, 0, 5, 0, 5, 0, 5, 0, 3, 1, + 1, 3, 2, 1, 3, 2, 1, 1, 0, 0, + 6, 1, 2, 0, 2, 0, 2, 1, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 2, 3, 1, 1, 1, 1, + 3, 2, 4, 3, 1, 1, 1, 4, 3, 3, + 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 4, 5, 2, 2, 3, + 1, 1, 3, 2, 1, 1, 1, 1, 3, 3, + 1, 0, 2, 0, 1, 5, 3, 3, 1, 1, + 1, 3, 3, 1, 1, 1, 0, 0, 7, 1, + 2, 0, 0, 4, 4, 4, 0, 2, 1, 1, + 0, 1, 2, 3, 3, 1, 4, 0, 5, 1, + 1, 1, 1, 2, 1, 4, 4, 1, 1, 4, + 0, 1, 1, 1, 4, 4, 1, 1, 3, 1, + 2, 3, 1, 1, 0, 5, 0, 0, 2, 5, + 3, 3, 1, 6, 4, 4, 2, 2, 2, 1, + 2, 1, 0, 5, 3, 3, 6, 3, 1, 1, + 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, + 0, 4, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ @@ -1515,13 +1512,13 @@ var yyChk = [...]int{ 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, -46, 48, 25, 27, 121, 40, 43, 36, -84, -87, -92, 97, -112, -47, 37, 52, 99, 53, 100, 54, - -48, 59, 92, -151, 104, 105, 130, 129, 131, 132, - -25, -145, 123, -160, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -163, -164, -165, 118, 96, -200, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -170, -197, - -5, 117, 74, 62, 18, 60, 125, -185, -211, -173, - -196, -12, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -209, -210, -10, -179, -7, 134, + -48, 59, 92, -150, 104, 105, 130, 129, 131, 132, + -25, -145, 123, -159, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -162, -163, -164, 118, 96, -199, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -169, -196, + -5, 117, 74, 62, 18, 60, 125, -184, -210, -172, + -195, -12, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -208, -209, -10, -178, -7, 134, 12, 123, -12, 119, 82, 10, -13, 37, 38, -2, -12, 82, 121, 135, 122, 10, -22, -25, 123, -34, -37, 123, -25, 121, -46, 97, -84, 98, 79, 121, @@ -1532,205 +1529,205 @@ var yyChk = [...]int{ 160, 90, 127, 123, 123, -61, -64, -46, 10, -82, 128, 10, 10, -47, -48, -46, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -46, 104, 105, -151, -48, -12, 79, 82, - -9, -10, 98, -151, -46, -46, -46, -46, -145, -46, - -49, -46, -46, -46, -46, -46, -46, -46, -161, 123, - -25, -162, 125, 125, -166, 17, -191, -217, 12, 76, - 77, -46, 57, -146, -9, -184, -12, 79, 82, -185, - -8, -209, -10, 123, 123, -46, -46, 123, -46, -46, - 125, -191, 17, 17, 75, -191, 125, 123, -171, -216, - -46, 128, 125, -212, 82, -174, -12, 78, 125, 119, - -8, 134, 78, -183, 119, 124, 121, 119, -11, -12, + 147, 123, -46, 104, 105, -150, -48, -12, 79, 82, + -9, -10, 98, -150, -46, -46, -46, -46, -145, -46, + -49, -46, -46, -46, -46, -46, -46, -46, -160, 123, + -25, -161, 125, 125, -165, 17, -190, -216, 12, 76, + 77, -46, 57, -146, -9, -183, -12, 79, 82, -184, + -8, -208, -10, 123, 123, -46, -46, 123, -46, -46, + 125, -190, 17, 17, 75, -190, 125, 123, -170, -215, + -46, 128, 125, -211, 82, -173, -12, 78, 125, 119, + -8, 134, 78, -182, 119, 124, 121, 119, -11, -12, 121, 135, -14, -3, -12, 82, -15, -4, -12, 82, 29, -12, 10, 136, 120, -26, 122, -25, -17, -39, -135, -46, -44, 121, -82, 121, 121, 121, 121, 135, - -112, 119, -48, 121, 135, -82, 136, 121, 135, -152, - -153, -154, -155, -46, -46, -46, -46, -46, -46, -46, + -112, 119, -48, 121, 135, -82, 136, 121, 135, -151, + -152, -153, -154, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -146, -157, 122, -53, -79, -48, - -48, -47, 123, 119, 121, 121, 10, -167, -88, 55, + -46, -46, -46, -46, -146, -156, 122, -53, -79, -48, + -48, -47, 123, 119, 121, 121, 10, -166, -88, 55, -93, 58, -46, 128, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -149, 82, -12, 78, - 78, 124, 124, 124, 124, -46, -140, -46, -140, 118, - -217, -217, 17, 125, 57, -46, 11, -48, -201, -147, - 78, 82, -12, 57, -8, 78, -220, -221, -48, -47, - -48, -47, -46, -140, 117, 75, 75, -140, -171, 126, - -199, 135, 58, -110, -48, -140, 125, 10, -107, 123, - -176, -177, -179, 10, 52, 119, -8, -209, -140, -46, - -177, -179, 10, -107, -46, 121, -11, 120, -175, -2, - 121, 135, 29, -12, 121, 135, 29, -12, 10, 29, - 136, -21, -192, -5, -193, -12, 79, 82, 60, 125, - -6, 62, -195, 18, 74, -9, 131, 132, 130, 129, - 123, -17, -30, -35, 21, 121, 135, -45, 119, 122, - -111, -46, 12, -169, -21, -46, -46, -46, -46, -46, - -46, -159, 124, 135, 29, 29, -62, 10, -22, -85, - 123, -89, -69, -12, 79, 82, -94, 55, -47, -48, - -48, 91, -97, -214, -48, 59, -12, 10, -156, 126, - 126, -218, 10, 120, 125, 120, -187, -213, -179, -177, - -148, -107, -179, -12, -186, -179, 124, 135, 124, 124, - 124, 126, 126, 124, -46, 128, -46, 128, 126, -140, - 124, -108, -49, -109, -47, -48, 128, 83, -107, -178, - -180, -46, -8, 126, 120, -181, -182, 120, 120, -107, - -3, 10, 29, -4, 10, 29, 10, -21, 125, 130, - 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, - 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, - 157, 159, 158, 160, 127, 82, -12, 123, -194, -198, - -192, 17, 78, -192, -192, -192, -192, -192, -27, -22, - -36, -17, 122, -38, -40, -136, -98, 121, -98, 121, - 120, 136, 123, 122, -46, 121, -79, -54, -59, 124, - 135, 136, 120, 123, -86, -104, -105, -106, 60, 61, - -69, -90, 56, 82, -12, 119, -95, -69, -146, 124, - 135, 123, -143, -144, -219, 10, 13, 12, -46, -202, - 125, 119, -187, -222, 58, -110, -110, 126, 124, 135, - 124, -110, -46, -107, -107, 120, -107, -107, 10, 10, - -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, -192, -192, -192, -192, -192, 122, -192, -12, -194, - 126, -199, 135, 58, 10, 52, 124, -28, -31, -22, - -25, -39, -46, 120, 32, 33, -98, 31, -98, -21, - -86, -158, -55, -48, 128, 59, -55, -63, -17, 122, - 10, -21, -65, 41, -86, 124, 135, -82, 119, -95, - -12, -91, 135, -150, 136, -214, -215, -141, -139, -137, - 125, -138, 57, 126, 126, -203, -207, -206, -208, -140, - -46, -188, -221, -46, 128, -109, 126, -192, 122, 124, - -192, -192, -29, 93, 94, -32, 22, 121, 121, -46, - -99, 122, 121, 120, 121, 31, 124, -46, -56, 58, - -48, 123, -56, -22, 136, -66, 123, 124, -168, 44, - -105, -83, 83, -91, 120, -113, -114, -117, -118, -119, - -134, 47, 38, 44, -133, 103, 102, 101, 98, 99, - 100, -69, -148, -46, -97, 125, -142, -138, -140, -187, - 120, -204, 125, 125, -107, 126, 120, -189, -110, -192, + -46, -46, -46, -46, -46, -46, -97, -213, -48, 59, + 82, -12, 78, 78, 124, 124, 124, 124, -46, -140, + -46, -140, 118, -216, -216, 17, 125, 57, -46, 11, + -48, -200, -147, 78, 82, -12, 57, -8, 78, -219, + -220, -48, -47, -48, -47, -46, -140, 117, 75, 75, + -140, -170, 126, -198, 135, 58, -110, -48, -140, 125, + 10, -107, 123, -175, -176, -178, 10, 52, 119, -8, + -208, -140, -46, -176, -178, 10, -107, -46, 121, -11, + 120, -174, -2, 121, 135, 29, -12, 121, 135, 29, + -12, 10, 29, 136, -21, -191, -5, -192, -12, 79, + 82, 60, 125, -6, 62, -194, 18, 74, -9, 131, + 132, 130, 129, 123, -17, -30, -35, 21, 121, 135, + -45, 119, 122, -111, -46, 12, -168, -21, -46, -46, + -46, -46, -46, -46, -158, 124, 135, 29, 29, -62, + 10, -22, -85, 123, -89, -69, -12, 79, 82, -94, + 55, -47, -48, -48, 91, 124, 135, 123, -12, 10, + -155, 126, 126, -217, 10, 120, 125, 120, -186, -212, + -178, -176, -148, -107, -178, -12, -185, -178, 124, 135, + 124, 124, 124, 126, 126, 124, -46, 128, -46, 128, + 126, -140, 124, -108, -49, -109, -47, -48, 128, 83, + -107, -177, -179, -46, -8, 126, 120, -180, -181, 120, + 120, -107, -3, 10, 29, -4, 10, 29, 10, -21, + 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, + 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, + 153, 154, 157, 159, 158, 160, 127, 82, -12, 123, + -193, -197, -191, 17, 78, -191, -191, -191, -191, -191, + -27, -22, -36, -17, 122, -38, -40, -136, -98, 121, + -98, 121, 120, 136, 123, 122, -46, 121, -79, -54, + -59, 124, 135, 136, 120, 123, -86, -104, -105, -106, + 60, 61, -69, -90, 56, 82, -12, 119, -95, -69, + -146, 136, -213, -214, -143, -144, -218, 10, 13, 12, + -46, -201, 125, 119, -186, -221, 58, -110, -110, 126, + 124, 135, 124, -110, -46, -107, -107, 120, -107, -107, + 10, 10, -191, -191, -191, -191, -191, -191, -191, -191, + -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, + -191, -191, -191, -191, -191, -191, -191, -191, 122, -191, + -12, -193, 126, -198, 135, 58, 10, 52, 124, -28, + -31, -22, -25, -39, -46, 120, 32, 33, -98, 31, + -98, -21, -86, -157, -55, -48, 128, 59, -55, -63, + -17, 122, 10, -21, -65, 41, -86, 124, 135, -82, + 119, -95, -12, -91, 135, -149, -46, -97, -141, -139, + -137, 125, -138, 57, 126, 126, -202, -206, -205, -207, + -140, -46, -187, -220, -46, 128, -109, 126, -191, 122, + 124, -191, -191, -29, 93, 94, -32, 22, 121, 121, + -46, -99, 122, 121, 120, 121, 31, 124, -46, -56, + 58, -48, 123, -56, -22, 136, -66, 123, 124, -167, + 44, -105, -83, 83, -91, 120, -113, -114, -117, -118, + -119, -134, 47, 38, 44, -133, 103, 102, 101, 98, + 99, 100, -69, -148, 124, 125, -142, -138, -140, -186, + 120, -203, 125, 125, -107, 126, 120, -188, -110, -191, 58, -25, -17, -33, 93, 94, 121, -41, -99, -101, - 121, -168, 124, -55, -96, 124, 28, -21, -67, 42, + 121, -167, 124, -55, -96, 124, 28, -21, -67, 42, -68, 119, 119, 123, 12, 120, -115, 121, 135, -84, - -133, 10, -122, -69, 124, -140, -137, 126, -205, -138, - -140, -140, -190, 57, -192, -102, 95, -25, 122, -39, - -100, -22, 119, -57, -97, -60, 121, -74, -69, -22, - -22, -172, 12, 128, 136, -116, 12, 10, -82, 136, - -123, 135, 121, 119, 126, -203, 126, 126, -187, -17, - 121, 122, -22, 124, -22, -22, -58, -17, 122, 124, - -58, 119, -70, 120, 120, 124, 135, 12, -21, 121, - 135, 136, 136, 10, -21, -69, -124, -125, -126, -127, - -128, -129, -131, -69, 10, -103, -42, 120, -22, -22, - 12, 12, 128, 12, -21, -21, -120, 120, -126, 121, - 121, 45, 29, 78, -22, -43, -17, 122, 26, 120, - 124, 12, 136, 123, -130, -69, -132, -133, 10, -22, - 121, -71, -21, -86, 135, 10, 24, 119, 124, -69, - 121, -22, -121, 121, 119, 120, -22, -72, 120, -73, - -75, -76, 41, -76, 123, -69, -77, 12, 124, -78, - 119, -22, 120, + -133, 10, -122, -69, -140, -137, 126, -204, -138, -140, + -140, -189, 57, -191, -102, 95, -25, 122, -39, -100, + -22, 119, -57, -97, -60, 121, -74, -69, -22, -22, + -171, 12, 128, 136, -116, 12, 10, -82, 136, -123, + 135, 121, 119, 126, -202, 126, 126, -186, -17, 121, + 122, -22, 124, -22, -22, -58, -17, 122, 124, -58, + 119, -70, 120, 120, 124, 135, 12, -21, 121, 135, + 136, 136, 10, -21, -69, -124, -125, -126, -127, -128, + -129, -131, -69, 10, -103, -42, 120, -22, -22, 12, + 12, 128, 12, -21, -21, -120, 120, -126, 121, 121, + 45, 29, 78, -22, -43, -17, 122, 26, 120, 124, + 12, 136, 123, -130, -69, -132, -133, 10, -22, 121, + -71, -21, -86, 135, 10, 24, 119, 124, -69, 121, + -22, -121, 121, 119, 120, -22, -72, 120, -73, -75, + -76, 41, -76, 123, -69, -77, 12, 124, -78, 119, + -22, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 111, 112, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 390, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 389, 0, 75, 0, 0, 0, 84, 86, 87, 0, 0, 113, 0, - 0, 352, 490, 491, 367, 123, 0, 125, 0, 129, + 0, 351, 489, 490, 366, 123, 0, 125, 0, 129, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 327, 328, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 406, 345, 347, 348, 349, 409, 0, 500, 0, - 0, 0, 0, 0, 0, 0, 0, 475, 476, 477, - 478, 0, 0, 481, 416, 0, 548, 520, 521, -2, - 471, -2, 0, 0, 414, 415, 417, 418, 419, 420, - 421, 422, 423, -2, 0, 525, 0, 388, 528, 540, - 529, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 326, 327, 0, 335, 0, 0, 0, 0, 0, 0, + 0, 405, 344, 346, 347, 348, 408, 0, 499, 0, + 0, 0, 0, 0, 0, 0, 0, 474, 475, 476, + 477, 0, 0, 480, 415, 0, 547, 519, 520, -2, + 470, -2, 0, 0, 413, 414, 416, 417, 418, 419, + 420, 421, 422, -2, 0, 524, 0, 387, 527, 539, + 528, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 252, 62, 64, 0, 352, 113, 390, 0, 66, - 0, 68, 491, -2, 0, 71, 0, 193, 194, 0, - 0, 113, 199, 0, 251, 76, 293, 295, 297, 299, + 0, 252, 62, 64, 0, 351, 113, 389, 0, 66, + 0, 68, 490, -2, 0, 71, 0, 193, 194, 0, + 0, 113, 199, 0, 251, 76, 292, 294, 296, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 331, 0, 0, 0, 0, 0, 0, 353, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 352, 114, 127, 121, -2, -2, 0, 124, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 270, 276, 289, 291, 290, 496, -2, 0, 0, - 0, 0, 390, 292, 314, 315, 316, 317, 328, 0, - 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, - 408, 0, 531, 531, 0, 410, 411, 560, 562, 0, - 0, 351, 497, 268, 397, 398, 391, 0, 0, 402, - -2, 0, 0, 0, 0, 575, 576, 0, 578, 579, - 531, 0, 0, 0, 425, 0, 531, 548, 0, 484, - 553, 0, 531, 0, 0, 0, -2, 0, 531, 0, - -2, 541, 0, 0, 0, 0, 10, 3, 0, -2, + 0, 546, 275, 288, 290, 289, 495, -2, 0, 0, + 0, 0, 389, 291, 313, 314, 315, 316, 327, 0, + 0, 336, 337, 338, 339, 340, 341, 342, 343, 0, + 407, 0, 530, 530, 0, 409, 410, 559, 561, 0, + 0, 350, 496, 268, 396, 397, 390, 0, 0, 401, + -2, 0, 0, 0, 0, 574, 575, 0, 577, 578, + 530, 0, 0, 0, 424, 0, 530, 547, 0, 483, + 552, 0, 530, 0, 0, 0, -2, 0, 530, 0, + -2, 540, 0, 0, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 45, 0, 49, 53, 0, 0, - 253, 256, 0, 65, 353, 67, 69, 70, 72, 0, - 195, 0, 494, 73, 0, 355, 0, 74, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, -2, -2, -2, -2, - -2, -2, -2, -2, 326, 0, 334, 0, 108, 110, - -2, 491, 0, 38, 90, 91, 117, 0, 119, 0, - 130, 0, 272, 0, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 547, 0, -2, 0, - 0, 329, 492, 493, 407, 346, 0, 532, 0, 350, - 561, 558, 559, 563, 0, 0, 475, 0, 0, 412, - 0, 0, 393, 399, 524, 0, 0, 580, -2, -2, - -2, 491, 0, 0, 479, 424, 480, 0, 0, 366, - 549, 485, 0, 557, 495, 0, 531, 5, 375, 0, - 0, 380, -2, -2, 588, 0, 512, 0, 0, 0, - 384, -2, -2, 389, 0, 9, 0, 12, 0, 17, - 14, 0, 0, 27, 15, 0, 0, 33, 20, 0, - 0, 36, 427, 428, 429, -2, 0, 0, 0, 482, - 435, 436, 437, 416, 0, 0, 0, 0, 0, 0, - 0, 47, 38, 0, 56, 58, 254, 63, 154, 154, - 192, 0, 197, 0, 200, 250, 294, 296, 298, 300, - 0, 0, 0, 0, 78, 81, 0, 0, 0, 0, - -2, 132, 128, 394, 0, 0, 0, 0, -2, -2, - 273, 0, 0, 543, 544, 0, -2, 538, -2, 362, - 361, 0, 565, 566, 0, 568, 498, 533, 534, 537, - 269, 413, 514, 392, 0, 515, 572, 581, 573, 574, - 577, 364, 363, 365, 551, 0, 552, 0, 517, 0, - 183, 0, 0, 186, -2, -2, 0, 0, 379, 0, - 0, 0, 513, 526, 527, 0, 0, 530, 11, 377, - 23, 26, 0, 29, 32, 0, 22, 35, 0, 0, + 253, 256, 0, 65, 352, 67, 69, 70, 72, 0, + 195, 0, 493, 73, 0, 354, 0, 74, 0, 0, + 0, 0, 0, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, -2, -2, -2, -2, + -2, -2, -2, -2, 325, 0, 333, 0, 108, 110, + -2, 490, 0, 38, 90, 91, 117, 0, 119, 0, + 130, 0, 271, 0, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 0, 542, 543, 0, + 0, -2, 0, 0, 328, 491, 492, 406, 345, 0, + 531, 0, 349, 560, 557, 558, 562, 0, 0, 474, + 0, 0, 411, 0, 0, 392, 398, 523, 0, 0, + 579, -2, -2, -2, 490, 0, 0, 478, 423, 479, + 0, 0, 365, 548, 484, 0, 556, 494, 0, 530, + 5, 374, 0, 0, 379, -2, -2, 587, 0, 511, + 0, 0, 0, 383, -2, -2, 388, 0, 9, 0, + 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, + 33, 20, 0, 0, 36, 426, 427, 428, -2, 0, + 0, 0, 481, 434, 435, 436, 415, 0, 0, 0, + 0, 0, 0, 0, 47, 38, 0, 56, 58, 254, + 63, 154, 154, 192, 0, 197, 0, 200, 250, 293, + 295, 297, 299, 0, 0, 0, 0, 78, 81, 0, + 0, 0, 0, -2, 132, 128, 393, 0, 0, 0, + 0, -2, -2, 272, 0, 0, 546, 544, -2, 537, + -2, 361, 360, 0, 564, 565, 0, 567, 497, 532, + 533, 536, 269, 412, 513, 391, 0, 514, 571, 580, + 572, 573, 576, 363, 362, 364, 550, 0, 551, 0, + 516, 0, 183, 0, 0, 186, -2, -2, 0, 0, + 378, 0, 0, 0, 512, 525, 526, 0, 0, 529, + 11, 376, 23, 26, 0, 29, 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -2, 482, 0, 484, - 489, 0, 0, 445, 446, 468, 469, 0, 163, 37, - 54, 161, 38, 0, 252, 0, 0, 154, 0, 154, - 196, 0, -2, 332, 335, 77, 109, 0, 0, 0, - 0, 0, 92, -2, 0, 173, 175, 113, 180, 181, - 182, 0, 0, 0, 396, 202, 131, 134, 274, 0, - 547, 545, 330, 0, 0, 569, 570, 571, 0, -2, - 531, 0, 400, 0, 0, 555, 556, 519, 184, 0, - 185, 190, 191, 381, 383, 539, 385, 387, 28, 34, - 0, 439, 440, 441, 442, 443, 444, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, -2, -2, - -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, - 434, 483, 485, 0, 426, 587, 470, 169, 166, 0, - 0, 0, 255, 150, 0, 0, 0, 0, 0, 198, - 0, 0, 136, 138, 0, 0, 136, 85, 146, 38, - 0, 148, 88, 0, 0, 368, 179, 115, 202, 133, - 395, 234, 0, 412, 0, 542, 547, 267, -2, 264, - 531, 258, 0, 564, 0, 502, 509, 510, 0, 0, - 0, 404, 582, 550, 0, 187, 438, 466, 0, 433, - 487, 488, 48, 0, 0, 171, 0, 57, 59, 0, - 157, 159, 160, 151, 152, 0, 368, 333, 0, 0, - 139, 140, 0, 0, 0, 98, 93, 0, 0, 0, - 176, 0, 116, 234, 122, 201, 203, 0, 206, 0, - -2, 233, 0, 0, 236, 238, 239, 240, 241, 242, - 243, 135, 275, 271, 0, 531, 0, 257, 0, 503, - 567, 499, 531, 531, 508, 535, 536, 401, 554, 467, + 0, 0, 0, 0, 0, 0, 0, 0, -2, 481, + 0, 483, 488, 0, 0, 444, 445, 467, 468, 0, + 163, 37, 54, 161, 38, 0, 252, 0, 0, 154, + 0, 154, 196, 0, -2, 331, 334, 77, 109, 0, + 0, 0, 0, 0, 92, -2, 0, 173, 175, 113, + 180, 181, 182, 0, 0, 0, 395, 202, 131, 134, + 273, 0, 541, 546, 329, 0, 0, 568, 569, 570, + 0, -2, 530, 0, 399, 0, 0, 554, 555, 518, + 184, 0, 185, 190, 191, 380, 382, 538, 384, 386, + 28, 34, 0, 438, 439, 440, 441, 442, 443, 446, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, + -2, 0, 433, 482, 484, 0, 425, 586, 469, 169, + 166, 0, 0, 0, 255, 150, 0, 0, 0, 0, + 0, 198, 0, 0, 136, 138, 0, 0, 136, 85, + 146, 38, 0, 148, 88, 0, 0, 367, 179, 115, + 202, 133, 394, 234, 0, 411, 270, 0, 267, -2, + 264, 530, 258, 0, 563, 0, 501, 508, 509, 0, + 0, 0, 403, 581, 549, 0, 187, 437, 465, 0, + 432, 486, 487, 48, 0, 0, 171, 0, 57, 59, + 0, 157, 159, 160, 151, 152, 0, 367, 332, 0, + 0, 139, 140, 0, 0, 0, 98, 93, 0, 0, + 0, 176, 0, 116, 234, 122, 201, 203, 0, 206, + 0, -2, 233, 0, 0, 236, 238, 239, 240, 241, + 242, 243, 135, 274, 545, 530, 0, 257, 0, 502, + 566, 498, 530, 530, 507, 534, 535, 400, 553, 466, 0, 164, 170, 0, 0, 0, 162, 252, 155, 38, - 153, 0, 79, 137, 547, 82, 0, 149, 89, 99, + 153, 0, 79, 137, 546, 82, 0, 149, 89, 99, 0, 38, 38, 0, 177, 120, 0, 205, 0, 113, - 237, 0, 0, 210, 546, 0, 262, 260, -2, 501, - 0, 0, 403, 0, 486, 0, 0, 0, 38, 0, - 38, 37, 38, 0, 0, 0, 147, 0, 94, 0, - 0, 0, 372, 0, 0, 0, 246, 0, 0, 0, - 209, 0, 212, 214, 259, 504, 506, 505, 405, 165, - 51, 167, 37, 60, 37, 0, 80, 144, 38, 141, - 83, 38, 0, 118, 354, 369, 0, 373, 178, 204, - 0, 0, 0, 207, 249, 211, 0, 215, 216, 0, - 0, 224, 0, 0, -2, 38, 0, 356, 0, 0, - 0, 370, 0, 244, 247, 248, 0, 213, 217, 218, - 219, 0, 228, 0, 37, 61, 142, 38, 0, 100, - 95, 371, 0, -2, 220, 221, 0, -2, 225, 0, - 145, 0, 245, 0, 0, 226, 0, 38, 0, 222, - 143, 0, 208, 230, 38, 96, 0, 102, 231, 97, - 101, 103, 0, 104, 0, 105, 0, 0, 106, 0, - 38, 0, 107, + 237, 0, 0, 210, 0, 262, 260, -2, 500, 0, + 0, 402, 0, 485, 0, 0, 0, 38, 0, 38, + 37, 38, 0, 0, 0, 147, 0, 94, 0, 0, + 0, 371, 0, 0, 0, 246, 0, 0, 0, 209, + 0, 212, 214, 259, 503, 505, 504, 404, 165, 51, + 167, 37, 60, 37, 0, 80, 144, 38, 141, 83, + 38, 0, 118, 353, 368, 0, 372, 178, 204, 0, + 0, 0, 207, 249, 211, 0, 215, 216, 0, 0, + 224, 0, 0, -2, 38, 0, 355, 0, 0, 0, + 369, 0, 244, 247, 248, 0, 213, 217, 218, 219, + 0, 228, 0, 37, 61, 142, 38, 0, 100, 95, + 370, 0, -2, 220, 221, 0, -2, 225, 0, 145, + 0, 245, 0, 0, 226, 0, 38, 0, 222, 143, + 0, 208, 230, 38, 96, 0, 102, 231, 97, 101, + 103, 0, 104, 0, 105, 0, 0, 106, 0, 38, + 0, 107, } var yyTok1 = [...]int{ @@ -3350,596 +3347,591 @@ yydefault: { } case 270: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:953 { } case 271: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:953 - { - } - case 272: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:954 { } - case 273: + case 272: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:955 { } - case 274: + case 273: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:956 { } + case 274: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:956 + { + } case 275: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:956 - { - } - case 276: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:957 { } - case 277: + case 276: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:958 { } - case 278: + case 277: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:959 { } - case 279: + case 278: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:960 { } - case 280: + case 279: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:961 { } - case 281: + case 280: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:962 { } - case 282: + case 281: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:963 { } - case 283: + case 282: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:964 { } - case 284: + case 283: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:965 { } - case 285: + case 284: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:966 { } - case 286: + case 285: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:967 { } - case 287: + case 286: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:968 { } - case 288: + case 287: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:969 { } - case 289: + case 288: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:970 { } - case 290: + case 289: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:971 { } - case 291: + case 290: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:972 { } - case 292: + case 291: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:973 { } - case 293: + case 292: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:974 { } + case 293: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:974 + { + } case 294: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:974 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:975 { } case 295: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:975 { } case 296: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:975 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:976 { } case 297: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:976 { } case 298: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:976 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:977 { } case 299: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:977 { } case 300: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:977 - { - } - case 301: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:978 { } - case 302: + case 301: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:979 { } - case 303: + case 302: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:980 { } - case 304: + case 303: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:981 { } - case 305: + case 304: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:982 { } - case 306: + case 305: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:983 { } - case 307: + case 306: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:984 { } - case 308: + case 307: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:985 { } - case 309: + case 308: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:986 { } - case 310: + case 309: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:987 { } - case 311: + case 310: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:988 { } - case 312: + case 311: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:989 { } - case 313: + case 312: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:990 { } - case 314: + case 313: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:991 { } - case 315: + case 314: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:992 { } - case 316: + case 315: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:993 { } - case 317: + case 316: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:994 { } - case 318: + case 317: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:995 { } - case 319: + case 318: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:996 { } - case 320: + case 319: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:997 { } - case 321: + case 320: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:998 { } - case 322: + case 321: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:999 { } - case 323: + case 322: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1000 { } - case 324: + case 323: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1001 { } - case 325: + case 324: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1002 { } - case 326: + case 325: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1003 { } - case 327: + case 326: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1004 { } - case 328: + case 327: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1005 { } - case 329: + case 328: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1006 { } + case 329: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1006 + { + } case 330: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1006 - { - } - case 331: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1007 { } - case 332: + case 331: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1008 { } - case 333: + case 332: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:1009 { } - case 334: + case 333: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1010 { } - case 335: + case 334: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1011 { } - case 336: + case 335: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1012 { } - case 337: + case 336: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1013 { } - case 338: + case 337: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1014 { } - case 339: + case 338: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1015 { } - case 340: + case 339: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1016 { } - case 341: + case 340: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1017 { } - case 342: + case 341: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1018 { } - case 343: + case 342: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1019 { } - case 344: + case 343: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1020 { } - case 345: + case 344: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1021 { } + case 345: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1021 + { + } case 346: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1021 - { - } - case 347: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1022 { } - case 348: + case 347: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1023 { } - case 349: + case 348: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1024 { } - case 350: + case 349: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1025 { } - case 351: + case 350: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1026 { } - case 352: + case 351: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1027 { } - case 353: + case 352: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1028 { } - case 354: + case 353: yyDollar = yyS[yypt-10 : yypt+1] //line php5/php5.y:1030 { } - case 355: + case 354: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1031 { } - case 356: + case 355: yyDollar = yyS[yypt-11 : yypt+1] //line php5/php5.y:1033 { } - case 357: + case 356: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1037 { } - case 358: + case 357: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1038 { } - case 359: + case 358: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1039 { } - case 360: + case 359: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1040 { } - case 361: + case 360: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1044 { } - case 362: + case 361: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1045 { } - case 363: + case 362: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1046 { } - case 364: + case 363: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1047 { } - case 365: + case 364: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1051 { } - case 366: + case 365: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1052 { } - case 367: + case 366: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1056 { } - case 370: + case 369: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1065 { } - case 371: + case 370: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1066 { } - case 372: + case 371: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1067 { } - case 373: + case 372: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1068 { } - case 374: + case 373: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1072 { } - case 375: + case 374: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1073 { } - case 376: + case 375: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1074 { } - case 377: + case 376: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1075 { } - case 378: + case 377: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1076 { } - case 379: + case 378: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1077 { } - case 380: + case 379: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1078 { } - case 381: + case 380: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1079 { } - case 382: + case 381: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1080 { } - case 383: + case 382: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1081 { } - case 384: + case 383: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1082 { } - case 385: + case 384: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1083 { } - case 386: + case 385: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1084 { } - case 387: + case 386: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1085 { } - case 388: + case 387: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1086 { } - case 389: + case 388: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1087 { } - case 390: + case 389: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1092 { @@ -3947,7 +3939,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 391: + case 390: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1098 { @@ -3955,7 +3947,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 392: + case 391: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1104 { @@ -3963,7 +3955,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 393: + case 392: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1110 { @@ -3971,97 +3963,97 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 394: + case 393: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1118 { } - case 395: + case 394: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1119 { } - case 396: + case 395: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1120 { } - case 397: + case 396: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1126 { } - case 398: + case 397: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1127 { } - case 399: + case 398: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1132 { } - case 400: + case 399: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1133 { } - case 401: + case 400: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1134 { } - case 402: + case 401: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1135 { } - case 405: + case 404: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1146 { } - case 406: + case 405: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1150 { } - case 407: + case 406: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1151 { } - case 408: + case 407: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1152 { } - case 409: + case 408: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1156 { } - case 410: + case 409: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1157 { } - case 411: + case 410: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1158 { } - case 412: + case 411: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1162 { } - case 413: + case 412: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1163 { } - case 414: + case 413: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1168 { @@ -4069,7 +4061,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 415: + case 414: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1174 { @@ -4077,13 +4069,13 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 416: + case 415: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1179 { yyVAL.node = nil } - case 417: + case 416: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1181 { @@ -4091,7 +4083,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 418: + case 417: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1187 { @@ -4099,7 +4091,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 419: + case 418: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1193 { @@ -4107,7 +4099,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 420: + case 419: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1199 { @@ -4115,7 +4107,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 421: + case 420: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1205 { @@ -4123,7 +4115,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 422: + case 421: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1211 { @@ -4131,7 +4123,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 423: + case 422: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1217 { @@ -4139,19 +4131,19 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 424: + case 423: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1222 { yyVAL.node = nil } - case 425: + case 424: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1223 { yyVAL.node = nil } - case 426: + case 425: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1228 { @@ -4163,511 +4155,511 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 427: + case 426: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1240 { } - case 428: + case 427: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1244 { } - case 429: + case 428: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1245 { } - case 430: + case 429: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1246 { } - case 431: + case 430: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1247 { } - case 432: + case 431: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1248 { } - case 433: + case 432: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1249 { } - case 434: + case 433: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1250 { } - case 435: + case 434: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1251 { } - case 436: + case 435: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1252 { } - case 437: + case 436: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1253 { } - case 438: + case 437: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1257 { } - case 439: + case 438: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1258 { } - case 440: + case 439: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1259 { } - case 441: + case 440: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1260 { } - case 442: + case 441: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1261 { } - case 443: + case 442: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1262 { } - case 444: + case 443: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1263 { } - case 445: + case 444: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1264 { } - case 446: + case 445: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1265 { } - case 447: + case 446: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1266 { } - case 448: + case 447: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1267 { } - case 449: + case 448: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1268 { } - case 450: + case 449: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1269 { } - case 451: + case 450: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1270 { } - case 452: + case 451: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1271 { } - case 453: + case 452: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1272 { } - case 454: + case 453: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1273 { } - case 455: + case 454: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1274 { } - case 456: + case 455: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1275 { } - case 457: + case 456: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1276 { } - case 458: + case 457: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1277 { } - case 459: + case 458: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1278 { } - case 460: + case 459: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1279 { } - case 461: + case 460: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1280 { } - case 462: + case 461: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1281 { } - case 463: + case 462: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1282 { } - case 464: + case 463: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1283 { } - case 465: + case 464: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1284 { } - case 466: + case 465: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1285 { } - case 467: + case 466: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1286 { } - case 468: + case 467: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1287 { } - case 469: + case 468: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1288 { } - case 470: + case 469: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1289 { } - case 471: + case 470: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1293 { } - case 472: + case 471: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1294 { } - case 473: + case 472: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1295 { } - case 474: + case 473: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1296 { } - case 475: + case 474: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1300 { } - case 476: + case 475: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1301 { } - case 477: + case 476: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1302 { } - case 478: + case 477: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1303 { } - case 479: + case 478: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1304 { } - case 480: + case 479: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1305 { } - case 481: + case 480: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1306 { } - case 482: + case 481: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1310 { } - case 483: + case 482: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1311 { } - case 486: + case 485: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1320 { } - case 487: + case 486: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1321 { } - case 488: + case 487: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1322 { } - case 489: + case 488: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1323 { } - case 490: + case 489: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1327 { } - case 491: + case 490: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1328 { } - case 492: + case 491: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1332 { } - case 493: + case 492: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1333 { } - case 494: + case 493: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1338 { } - case 495: + case 494: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1343 { } - case 496: + case 495: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1347 { } - case 497: + case 496: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1351 { } - case 498: + case 497: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1352 { } - case 499: + case 498: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:1353 { } - case 500: + case 499: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1354 { } - case 501: + case 500: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1358 { } - case 502: + case 501: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1359 { } - case 503: + case 502: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1364 { } + case 503: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1364 + { + } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1364 + //line php5/php5.y:1368 { } case 505: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1368 - { - } - case 506: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1369 { } - case 507: + case 506: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1373 { } - case 508: + case 507: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1374 { } - case 509: + case 508: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1378 { } - case 510: + case 509: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1379 { } - case 511: + case 510: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1380 { } - case 512: + case 511: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1384 { } - case 513: + case 512: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1385 { } - case 514: + case 513: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1389 { } - case 515: + case 514: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1390 { } - case 516: + case 515: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1396 { yyVAL.node = yyDollar[1].node } - case 517: + case 516: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1402 { } - case 518: + case 517: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1403 { } - case 519: + case 518: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1404 { } - case 520: + case 519: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1408 { } - case 521: + case 520: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1409 { } - case 522: + case 521: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1410 { } - case 523: + case 522: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1415 { } - case 524: + case 523: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1416 { } - case 525: + case 524: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1417 { } - case 526: + case 525: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1421 { yyVAL.node = nil } - case 527: + case 526: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1422 { yyVAL.node = nil } - case 528: + case 527: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1423 { yyVAL.node = yyDollar[1].node } - case 529: + case 528: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1429 { @@ -4679,288 +4671,288 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 530: + case 529: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1439 { yyVAL.node = nil } - case 531: + case 530: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1445 { } - case 532: + case 531: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1446 { } - case 533: + case 532: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1451 { } - case 534: + case 533: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1452 { } - case 535: + case 534: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1456 { } - case 536: + case 535: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1457 { } - case 537: + case 536: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1458 { } - case 538: + case 537: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1462 { } - case 539: + case 538: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1463 { } - case 540: + case 539: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1467 { } - case 541: + case 540: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1468 { } - case 544: + case 543: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1478 { } - case 545: + case 544: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1479 { } + case 545: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1479 + { + } case 546: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1479 - { - } - case 547: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1480 { } - case 548: + case 547: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1485 { } - case 549: + case 548: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1486 { } - case 550: + case 549: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1490 { } - case 551: + case 550: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1491 { } - case 552: + case 551: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1492 { } - case 553: + case 552: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1493 { } - case 554: + case 553: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1494 { } - case 555: + case 554: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1495 { } - case 556: + case 555: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1496 { } - case 557: + case 556: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1497 { } - case 558: + case 557: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1501 { } - case 559: + case 558: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1502 { } - case 560: + case 559: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1503 { } - case 561: + case 560: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1504 { } - case 562: + case 561: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1510 { } - case 563: + case 562: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1511 { } - case 564: + case 563: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1511 { } - case 565: + case 564: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1512 { } - case 566: + case 565: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1513 { } - case 567: + case 566: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1514 { } - case 568: + case 567: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1515 { } - case 569: + case 568: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1520 { } - case 570: + case 569: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1521 { } - case 571: + case 570: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1522 { } - case 572: + case 571: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1527 { } - case 573: + case 572: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1528 { } - case 574: + case 573: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1529 { } - case 575: + case 574: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1530 { } - case 576: + case 575: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1531 { } - case 577: + case 576: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1532 { } - case 578: + case 577: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1533 { } - case 579: + case 578: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1534 { } - case 580: + case 579: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1538 { } - case 581: + case 580: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1539 { } - case 582: + case 581: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1539 { } - case 583: + case 582: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1543 { } - case 584: + case 583: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1544 { } - case 585: + case 584: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1548 { } - case 586: + case 585: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1549 { } - case 587: + case 586: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1553 { } - case 588: + case 587: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1557 { diff --git a/php5/php5.y b/php5/php5.y index d3c8959..b91e6b2 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -462,36 +462,36 @@ use_const_declaration: ; constant_declaration: - constant_declaration ',' T_STRING '=' static_scalar { } - | T_CONST T_STRING '=' static_scalar { } + constant_declaration ',' T_STRING '=' static_scalar { } + | T_CONST T_STRING '=' static_scalar { } ; inner_statement_list: inner_statement_list { } - | /* empty */ + | /* empty */ ; inner_statement: statement - | function_declaration_statement - | class_declaration_statement - | T_HALT_COMPILER '(' ')' ';' { } + | function_declaration_statement + | class_declaration_statement + | T_HALT_COMPILER '(' ')' ';' { } ; statement: unticked_statement { } - | T_STRING ':' { } + | T_STRING ':' { } ; unticked_statement: '{' inner_statement_list '}' - | T_IF parenthesis_expr { } statement { } elseif_list else_single { } - | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } - | T_WHILE { } parenthesis_expr { } while_statement { } - | T_DO { } statement T_WHILE { } parenthesis_expr ';' { } - | T_FOR + | T_IF parenthesis_expr { } statement { } elseif_list else_single { } + | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } + | T_WHILE { } parenthesis_expr { } while_statement { } + | T_DO { } statement T_WHILE { } parenthesis_expr ';' { } + | T_FOR '(' for_expr ';' { } @@ -500,41 +500,41 @@ unticked_statement: for_expr ')' { } for_statement { } - | T_SWITCH parenthesis_expr { } switch_case_list { } - | T_BREAK ';' { } - | T_BREAK expr ';' { } - | T_CONTINUE ';' { } - | T_CONTINUE expr ';' { } - | T_RETURN ';' { } - | T_RETURN expr_without_variable ';' { } - | T_RETURN variable ';' { } - | yield_expr ';' { } - | T_GLOBAL global_var_list ';' - | T_STATIC static_var_list ';' - | T_ECHO echo_expr_list ';' - | T_INLINE_HTML { } - | expr ';' { } - | T_UNSET '(' unset_variables ')' ';' - | T_FOREACH '(' variable T_AS + | T_SWITCH parenthesis_expr { } switch_case_list { } + | T_BREAK ';' { } + | T_BREAK expr ';' { } + | T_CONTINUE ';' { } + | T_CONTINUE expr ';' { } + | T_RETURN ';' { } + | T_RETURN expr_without_variable ';' { } + | T_RETURN variable ';' { } + | yield_expr ';' { } + | T_GLOBAL global_var_list ';' + | T_STATIC static_var_list ';' + | T_ECHO echo_expr_list ';' + | T_INLINE_HTML { } + | expr ';' { } + | T_UNSET '(' unset_variables ')' ';' + | T_FOREACH '(' variable T_AS { } foreach_variable foreach_optional_arg ')' { } foreach_statement { } - | T_FOREACH '(' expr_without_variable T_AS + | T_FOREACH '(' expr_without_variable T_AS { } foreach_variable foreach_optional_arg ')' { } foreach_statement { } - | T_DECLARE { } '(' declare_list ')' declare_statement { } - | ';' /* empty statement */ - | T_TRY { } '{' inner_statement_list '}' + | T_DECLARE { } '(' declare_list ')' declare_statement { } + | ';' /* empty statement */ + | T_TRY { } '{' inner_statement_list '}' catch_statement { } finally_statement { } - | T_THROW expr ';' { } - | T_GOTO T_STRING ';' { } + | T_THROW expr ';' { } + | T_GOTO T_STRING ';' { } ; catch_statement: /* empty */ { } - | T_CATCH '(' { } + | T_CATCH '(' { } fully_qualified_class_name { } T_VARIABLE ')' { } '{' inner_statement_list '}' { } @@ -542,17 +542,17 @@ catch_statement: finally_statement: /* empty */ { } - | T_FINALLY { } '{' inner_statement_list '}' { } + | T_FINALLY { } '{' inner_statement_list '}' { } ; additional_catches: non_empty_additional_catches { } - | /* empty */ { } + | /* empty */ { } ; non_empty_additional_catches: additional_catch { } - | non_empty_additional_catches additional_catch { } + | non_empty_additional_catches additional_catch { } ; additional_catch: @@ -561,29 +561,29 @@ additional_catch: unset_variables: unset_variable - | unset_variables ',' unset_variable + | unset_variables ',' unset_variable ; unset_variable: - variable { } + variable { } ; function_declaration_statement: - unticked_function_declaration_statement { } + unticked_function_declaration_statement { } ; class_declaration_statement: - unticked_class_declaration_statement { } + unticked_class_declaration_statement { } ; is_reference: - /* empty */ { } - | '&' { } + /* empty */ { } + | '&' { } ; is_variadic: /* empty */ { } - | T_ELLIPSIS { } + | T_ELLIPSIS { } ; unticked_function_declaration_statement: @@ -599,7 +599,7 @@ unticked_class_declaration_statement: '{' class_statement_list '}' { } - | interface_entry T_STRING + | interface_entry T_STRING { } interface_extends_list '{' @@ -609,202 +609,202 @@ unticked_class_declaration_statement: class_entry_type: - T_CLASS { } - | T_ABSTRACT T_CLASS { } - | T_TRAIT { } - | T_FINAL T_CLASS { } + T_CLASS { } + | T_ABSTRACT T_CLASS { } + | T_TRAIT { } + | T_FINAL T_CLASS { } ; extends_from: - /* empty */ { } - | T_EXTENDS fully_qualified_class_name { } + /* empty */ { } + | T_EXTENDS fully_qualified_class_name { } ; interface_entry: - T_INTERFACE { } + T_INTERFACE { } ; interface_extends_list: /* empty */ - | T_EXTENDS interface_list + | T_EXTENDS interface_list ; implements_list: /* empty */ - | T_IMPLEMENTS interface_list + | T_IMPLEMENTS interface_list ; interface_list: - fully_qualified_class_name { } - | interface_list ',' fully_qualified_class_name { } + fully_qualified_class_name { } + | interface_list ',' fully_qualified_class_name { } ; foreach_optional_arg: - /* empty */ { } - | T_DOUBLE_ARROW foreach_variable { } + /* empty */ { } + | T_DOUBLE_ARROW foreach_variable { } ; foreach_variable: - variable { } - | '&' variable { } - | T_LIST '(' { } assignment_list ')' { } + variable { } + | '&' variable { } + | T_LIST '(' { } assignment_list ')' { } ; for_statement: statement - | ':' inner_statement_list T_ENDFOR ';' + | ':' inner_statement_list T_ENDFOR ';' ; foreach_statement: statement - | ':' inner_statement_list T_ENDFOREACH ';' + | ':' inner_statement_list T_ENDFOREACH ';' ; declare_statement: statement - | ':' inner_statement_list T_ENDDECLARE ';' + | ':' inner_statement_list T_ENDDECLARE ';' ; declare_list: - T_STRING '=' static_scalar { } - | declare_list ',' T_STRING '=' static_scalar { } + T_STRING '=' static_scalar { } + | declare_list ',' T_STRING '=' static_scalar { } ; switch_case_list: - '{' case_list '}' { } - | '{' ';' case_list '}' { } - | ':' case_list T_ENDSWITCH ';' { } - | ':' ';' case_list T_ENDSWITCH ';' { } + '{' case_list '}' { } + | '{' ';' case_list '}' { } + | ':' case_list T_ENDSWITCH ';' { } + | ':' ';' case_list T_ENDSWITCH ';' { } ; case_list: - /* empty */ { } - | case_list T_CASE expr case_separator { } inner_statement_list { } - | case_list T_DEFAULT case_separator { } inner_statement_list { } + /* empty */ { } + | case_list T_CASE expr case_separator { } inner_statement_list { } + | case_list T_DEFAULT case_separator { } inner_statement_list { } ; case_separator: ':' - | ';' + | ';' ; while_statement: statement - | ':' inner_statement_list T_ENDWHILE ';' + | ':' inner_statement_list T_ENDWHILE ';' ; elseif_list: /* empty */ - | elseif_list T_ELSEIF parenthesis_expr { } statement { } + | elseif_list T_ELSEIF parenthesis_expr { } statement { } ; new_elseif_list: /* empty */ - | new_elseif_list T_ELSEIF parenthesis_expr ':' { } inner_statement_list { } + | new_elseif_list T_ELSEIF parenthesis_expr ':' { } inner_statement_list { } ; else_single: /* empty */ - | T_ELSE statement + | T_ELSE statement ; new_else_single: /* empty */ - | T_ELSE ':' inner_statement_list + | T_ELSE ':' inner_statement_list ; parameter_list: non_empty_parameter_list - | /* empty */ + | /* empty */ ; non_empty_parameter_list: parameter - | non_empty_parameter_list ',' parameter + | non_empty_parameter_list ',' parameter ; parameter: optional_class_type is_reference is_variadic T_VARIABLE { } - | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar + | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar { } ; optional_class_type: - /* empty */ { } - | T_ARRAY { } - | T_CALLABLE { } - | fully_qualified_class_name { } + /* empty */ { } + | T_ARRAY { } + | T_CALLABLE { } + | fully_qualified_class_name { } ; function_call_parameter_list: - '(' ')' { } - | '(' non_empty_function_call_parameter_list ')' { } - | '(' yield_expr ')' { } + '(' ')' { } + | '(' non_empty_function_call_parameter_list ')' { } + | '(' yield_expr ')' { } ; non_empty_function_call_parameter_list: function_call_parameter - | non_empty_function_call_parameter_list ',' function_call_parameter + | non_empty_function_call_parameter_list ',' function_call_parameter ; function_call_parameter: - expr_without_variable { } - | variable { } - | '&' w_variable { } - | T_ELLIPSIS expr { } + expr_without_variable { } + | variable { } + | '&' w_variable { } + | T_ELLIPSIS expr { } ; global_var_list: - global_var_list ',' global_var { } - | global_var { } + global_var_list ',' global_var { } + | global_var { } ; global_var: - T_VARIABLE { } - | '$' r_variable { } - | '$' '{' expr '}' { } + T_VARIABLE { } + | '$' r_variable { } + | '$' '{' expr '}' { } ; static_var_list: static_var_list ',' T_VARIABLE { } - | static_var_list ',' T_VARIABLE '=' static_scalar { } - | T_VARIABLE { } - | T_VARIABLE '=' static_scalar { } + | static_var_list ',' T_VARIABLE '=' static_scalar { } + | T_VARIABLE { } + | T_VARIABLE '=' static_scalar { } ; class_statement_list: class_statement_list class_statement - | /* empty */ + | /* empty */ ; class_statement: variable_modifiers { } class_variable_declaration ';' - | class_constant_declaration ';' - | trait_use_statement - | method_modifiers function is_reference T_STRING { } + | class_constant_declaration ';' + | trait_use_statement + | method_modifiers function is_reference T_STRING { } '(' parameter_list ')' method_body { } ; @@ -814,135 +814,135 @@ trait_use_statement: ; trait_list: - fully_qualified_class_name { } - | trait_list ',' fully_qualified_class_name { } + fully_qualified_class_name { } + | trait_list ',' fully_qualified_class_name { } ; trait_adaptations: ';' - | '{' trait_adaptation_list '}' + | '{' trait_adaptation_list '}' ; trait_adaptation_list: /* empty */ - | non_empty_trait_adaptation_list + | non_empty_trait_adaptation_list ; non_empty_trait_adaptation_list: trait_adaptation_statement - | non_empty_trait_adaptation_list trait_adaptation_statement + | non_empty_trait_adaptation_list trait_adaptation_statement ; trait_adaptation_statement: trait_precedence ';' - | trait_alias ';' + | trait_alias ';' ; trait_precedence: - trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { } + trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { } ; trait_reference_list: - fully_qualified_class_name { } - | trait_reference_list ',' fully_qualified_class_name { } + fully_qualified_class_name { } + | trait_reference_list ',' fully_qualified_class_name { } ; trait_method_reference: - T_STRING { } - | trait_method_reference_fully_qualified { } + T_STRING { } + | trait_method_reference_fully_qualified { } ; trait_method_reference_fully_qualified: - fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } ; trait_alias: - trait_method_reference T_AS trait_modifiers T_STRING { } - | trait_method_reference T_AS member_modifier { } + trait_method_reference T_AS trait_modifiers T_STRING { } + | trait_method_reference T_AS member_modifier { } ; trait_modifiers: - /* empty */ { } /* No change of methods visibility */ - | member_modifier { } /* REM: Keep in mind, there are not only visibility modifiers */ + /* empty */ { } /* No change of methods visibility */ + | member_modifier { } /* REM: Keep in mind, there are not only visibility modifiers */ ; method_body: - ';' /* abstract method */ { } - | '{' inner_statement_list '}' { } + ';' /* abstract method */ { } + | '{' inner_statement_list '}' { } ; variable_modifiers: - non_empty_member_modifiers { } - | T_VAR { } + non_empty_member_modifiers { } + | T_VAR { } ; method_modifiers: - /* empty */ { } - | non_empty_member_modifiers { } + /* empty */ { } + | non_empty_member_modifiers { } ; non_empty_member_modifiers: - member_modifier { } - | non_empty_member_modifiers member_modifier { } + member_modifier { } + | non_empty_member_modifiers member_modifier { } ; member_modifier: - T_PUBLIC { } - | T_PROTECTED { } - | T_PRIVATE { } - | T_STATIC { } - | T_ABSTRACT { } - | T_FINAL { } + T_PUBLIC { } + | T_PROTECTED { } + | T_PRIVATE { } + | T_STATIC { } + | T_ABSTRACT { } + | T_FINAL { } ; class_variable_declaration: - class_variable_declaration ',' T_VARIABLE { } - | class_variable_declaration ',' T_VARIABLE '=' static_scalar { } - | T_VARIABLE { } - | T_VARIABLE '=' static_scalar { } + class_variable_declaration ',' T_VARIABLE { } + | class_variable_declaration ',' T_VARIABLE '=' static_scalar { } + | T_VARIABLE { } + | T_VARIABLE '=' static_scalar { } ; class_constant_declaration: - class_constant_declaration ',' T_STRING '=' static_scalar { } - | T_CONST T_STRING '=' static_scalar { } + class_constant_declaration ',' T_STRING '=' static_scalar { } + | T_CONST T_STRING '=' static_scalar { } ; echo_expr_list: echo_expr_list ',' expr { } - | expr { } + | expr { } ; for_expr: - /* empty */ { } - | non_empty_for_expr { } + /* empty */ { } + | non_empty_for_expr { } ; non_empty_for_expr: - non_empty_for_expr ',' { } expr { } - | expr { } + non_empty_for_expr ',' { } expr { } + | expr { } ; chaining_method_or_property: - chaining_method_or_property variable_property { } - | variable_property { } + chaining_method_or_property variable_property { } + | variable_property { } ; chaining_dereference: - chaining_dereference '[' dim_offset ']' { } - | '[' dim_offset ']' { } + chaining_dereference '[' dim_offset ']' { } + | '[' dim_offset ']' { } ; chaining_instance_call: - chaining_dereference { } chaining_method_or_property { } - | chaining_dereference { } - | chaining_method_or_property { } + chaining_dereference { } chaining_method_or_property { } + | chaining_dereference { } + | chaining_method_or_property { } ; instance_call: - /* empty */ { } - | { } - chaining_instance_call { } + /* empty */ { } + | { } + chaining_instance_call { } ; new_expr: @@ -950,106 +950,106 @@ new_expr: ; expr_without_variable: - T_LIST '(' { } assignment_list ')' '=' expr { } - | variable '=' expr { } - | variable '=' '&' variable { } - | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } - | T_CLONE expr { } - | variable T_PLUS_EQUAL expr { } - | variable T_MINUS_EQUAL expr { } - | variable T_MUL_EQUAL expr { } - | variable T_POW_EQUAL expr { } - | variable T_DIV_EQUAL expr { } - | variable T_CONCAT_EQUAL expr { } - | variable T_MOD_EQUAL expr { } - | variable T_AND_EQUAL expr { } - | variable T_OR_EQUAL expr { } - | variable T_XOR_EQUAL expr { } - | variable T_SL_EQUAL expr { } - | variable T_SR_EQUAL expr { } - | rw_variable T_INC { } - | T_INC rw_variable { } - | rw_variable T_DEC { } - | T_DEC rw_variable { } - | expr T_BOOLEAN_OR { } expr { } - | expr T_BOOLEAN_AND { } expr { } - | expr T_LOGICAL_OR { } expr { } - | expr T_LOGICAL_AND { } expr { } - | expr T_LOGICAL_XOR expr { } - | expr '|' expr { } - | expr '&' expr { } - | expr '^' expr { } - | expr '.' expr { } - | expr '+' expr { } - | expr '-' expr { } - | expr '*' expr { } - | expr T_POW expr { } - | expr '/' expr { } - | expr '%' expr { } - | expr T_SL expr { } - | expr T_SR expr { } - | '+' expr %prec T_INC { } - | '-' expr %prec T_INC { } - | '!' expr { } - | '~' expr { } - | expr T_IS_IDENTICAL expr { } - | expr T_IS_NOT_IDENTICAL expr { } - | expr T_IS_EQUAL expr { } - | expr T_IS_NOT_EQUAL expr { } - | expr '<' expr { } - | expr T_IS_SMALLER_OR_EQUAL expr { } - | expr '>' expr { } - | expr T_IS_GREATER_OR_EQUAL expr { } - | expr T_INSTANCEOF class_name_reference { } - | parenthesis_expr { } - | new_expr { } - | '(' new_expr ')' { } instance_call { } - | expr '?' { } + T_LIST '(' assignment_list ')' '=' expr { } + | variable '=' expr { } + | variable '=' '&' variable { } + | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } + | T_CLONE expr { } + | variable T_PLUS_EQUAL expr { } + | variable T_MINUS_EQUAL expr { } + | variable T_MUL_EQUAL expr { } + | variable T_POW_EQUAL expr { } + | variable T_DIV_EQUAL expr { } + | variable T_CONCAT_EQUAL expr { } + | variable T_MOD_EQUAL expr { } + | variable T_AND_EQUAL expr { } + | variable T_OR_EQUAL expr { } + | variable T_XOR_EQUAL expr { } + | variable T_SL_EQUAL expr { } + | variable T_SR_EQUAL expr { } + | rw_variable T_INC { } + | T_INC rw_variable { } + | rw_variable T_DEC { } + | T_DEC rw_variable { } + | expr T_BOOLEAN_OR { } expr { } + | expr T_BOOLEAN_AND { } expr { } + | expr T_LOGICAL_OR { } expr { } + | expr T_LOGICAL_AND { } expr { } + | expr T_LOGICAL_XOR expr { } + | expr '|' expr { } + | expr '&' expr { } + | expr '^' expr { } + | expr '.' expr { } + | expr '+' expr { } + | expr '-' expr { } + | expr '*' expr { } + | expr T_POW expr { } + | expr '/' expr { } + | expr '%' expr { } + | expr T_SL expr { } + | expr T_SR expr { } + | '+' expr %prec T_INC { } + | '-' expr %prec T_INC { } + | '!' expr { } + | '~' expr { } + | expr T_IS_IDENTICAL expr { } + | expr T_IS_NOT_IDENTICAL expr { } + | expr T_IS_EQUAL expr { } + | expr T_IS_NOT_EQUAL expr { } + | expr '<' expr { } + | expr T_IS_SMALLER_OR_EQUAL expr { } + | expr '>' expr { } + | expr T_IS_GREATER_OR_EQUAL expr { } + | expr T_INSTANCEOF class_name_reference { } + | parenthesis_expr { } + | new_expr { } + | '(' new_expr ')' { } instance_call { } + | expr '?' { } expr ':' { } - expr { } - | expr '?' ':' { } expr { } - | internal_functions_in_yacc { } - | T_INT_CAST expr { } - | T_DOUBLE_CAST expr { } - | T_STRING_CAST expr { } - | T_ARRAY_CAST expr { } - | T_OBJECT_CAST expr { } - | T_BOOL_CAST expr { } - | T_UNSET_CAST expr { } - | T_EXIT exit_expr { } - | '@' { } expr { } - | scalar { } - | combined_scalar_offset { } - | combined_scalar { } - | '`' backticks_expr '`' { } - | T_PRINT expr { } - | T_YIELD { } - | function is_reference { } + | expr '?' ':' { } + expr { } + | internal_functions_in_yacc { } + | T_INT_CAST expr { } + | T_DOUBLE_CAST expr { } + | T_STRING_CAST expr { } + | T_ARRAY_CAST expr { } + | T_OBJECT_CAST expr { } + | T_BOOL_CAST expr { } + | T_UNSET_CAST expr { } + | T_EXIT exit_expr { } + | '@' { } expr { } + | scalar { } + | combined_scalar_offset { } + | combined_scalar { } + | '`' backticks_expr '`' { } + | T_PRINT expr { } + | T_YIELD { } + | function is_reference { } '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { } - | T_STATIC function is_reference { } + | T_STATIC function is_reference { } '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { } ; yield_expr: T_YIELD expr_without_variable { } - | T_YIELD variable { } - | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { } - | T_YIELD expr T_DOUBLE_ARROW variable { } + | T_YIELD variable { } + | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { } + | T_YIELD expr T_DOUBLE_ARROW variable { } ; combined_scalar_offset: combined_scalar '[' dim_offset ']' { } - | combined_scalar_offset '[' dim_offset ']' { } - | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { } - | general_constant '[' dim_offset ']' { } + | combined_scalar_offset '[' dim_offset ']' { } + | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { } + | general_constant '[' dim_offset ']' { } ; combined_scalar: T_ARRAY '(' array_pair_list ')' { } - | '[' array_pair_list ']' { } + | '[' array_pair_list ']' { } ; function: @@ -1058,32 +1058,32 @@ function: lexical_vars: /* empty */ - | T_USE '(' lexical_var_list ')' + | T_USE '(' lexical_var_list ')' ; lexical_var_list: - lexical_var_list ',' T_VARIABLE { } - | lexical_var_list ',' '&' T_VARIABLE { } - | T_VARIABLE { } - | '&' T_VARIABLE { } + lexical_var_list ',' T_VARIABLE { } + | lexical_var_list ',' '&' T_VARIABLE { } + | T_VARIABLE { } + | '&' T_VARIABLE { } ; function_call: namespace_name { } function_call_parameter_list { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } function_call_parameter_list { } - | T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } function_call_parameter_list { } - | variable_without_objects { } + | variable_without_objects { } function_call_parameter_list { } ; @@ -1116,15 +1116,15 @@ class_name: fully_qualified_class_name: namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } ; class_name_reference: - class_name { } - | dynamic_class_name_reference { } + class_name { } + | dynamic_class_name_reference { } ; @@ -1132,13 +1132,13 @@ dynamic_class_name_reference: base_variable T_OBJECT_OPERATOR { } object_property { } dynamic_class_name_variable_properties { } - | base_variable { } + | base_variable { } ; dynamic_class_name_variable_properties: dynamic_class_name_variable_properties dynamic_class_name_variable_property - | /* empty */ + | /* empty */ ; @@ -1147,20 +1147,20 @@ dynamic_class_name_variable_property: ; exit_expr: - /* empty */ { } - | '(' ')' { } - | parenthesis_expr { } + /* empty */ { } + | '(' ')' { } + | parenthesis_expr { } ; backticks_expr: - /* empty */ { } - | T_ENCAPSED_AND_WHITESPACE { } - | encaps_list { } + /* empty */ { } + | T_ENCAPSED_AND_WHITESPACE { } + | encaps_list { } ; ctor_arguments: - /* empty */ { } - | function_call_parameter_list { } + /* empty */ { } + | function_call_parameter_list { } ; common_scalar: @@ -1241,96 +1241,96 @@ static_scalar: /* compile-time evaluated scalars */ ; static_scalar_value: - common_scalar { } - | static_class_name_scalar { } - | namespace_name { } + common_scalar { } + | static_class_name_scalar { } + | namespace_name { } | T_NAMESPACE T_NS_SEPARATOR namespace_name { } | T_NS_SEPARATOR namespace_name { } | T_ARRAY '(' static_array_pair_list ')' { } | '[' static_array_pair_list ']' { } | static_class_constant { } - | T_CLASS_C { } + | T_CLASS_C { } | static_operation { } ; static_operation: static_scalar_value '[' static_scalar_value ']' { } - | static_scalar_value '+' static_scalar_value { } - | static_scalar_value '-' static_scalar_value { } - | static_scalar_value '*' static_scalar_value { } - | static_scalar_value T_POW static_scalar_value { } - | static_scalar_value '/' static_scalar_value { } - | static_scalar_value '%' static_scalar_value { } - | '!' static_scalar_value { } - | '~' static_scalar_value { } - | static_scalar_value '|' static_scalar_value { } - | static_scalar_value '&' static_scalar_value { } - | static_scalar_value '^' static_scalar_value { } - | static_scalar_value T_SL static_scalar_value { } - | static_scalar_value T_SR static_scalar_value { } - | static_scalar_value '.' static_scalar_value { } - | static_scalar_value T_LOGICAL_XOR static_scalar_value { } - | static_scalar_value T_LOGICAL_AND static_scalar_value { } - | static_scalar_value T_LOGICAL_OR static_scalar_value { } - | static_scalar_value T_BOOLEAN_AND static_scalar_value { } - | static_scalar_value T_BOOLEAN_OR static_scalar_value { } - | static_scalar_value T_IS_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_EQUAL static_scalar_value { } - | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { } - | static_scalar_value '<' static_scalar_value { } - | static_scalar_value '>' static_scalar_value { } - | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { } - | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { } - | static_scalar_value '?' ':' static_scalar_value { } - | static_scalar_value '?' static_scalar_value ':' static_scalar_value { } - | '+' static_scalar_value { } - | '-' static_scalar_value { } - | '(' static_scalar_value ')' { } + | static_scalar_value '+' static_scalar_value { } + | static_scalar_value '-' static_scalar_value { } + | static_scalar_value '*' static_scalar_value { } + | static_scalar_value T_POW static_scalar_value { } + | static_scalar_value '/' static_scalar_value { } + | static_scalar_value '%' static_scalar_value { } + | '!' static_scalar_value { } + | '~' static_scalar_value { } + | static_scalar_value '|' static_scalar_value { } + | static_scalar_value '&' static_scalar_value { } + | static_scalar_value '^' static_scalar_value { } + | static_scalar_value T_SL static_scalar_value { } + | static_scalar_value T_SR static_scalar_value { } + | static_scalar_value '.' static_scalar_value { } + | static_scalar_value T_LOGICAL_XOR static_scalar_value { } + | static_scalar_value T_LOGICAL_AND static_scalar_value { } + | static_scalar_value T_LOGICAL_OR static_scalar_value { } + | static_scalar_value T_BOOLEAN_AND static_scalar_value { } + | static_scalar_value T_BOOLEAN_OR static_scalar_value { } + | static_scalar_value T_IS_IDENTICAL static_scalar_value { } + | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { } + | static_scalar_value T_IS_EQUAL static_scalar_value { } + | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { } + | static_scalar_value '<' static_scalar_value { } + | static_scalar_value '>' static_scalar_value { } + | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { } + | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { } + | static_scalar_value '?' ':' static_scalar_value { } + | static_scalar_value '?' static_scalar_value ':' static_scalar_value { } + | '+' static_scalar_value { } + | '-' static_scalar_value { } + | '(' static_scalar_value ')' { } ; general_constant: class_constant { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + | namespace_name { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name { } + | T_NS_SEPARATOR namespace_name { } ; scalar: T_STRING_VARNAME { } - | general_constant { } - | class_name_scalar { } - | common_scalar { } - | '"' encaps_list '"' { } - | T_START_HEREDOC encaps_list T_END_HEREDOC { } - | T_CLASS_C { } + | general_constant { } + | class_name_scalar { } + | common_scalar { } + | '"' encaps_list '"' { } + | T_START_HEREDOC encaps_list T_END_HEREDOC { } + | T_CLASS_C { } ; static_array_pair_list: /* empty */ { } - | non_empty_static_array_pair_list possible_comma { } + | non_empty_static_array_pair_list possible_comma { } ; possible_comma: /* empty */ - | ',' + | ',' ; non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | non_empty_static_array_pair_list ',' static_scalar_value { } - | static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | static_scalar_value { } + | non_empty_static_array_pair_list ',' static_scalar_value { } + | static_scalar_value T_DOUBLE_ARROW static_scalar_value { } + | static_scalar_value { } ; expr: - r_variable { } - | expr_without_variable { } + r_variable { } + | expr_without_variable { } ; parenthesis_expr: - '(' expr ')' { } - | '(' yield_expr ')' { } + '(' expr ')' { } + | '(' yield_expr ')' { } ; @@ -1340,23 +1340,23 @@ r_variable: w_variable: - variable { } + variable { } ; rw_variable: - variable { } + variable { } ; variable: base_variable_with_function_calls T_OBJECT_OPERATOR { } object_property { } method_or_not variable_properties { } - | base_variable_with_function_calls { } + | base_variable_with_function_calls { } ; variable_properties: variable_properties variable_property { } - | /* empty */ { } + | /* empty */ { } ; @@ -1366,7 +1366,7 @@ variable_property: array_method_dereference: array_method_dereference '[' dim_offset ']' { } - | method '[' dim_offset ']' { } + | method '[' dim_offset ']' { } ; method: @@ -1375,19 +1375,19 @@ method: ; method_or_not: - method { } - | array_method_dereference { } - | /* empty */ { } + method { } + | array_method_dereference { } + | /* empty */ { } ; variable_without_objects: reference_variable { } - | simple_indirect_reference reference_variable { } + | simple_indirect_reference reference_variable { } ; static_member: class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } ; @@ -1400,21 +1400,21 @@ variable_class_name: array_function_dereference: array_function_dereference '[' dim_offset ']' { } - | function_call { } + | function_call { } '[' dim_offset ']' { } ; base_variable_with_function_calls: - base_variable { } - | array_function_dereference { } - | function_call { } + base_variable { } + | array_function_dereference { } + | function_call { } ; base_variable: reference_variable { } - | simple_indirect_reference reference_variable { } - | static_member { } + | simple_indirect_reference reference_variable { } + | static_member { } ; reference_variable: @@ -1442,111 +1442,111 @@ compound_variable: ; dim_offset: - /* empty */ { } - | expr { } + /* empty */ { } + | expr { } ; object_property: object_dim_list { } - | variable_without_objects { } + | variable_without_objects { } ; object_dim_list: - object_dim_list '[' dim_offset ']' { } - | object_dim_list '{' expr '}' { } - | variable_name { } + object_dim_list '[' dim_offset ']' { } + | object_dim_list '{' expr '}' { } + | variable_name { } ; variable_name: - T_STRING { } - | '{' expr '}' { } + T_STRING { } + | '{' expr '}' { } ; simple_indirect_reference: '$' { } - | simple_indirect_reference '$' { } + | simple_indirect_reference '$' { } ; assignment_list: assignment_list ',' assignment_list_element - | assignment_list_element + | assignment_list_element ; assignment_list_element: - variable { } - | T_LIST '(' { } assignment_list ')' { } - | /* empty */ { } + variable { } + | T_LIST '(' { } assignment_list ')' { } + | /* empty */ { } ; array_pair_list: /* empty */ { } - | non_empty_array_pair_list possible_comma { } + | non_empty_array_pair_list possible_comma { } ; non_empty_array_pair_list: - non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { } - | non_empty_array_pair_list ',' expr { } - | expr T_DOUBLE_ARROW expr { } - | expr { } - | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { } - | non_empty_array_pair_list ',' '&' w_variable { } - | expr T_DOUBLE_ARROW '&' w_variable { } - | '&' w_variable { } + non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { } + | non_empty_array_pair_list ',' expr { } + | expr T_DOUBLE_ARROW expr { } + | expr { } + | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { } + | non_empty_array_pair_list ',' '&' w_variable { } + | expr T_DOUBLE_ARROW '&' w_variable { } + | '&' w_variable { } ; encaps_list: encaps_list encaps_var { } - | encaps_list T_ENCAPSED_AND_WHITESPACE { } - | encaps_var { } - | T_ENCAPSED_AND_WHITESPACE encaps_var { } + | encaps_list T_ENCAPSED_AND_WHITESPACE { } + | encaps_var { } + | T_ENCAPSED_AND_WHITESPACE encaps_var { } ; encaps_var: T_VARIABLE { } - | T_VARIABLE '[' { } encaps_var_offset ']' { } - | T_VARIABLE T_OBJECT_OPERATOR T_STRING { } - | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { } - | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { } - | T_CURLY_OPEN variable '}' { } + | T_VARIABLE '[' { } encaps_var_offset ']' { } + | T_VARIABLE T_OBJECT_OPERATOR T_STRING { } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { } + | T_CURLY_OPEN variable '}' { } ; encaps_var_offset: - T_STRING { } - | T_NUM_STRING { } - | T_VARIABLE { } + T_STRING { } + | T_NUM_STRING { } + | T_VARIABLE { } ; internal_functions_in_yacc: T_ISSET '(' isset_variables ')' { } - | T_EMPTY '(' variable ')' { } - | T_EMPTY '(' expr_without_variable ')' { } - | T_INCLUDE expr { } - | T_INCLUDE_ONCE expr { } - | T_EVAL '(' expr ')' { } - | T_REQUIRE expr { } - | T_REQUIRE_ONCE expr { } + | T_EMPTY '(' variable ')' { } + | T_EMPTY '(' expr_without_variable ')' { } + | T_INCLUDE expr { } + | T_INCLUDE_ONCE expr { } + | T_EVAL '(' expr ')' { } + | T_REQUIRE expr { } + | T_REQUIRE_ONCE expr { } ; isset_variables: - isset_variable { } - | isset_variables ',' { } isset_variable { } + isset_variable { } + | isset_variables ',' { } isset_variable { } ; isset_variable: - variable { } - | expr_without_variable { } + variable { } + | expr_without_variable { } ; class_constant: class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } ; static_class_name_scalar: From 39913bd6d1005920feb1e0d392788dca8d62bfc7 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Mon, 29 Jan 2018 21:12:12 +0200 Subject: [PATCH 09/31] php5 syntax --- node/expr/variable.go | 5 + php5/parser.go | 6 + php5/php5.go | 4132 ++++++++++++++++++++++------------------- php5/php5.y | 147 +- 4 files changed, 2293 insertions(+), 1997 deletions(-) diff --git a/node/expr/variable.go b/node/expr/variable.go index 3fdcc4a..a440c7a 100644 --- a/node/expr/variable.go +++ b/node/expr/variable.go @@ -22,6 +22,11 @@ func (n *Variable) Attributes() map[string]interface{} { return nil } +// SetVarName reset var name +func (n *Variable) SetVarName(VarName node.Node) { + n.VarName = VarName +} + // Walk traverses nodes // Walk is invoked recursively until v.EnterNode returns true func (n *Variable) Walk(v walker.Visitor) { diff --git a/php5/parser.go b/php5/parser.go index ecfeac5..bd7323e 100644 --- a/php5/parser.go +++ b/php5/parser.go @@ -1,6 +1,7 @@ package php5 import ( + "github.com/z7zmey/php-parser/node/expr" "io" "github.com/z7zmey/php-parser/comment" @@ -49,4 +50,9 @@ type nodesWithEndToken struct { type boolWithToken struct { value bool token *token.Token +} + +type simpleIndirectReference struct { + all []*expr.Variable + last *expr.Variable } \ No newline at end of file diff --git a/php5/php5.go b/php5/php5.go index 56896c9..9faa013 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -5,6 +5,7 @@ import __yyfmt__ "fmt" //line php5/php5.y:2 import ( + // "fmt" // "strings" // "strconv" @@ -20,7 +21,7 @@ import ( // "github.com/z7zmey/php-parser/node/expr/cast" ) -//line php5/php5.y:21 +//line php5/php5.y:22 type yySymType struct { yys int node node.Node @@ -29,6 +30,7 @@ type yySymType struct { list []node.Node // foreachVariable foreachVariable // nodesWithEndToken *nodesWithEndToken + simpleIndirectReference simpleIndirectReference // str string } @@ -344,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1560 +//line php5/php5.y:1605 //line yacctab:1 var yyExca = [...]int{ @@ -352,517 +354,727 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 495, - 105, 495, - -2, 493, - -1, 99, - 125, 517, - -2, 521, + 104, 489, + 105, 489, + -2, 487, -1, 101, - 78, 390, - 123, 373, - -2, 471, + 78, 384, + 123, 367, + -2, 465, -1, 113, - 78, 515, - 123, 511, - -2, 522, - -1, 153, - 104, 495, - 105, 495, - -2, 493, - -1, 203, - 121, 356, - 124, 356, - -2, 490, - -1, 204, - 104, 495, - 105, 495, - 121, 357, - 124, 357, - -2, 493, - -1, 227, - 123, 373, - -2, 390, - -1, 270, - 78, 515, - -2, 522, - -1, 296, - 78, 392, - 123, 377, - -2, 473, - -1, 300, - 123, 512, - -2, 523, - -1, 309, - 78, 391, - 123, 375, - -2, 472, - -1, 366, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 317, - -1, 367, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 318, - -1, 368, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 319, - -1, 369, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 320, - -1, 370, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 321, - -1, 371, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 322, - -1, 372, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 323, - -1, 373, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 324, - -1, 380, - 104, 495, - 105, 495, - -2, 493, - -1, 411, - 123, 377, - -2, 392, - -1, 441, - 104, 495, - 105, 495, - 124, 582, - 135, 582, - -2, 493, - -1, 442, - 124, 583, - 135, 583, - -2, 490, - -1, 443, - 104, 495, - 105, 495, - -2, 493, - -1, 465, - 123, 381, + 78, 507, + 123, 503, -2, 513, - -1, 466, - 123, 537, - -2, 584, - -1, 474, - 123, 385, + -1, 153, + 104, 489, + 105, 489, + -2, 487, + -1, 203, + 121, 350, + 124, 350, + -2, 484, + -1, 204, + 104, 489, + 105, 489, + 121, 351, + 124, 351, + -2, 487, + -1, 227, + 123, 367, + -2, 384, + -1, 270, + 78, 507, + -2, 513, + -1, 296, + 78, 386, + 123, 371, + -2, 467, + -1, 300, + 123, 504, -2, 514, - -1, 475, - 123, 537, - -2, 585, - -1, 498, - 78, 390, - -2, 429, - -1, 543, - 124, 174, - -2, 179, - -1, 551, - 121, 358, - 124, 358, - -2, 490, - -1, 552, - 104, 495, - 105, 495, - 121, 359, - 124, 359, - -2, 493, - -1, 558, + -1, 309, + 78, 385, + 123, 369, + -2, 466, + -1, 371, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 311, + -1, 372, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 312, + -1, 373, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 313, + -1, 374, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 314, + -1, 375, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 315, + -1, 376, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 316, + -1, 377, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 317, + -1, 378, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 318, + -1, 385, + 104, 489, + 105, 489, + -2, 487, + -1, 416, + 123, 371, + -2, 386, + -1, 436, + 123, 498, + -2, 502, + -1, 453, + 104, 489, + 105, 489, + 124, 573, + 135, 573, + -2, 487, + -1, 454, + 124, 574, + 135, 574, + -2, 484, + -1, 455, + 104, 489, + 105, 489, + -2, 487, + -1, 477, 123, 375, - -2, 391, - -1, 560, - 57, 266, - 125, 266, - -2, 265, - -1, 596, - 124, 188, - 135, 188, - -2, 490, - -1, 597, - 104, 495, - 105, 495, - 124, 189, - 135, 189, - -2, 493, - -1, 648, - 78, 392, - -2, 431, - -1, 674, - 124, 174, - -2, 179, - -1, 685, - 124, 174, - -2, 179, - -1, 711, - 123, 506, - -2, 510, - -1, 750, + -2, 505, + -1, 478, + 123, 528, + -2, 575, + -1, 483, + 123, 379, + -2, 506, + -1, 484, + 123, 528, + -2, 576, + -1, 507, + 78, 384, + -2, 423, + -1, 553, + 124, 168, + -2, 173, + -1, 561, + 121, 352, + 124, 352, + -2, 484, + -1, 562, + 104, 489, + 105, 489, + 121, 353, + 124, 353, + -2, 487, + -1, 568, + 123, 369, + -2, 385, + -1, 569, + 57, 260, + 125, 260, + -2, 259, + -1, 609, + 124, 182, + 135, 182, + -2, 484, + -1, 610, + 104, 489, + 105, 489, + 124, 183, + 135, 183, + -2, 487, + -1, 659, + 78, 386, + -2, 425, + -1, 686, + 124, 168, + -2, 173, + -1, 701, + 124, 168, + -2, 173, + -1, 768, 153, 0, 154, 0, 155, 0, 156, 0, + -2, 451, + -1, 769, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 452, + -1, 770, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 453, + -1, 771, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 454, + -1, 772, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 455, + -1, 773, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 456, + -1, 774, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 457, - -1, 751, - 153, 0, - 154, 0, - 155, 0, - 156, 0, + -1, 775, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 458, - -1, 752, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 459, - -1, 753, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 460, - -1, 754, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 461, - -1, 755, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 462, - -1, 756, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 463, - -1, 757, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 464, - -1, 760, - 78, 391, - -2, 430, - -1, 809, - 57, 261, - -2, 263, - -1, 871, - 37, 235, - -2, 232, - -1, 937, - 123, 506, - -2, 510, - -1, 1013, - 29, 223, + -1, 778, + 78, 385, + -2, 424, + -1, 829, + 57, 255, + -2, 257, + -1, 889, + 37, 229, + -2, 226, + -1, 951, + 123, 498, + -2, 502, + -1, 1017, + 29, 217, -2, 4, - -1, 1042, - 124, 174, - -2, 179, - -1, 1046, - 121, 227, - -2, 229, + -1, 1043, + 124, 168, + -2, 173, + -1, 1047, + 121, 221, + -2, 223, } const yyPrivate = 57344 -const yyLast = 6418 +const yyLast = 8380 var yyAct = [...]int{ - 101, 136, 1070, 494, 686, 692, 1007, 875, 985, 122, - 130, 812, 816, 406, 568, 113, 199, 60, 810, 859, - 784, 329, 803, 841, 146, 114, 572, 38, 688, 849, - 4, 117, 43, 595, 440, 137, 698, 668, 407, 142, - 453, 650, 97, 263, 378, 419, 317, 313, 571, 157, - 129, 2, 161, 257, 288, 227, 227, 152, 25, 178, - 620, 456, 620, 42, 622, 621, 972, 559, 971, 120, - 1041, 200, 1001, 998, 203, 168, 170, 169, 191, 191, - 266, 466, 970, 120, 475, 1000, 120, 999, 1053, 250, - 968, 963, 927, 855, 620, 270, 630, 631, 632, 623, - 625, 626, 624, 296, 624, 271, 928, 191, 994, 843, - 842, 701, 573, 683, 673, 192, 172, 176, 175, 995, - 988, 240, 269, 467, 976, 309, 493, 191, 314, 318, - 300, 556, 321, 623, 625, 626, 624, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 178, 327, 884, 720, - 227, 346, 681, 334, 323, 804, 176, 175, 798, 556, - 721, 328, 161, 682, 578, 308, 468, 555, 345, 633, - 634, 177, 179, 180, 178, 579, 764, 519, 556, 454, - 468, 119, 266, 468, 227, 120, 487, 240, 181, 182, - 174, 177, 179, 180, 178, 119, 1020, 270, 119, 120, - 488, 961, 975, 973, 535, 936, 620, 271, 646, 628, - 622, 621, 227, 340, 620, 536, 158, 381, 622, 621, - 411, 895, 814, 762, 269, 374, 719, 813, 605, 590, - 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, - 643, 645, 630, 631, 632, 623, 625, 626, 624, 580, - 584, 227, 632, 623, 625, 626, 624, 583, 562, 435, - 483, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 484, 561, 347, 437, 343, 338, - 310, 125, 227, 120, 980, 1077, 452, 132, 893, 421, - 348, 191, 344, 339, 311, 811, 442, 444, 240, 423, - 424, 133, 130, 469, 427, 892, 486, 301, 469, 125, - 490, 120, 1021, 470, 498, 885, 446, 962, 470, 465, - 566, 119, 450, 38, 474, 424, 423, 423, 458, 424, - 176, 175, 451, 299, 471, 459, 464, 498, 159, 298, - 527, 473, 713, 292, 286, 280, 514, 191, 712, 479, - 228, 253, 482, 229, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 232, - 252, 1073, 426, 1057, 1039, 541, 982, 915, 228, 523, - 546, 229, 912, 858, 227, 545, 176, 175, 847, 830, - 554, 797, 722, 585, 581, 947, 416, 232, 461, 414, - 305, 558, 1042, 138, 923, 119, 476, 462, 125, 125, - 120, 120, 857, 852, 551, 843, 842, 376, 469, 469, - 174, 177, 179, 180, 178, 575, 685, 674, 470, 470, - 649, 557, 543, 119, 465, 474, 382, 469, 287, 469, - 125, 125, 120, 120, 469, 521, 337, 470, 522, 470, - 277, 464, 473, 570, 470, 574, 274, 787, 409, 273, - 577, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 249, 314, 604, 228, 228, 318, - 229, 229, 294, 221, 498, 596, 194, 619, 193, 141, - 121, 648, 326, 498, 38, 591, 232, 232, 134, 1059, - 498, 498, 498, 498, 498, 1049, 103, 661, 1029, 228, - 267, 594, 229, 268, 1063, 1028, 1062, 979, 955, 307, - 1079, 306, 612, 910, 906, 615, 786, 227, 232, 232, - 845, 839, 119, 119, 546, 838, 677, 663, 671, 696, - 669, 546, 518, 478, 385, 266, 699, 227, 336, 341, - 670, 863, 1056, 155, 776, 777, 776, 777, 1081, 1067, - 270, 230, 230, 990, 119, 119, 600, 1064, 620, 1038, - 271, 678, 622, 621, 125, 1026, 1016, 993, 227, 992, - 227, 714, 469, 890, 611, 702, 264, 269, 700, 227, - 258, 684, 470, 567, 324, 425, 951, 922, 570, 90, - 642, 644, 643, 645, 630, 631, 632, 623, 625, 626, - 624, 498, 498, 498, 498, 498, 498, 498, 498, 498, - 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, - 498, 498, 498, 498, 498, 498, 498, 498, 760, 717, - 498, 718, 844, 422, 775, 921, 124, 800, 697, 304, - 723, 383, 873, 945, 259, 260, 771, 125, 874, 223, - 224, 872, 904, 905, 498, 546, 230, 781, 294, 782, - 227, 227, 256, 772, 498, 125, 546, 793, 773, 617, - 796, 761, 763, 123, 614, 546, 802, 834, 835, 492, - 699, 788, 695, 489, 227, 447, 799, 778, 264, 780, - 230, 125, 790, 125, 725, 726, 647, 807, 125, 125, - 728, 729, 879, 880, 881, 878, 877, 876, 1013, 434, - 410, 801, 124, 116, 1032, 850, 547, 258, 230, 548, - 127, 128, 294, 485, 925, 320, 654, 294, 442, 438, - 823, 433, 294, 653, 596, 826, 294, 319, 820, 498, - 413, 690, 691, 412, 302, 498, 498, 879, 880, 881, - 878, 877, 876, 873, 281, 285, 297, 230, 258, 874, - 547, 448, 872, 548, 61, 131, 813, 227, 231, 231, - 315, 131, 207, 854, 942, 436, 294, 547, 294, 546, - 548, 259, 260, 262, 694, 546, 53, 550, 230, 258, - 882, 284, 258, 272, 425, 389, 766, 425, 853, 258, - 206, 1030, 887, 864, 283, 860, 227, 861, 889, 469, - 498, 919, 883, 879, 880, 881, 878, 877, 876, 470, - 508, 448, 259, 260, 258, 570, 1071, 238, 258, 282, - 795, 227, 901, 255, 44, 865, 498, 888, 767, 917, - 162, 225, 233, 508, 908, 1037, 902, 911, 846, 776, - 777, 913, 449, 259, 260, 546, 259, 260, 1031, 930, - 933, 538, 284, 259, 260, 44, 916, 898, 779, 776, - 777, 1055, 837, 231, 517, 929, 707, 1076, 709, 708, - 1040, 498, 1022, 938, 1019, 935, 996, 965, 259, 260, - 230, 950, 259, 260, 924, 227, 525, 1054, 1047, 1002, - 966, 546, 946, 958, 959, 272, 957, 231, 953, 948, - 931, 934, 894, 496, 125, 792, 731, 730, 939, 940, - 618, 616, 613, 564, 715, 540, 967, 887, 491, 981, - 974, 983, 460, 984, 386, 231, 496, 977, 469, 322, - 202, 201, 198, 989, 498, 135, 439, 997, 470, 498, - 706, 546, 1003, 546, 570, 978, 1004, 563, 1012, 289, - 703, 569, 293, 986, 98, 986, 115, 819, 817, 1017, - 818, 937, 1018, 891, 231, 711, 431, 78, 651, 89, - 100, 498, 498, 505, 1023, 1024, 497, 546, 941, 897, - 508, 822, 1012, 1027, 576, 265, 1033, 303, 608, 508, - 607, 168, 170, 169, 191, 231, 508, 508, 508, 508, - 508, 546, 602, 601, 463, 481, 1044, 295, 1048, 1046, - 99, 960, 498, 546, 88, 1051, 1035, 1052, 526, 387, - 254, 75, 74, 230, 546, 73, 251, 248, 1060, 1058, - 815, 192, 172, 176, 175, 1065, 63, 534, 783, 375, - 560, 264, 1072, 230, 546, 352, 351, 350, 349, 1074, - 805, 1080, 432, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 705, 496, 230, 704, 230, 886, 808, 809, - 667, 330, 496, 871, 1045, 230, 1011, 1043, 1010, 496, - 496, 496, 496, 496, 1009, 1008, 1006, 231, 1005, 969, - 932, 1061, 1025, 870, 869, 868, 964, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 926, 867, 508, 866, 593, 689, - 687, 1014, 944, 909, 949, 495, 914, 620, 549, 646, - 628, 622, 621, 390, 40, 693, 544, 388, 39, 542, - 508, 862, 14, 13, 1078, 1075, 230, 230, 1069, 956, - 508, 637, 636, 627, 629, 640, 641, 638, 639, 642, - 644, 643, 645, 630, 631, 632, 623, 625, 626, 624, - 230, 1068, 1066, 1050, 991, 920, 918, 856, 794, 196, - 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, - 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, - 496, 496, 496, 496, 496, 496, 496, 789, 539, 496, - 195, 954, 680, 952, 679, 377, 163, 160, 156, 520, - 231, 332, 1034, 1015, 907, 508, 666, 665, 140, 662, - 516, 508, 508, 496, 139, 903, 836, 770, 272, 515, - 231, 833, 769, 496, 660, 325, 11, 10, 6, 5, - 1, 316, 312, 230, 126, 118, 503, 3, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, - 0, 231, 0, 231, 170, 169, 191, 0, 0, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 0, 153, - 0, 0, 230, 0, 0, 0, 508, 0, 0, 900, - 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 230, 496, 226, - 226, 0, 508, 0, 496, 496, 0, 0, 635, 633, - 634, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 231, 231, 0, 620, 508, 646, 628, - 622, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 230, 0, 0, 0, 0, 0, 231, 0, 496, - 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, - 643, 645, 630, 631, 632, 623, 625, 626, 624, 620, - 0, 0, 628, 622, 621, 496, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, - 508, 0, 30, 0, 0, 508, 629, 640, 641, 638, - 639, 642, 644, 643, 645, 630, 631, 632, 623, 625, - 626, 624, 0, 0, 0, 144, 150, 154, 379, 380, - 496, 164, 0, 0, 0, 0, 0, 508, 508, 197, - 231, 0, 0, 191, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 222, 408, 0, 0, 234, - 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, - 244, 245, 246, 247, 0, 0, 0, 0, 508, 231, - 261, 0, 176, 175, 0, 275, 276, 0, 278, 279, - 0, 0, 0, 496, 0, 430, 0, 0, 496, 290, - 0, 0, 0, 0, 231, 0, 0, 0, 441, 443, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 537, 0, 620, 0, 457, 628, 622, 621, - 496, 496, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 239, 0, 0, 331, 0, 0, 0, 637, 636, - 627, 629, 640, 641, 638, 639, 642, 644, 643, 645, - 630, 631, 632, 623, 625, 626, 624, 0, 231, 0, - 0, 496, 0, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 0, 0, 154, 652, 0, - 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, - 0, 392, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 0, 0, 552, 0, 553, 208, + 101, 893, 1068, 702, 113, 136, 1011, 114, 436, 122, + 130, 577, 830, 326, 503, 832, 4, 926, 334, 877, + 860, 411, 146, 117, 585, 38, 708, 199, 704, 691, + 608, 823, 452, 714, 803, 680, 60, 661, 465, 412, + 97, 383, 263, 317, 313, 328, 424, 129, 6, 25, + 161, 157, 439, 2, 137, 227, 227, 178, 142, 468, + 43, 327, 191, 288, 5, 631, 1042, 982, 631, 981, + 1005, 42, 1004, 978, 973, 1002, 478, 442, 120, 120, + 266, 257, 998, 980, 270, 152, 964, 271, 586, 1003, + 1053, 191, 873, 999, 824, 631, 717, 566, 818, 633, + 632, 941, 203, 296, 634, 636, 637, 635, 250, 631, + 635, 902, 240, 633, 632, 942, 739, 698, 479, 300, + 269, 685, 566, 200, 502, 309, 496, 740, 314, 318, + 176, 175, 321, 643, 634, 636, 637, 635, 351, 178, + 497, 646, 644, 645, 323, 641, 642, 643, 634, 636, + 637, 635, 191, 484, 333, 120, 782, 492, 696, 38, + 227, 591, 181, 182, 174, 177, 179, 180, 178, 697, + 161, 493, 592, 352, 339, 120, 332, 308, 529, 631, + 846, 657, 639, 633, 632, 443, 443, 353, 240, 350, + 466, 125, 266, 120, 227, 120, 270, 158, 191, 271, + 119, 119, 388, 648, 647, 638, 640, 651, 652, 649, + 650, 653, 655, 654, 656, 641, 642, 643, 634, 636, + 637, 635, 227, 983, 342, 565, 177, 179, 180, 178, + 416, 345, 269, 1023, 379, 950, 566, 176, 175, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 220, 212, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 239, 0, 418, 420, 420, 0, 0, 0, - 0, 0, 428, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 154, 154, 0, 0, - 445, 0, 0, 420, 0, 0, 0, 0, 0, 420, - 290, 0, 0, 0, 0, 420, 0, 597, 0, 0, - 0, 420, 472, 0, 0, 0, 0, 477, 0, 0, - 0, 0, 0, 0, 0, 0, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 759, 0, 524, 652, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 0, 0, 0, 0, + 220, 212, 348, 545, 343, 386, 910, 833, 971, 903, + 228, 227, 443, 229, 546, 909, 349, 440, 344, 447, + 441, 174, 177, 179, 180, 178, 449, 119, 839, 232, + 310, 132, 834, 780, 299, 582, 438, 616, 604, 432, + 298, 581, 227, 603, 311, 133, 597, 119, 596, 240, + 426, 571, 440, 570, 464, 441, 1076, 440, 1059, 729, + 441, 728, 130, 575, 293, 119, 495, 301, 292, 159, + 499, 477, 4, 286, 507, 831, 483, 458, 280, 253, + 252, 38, 1057, 462, 454, 456, 1022, 428, 429, 470, + 471, 990, 876, 871, 524, 480, 868, 866, 849, 1024, + 476, 463, 507, 817, 6, 482, 1072, 431, 741, 491, + 671, 488, 598, 429, 428, 428, 537, 429, 631, 594, + 5, 421, 633, 632, 972, 419, 125, 305, 120, 1043, + 138, 937, 474, 815, 473, 862, 861, 427, 806, 701, + 686, 660, 485, 567, 553, 556, 533, 523, 387, 227, + 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, + 635, 38, 191, 287, 531, 593, 568, 532, 1029, 277, + 274, 555, 440, 440, 294, 441, 441, 208, 209, 210, + 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, + 273, 477, 483, 249, 221, 267, 583, 588, 268, 194, + 440, 176, 175, 441, 193, 440, 141, 561, 441, 121, + 1063, 307, 1062, 306, 232, 988, 958, 795, 796, 587, + 476, 482, 795, 796, 590, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 381, 331, 134, 1032, 314, 1031, 1021, 987, 318, 965, + 119, 924, 4, 507, 920, 125, 864, 120, 858, 857, + 659, 38, 507, 787, 689, 683, 681, 630, 528, 507, + 507, 507, 507, 507, 607, 487, 390, 341, 155, 103, + 908, 673, 576, 1078, 6, 609, 1050, 962, 623, 936, + 675, 626, 125, 935, 120, 933, 820, 227, 227, 227, + 5, 713, 304, 196, 556, 863, 223, 224, 258, 712, + 794, 556, 956, 430, 613, 266, 881, 227, 682, 270, + 918, 919, 271, 628, 228, 853, 854, 229, 695, 622, + 294, 256, 711, 658, 230, 230, 564, 715, 690, 446, + 415, 414, 124, 232, 440, 125, 1017, 441, 734, 1035, + 125, 227, 665, 227, 125, 269, 718, 716, 125, 264, + 460, 228, 227, 438, 229, 897, 898, 899, 896, 895, + 894, 125, 259, 260, 90, 625, 294, 450, 731, 119, + 232, 501, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 778, + 737, 507, 738, 459, 557, 557, 119, 558, 558, 730, + 445, 742, 124, 281, 285, 418, 319, 664, 294, 498, + 315, 417, 790, 302, 294, 258, 507, 556, 297, 230, + 801, 804, 494, 131, 227, 320, 38, 792, 779, 507, + 800, 781, 556, 744, 745, 816, 833, 746, 747, 123, + 809, 556, 822, 812, 791, 953, 258, 797, 448, 799, + 227, 264, 125, 230, 631, 61, 262, 639, 633, 632, + 807, 710, 294, 819, 125, 284, 120, 715, 125, 560, + 120, 827, 125, 836, 821, 294, 394, 784, 294, 259, + 260, 230, 651, 652, 649, 650, 653, 655, 654, 656, + 641, 642, 643, 634, 636, 637, 635, 207, 842, 127, + 128, 845, 706, 707, 53, 837, 838, 507, 504, 460, + 259, 260, 206, 507, 507, 1033, 878, 694, 238, 785, + 230, 557, 814, 1069, 558, 258, 454, 700, 162, 258, + 430, 609, 44, 228, 282, 227, 229, 228, 1034, 548, + 229, 527, 1075, 38, 131, 723, 872, 725, 724, 556, + 1041, 230, 232, 44, 1025, 556, 232, 1000, 995, 225, + 233, 975, 258, 938, 869, 1054, 535, 255, 440, 1048, + 1006, 441, 907, 346, 976, 227, 905, 879, 945, 507, + 901, 900, 882, 517, 125, 811, 693, 438, 119, 259, + 260, 891, 119, 259, 260, 749, 748, 892, 916, 629, + 890, 227, 258, 627, 507, 624, 556, 430, 906, 573, + 922, 517, 927, 550, 735, 927, 925, 500, 932, 930, + 915, 944, 929, 556, 472, 38, 259, 260, 865, 795, + 796, 391, 934, 322, 912, 798, 795, 796, 202, 201, + 198, 943, 135, 451, 722, 507, 572, 949, 289, 947, + 719, 897, 898, 899, 896, 895, 894, 437, 230, 961, + 115, 580, 578, 258, 963, 461, 259, 260, 283, 966, + 959, 968, 969, 939, 579, 951, 727, 662, 505, 89, + 948, 100, 514, 506, 952, 957, 911, 841, 440, 589, + 265, 441, 985, 984, 989, 905, 991, 303, 992, 986, + 619, 977, 618, 615, 507, 614, 505, 438, 475, 507, + 490, 556, 295, 556, 38, 970, 38, 88, 1001, 38, + 536, 38, 38, 1007, 392, 254, 284, 259, 260, 75, + 74, 73, 251, 248, 63, 507, 507, 1008, 544, 1016, + 802, 556, 38, 380, 38, 38, 569, 1030, 357, 1026, + 1027, 356, 355, 354, 1036, 825, 444, 721, 720, 904, + 828, 829, 517, 1038, 556, 679, 1047, 1016, 335, 889, + 1046, 517, 1015, 507, 556, 1049, 1044, 1052, 517, 517, + 517, 517, 517, 1014, 556, 1013, 1056, 1051, 1012, 38, + 1045, 1010, 1009, 979, 946, 1061, 1028, 888, 887, 1065, + 1071, 886, 38, 556, 974, 940, 230, 230, 230, 38, + 1058, 885, 631, 884, 1079, 639, 633, 632, 38, 606, + 705, 703, 1018, 955, 264, 923, 230, 960, 870, 1073, + 559, 395, 38, 40, 709, 554, 648, 647, 638, 640, + 651, 652, 649, 650, 653, 655, 654, 656, 641, 642, + 643, 634, 636, 637, 635, 393, 39, 505, 552, 880, + 230, 891, 230, 14, 13, 1077, 505, 892, 1074, 1067, + 890, 230, 874, 505, 505, 505, 505, 505, 208, 209, + 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, + 212, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 1066, 1064, + 517, 897, 898, 899, 896, 895, 894, 1040, 967, 875, + 813, 699, 808, 549, 195, 631, 382, 657, 639, 633, + 632, 163, 160, 883, 156, 517, 530, 337, 1037, 1019, + 921, 678, 677, 230, 140, 674, 526, 139, 517, 648, + 647, 638, 640, 651, 652, 649, 650, 653, 655, 654, + 656, 641, 642, 643, 634, 636, 637, 635, 917, 230, + 855, 789, 525, 852, 788, 672, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 330, 10, 505, 1, 116, 914, 316, + 663, 312, 126, 11, 324, 99, 98, 666, 667, 668, + 669, 670, 78, 118, 512, 3, 517, 0, 0, 0, + 505, 0, 517, 517, 0, 0, 0, 646, 644, 645, + 50, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, + 0, 0, 231, 231, 0, 153, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 631, 0, 657, 639, 633, + 632, 0, 204, 0, 0, 0, 0, 272, 0, 0, + 0, 0, 0, 0, 230, 226, 226, 0, 517, 648, + 647, 638, 640, 651, 652, 649, 650, 653, 655, 654, + 656, 641, 642, 643, 634, 636, 637, 635, 0, 0, + 230, 505, 0, 517, 0, 0, 0, 505, 505, 0, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, + 770, 771, 772, 773, 774, 775, 777, 0, 0, 663, + 0, 0, 0, 0, 517, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 379, 168, 170, 169, 191, 0, 0, 533, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 505, 0, 0, 0, 0, 0, 272, + 347, 231, 0, 144, 150, 154, 0, 0, 0, 164, + 0, 0, 0, 0, 0, 0, 0, 197, 505, 0, + 0, 0, 205, 517, 0, 0, 0, 0, 517, 231, + 0, 0, 0, 222, 384, 385, 0, 234, 235, 236, + 237, 0, 0, 239, 0, 241, 242, 243, 244, 245, + 246, 247, 0, 0, 517, 517, 0, 0, 261, 505, + 0, 0, 413, 275, 276, 0, 278, 279, 231, 191, + 0, 0, 0, 0, 0, 847, 0, 290, 0, 0, + 0, 850, 851, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 517, 0, 0, 0, 0, 0, 0, 231, + 0, 435, 0, 0, 0, 0, 0, 547, 176, 175, + 0, 0, 0, 0, 453, 455, 0, 0, 505, 239, + 0, 0, 336, 505, 0, 0, 0, 0, 0, 0, + 0, 0, 469, 0, 0, 0, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 913, 0, 505, + 505, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 377, 378, 0, 0, 0, 154, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 505, 0, 397, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 0, 0, 0, 0, 231, 0, 0, 0, + 0, 0, 0, 954, 208, 209, 210, 211, 213, 214, + 215, 216, 217, 218, 219, 220, 212, 0, 0, 0, + 239, 191, 423, 425, 425, 0, 0, 562, 0, 563, + 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 154, 154, 0, 0, 457, 0, + 0, 425, 0, 0, 0, 0, 0, 425, 290, 172, + 176, 175, 0, 425, 425, 0, 0, 0, 0, 425, + 481, 0, 0, 0, 0, 486, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, + 0, 0, 0, 0, 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 408, 0, 0, 154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 896, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 0, 0, 457, 0, 457, 0, 635, 633, 634, 0, - 0, 0, 0, 457, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 828, 0, 0, 586, 588, 0, - 831, 832, 420, 768, 620, 154, 646, 628, 622, 621, - 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 637, 636, - 627, 629, 640, 641, 638, 639, 642, 644, 643, 645, - 630, 631, 632, 623, 625, 626, 624, 0, 0, 0, - 0, 635, 633, 634, 785, 785, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 899, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 676, 408, 0, - 0, 0, 0, 0, 0, 0, 829, 0, 0, 620, - 441, 646, 628, 622, 621, 0, 597, 0, 0, 0, - 0, 0, 0, 0, 0, 635, 633, 634, 0, 710, - 0, 0, 0, 637, 636, 627, 629, 640, 641, 638, - 639, 642, 644, 643, 645, 630, 631, 632, 623, 625, - 626, 624, 0, 0, 0, 0, 943, 0, 0, 0, - 0, 0, 724, 620, 827, 646, 628, 622, 621, 0, + 0, 0, 0, 0, 231, 231, 231, 0, 0, 0, + 0, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 272, 0, 231, 0, 0, 154, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 692, 692, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 413, 231, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 0, 0, 0, 0, 584, 0, 0, 0, 862, 861, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 469, 0, 469, 646, 644, 645, 599, 601, 0, + 0, 0, 469, 0, 0, 154, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 0, 0, 0, 0, 848, + 0, 0, 631, 0, 657, 639, 633, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 851, 0, 0, 0, 0, 0, 637, 636, 627, - 629, 640, 641, 638, 639, 642, 644, 643, 645, 630, - 631, 632, 623, 625, 626, 624, 0, 0, 0, 0, + 0, 231, 0, 0, 0, 0, 648, 647, 638, 640, + 651, 652, 649, 650, 653, 655, 654, 656, 641, 642, + 643, 634, 636, 637, 635, 688, 0, 231, 0, 0, + 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 457, 0, 0, 0, 0, 168, 170, 169, 191, 331, - 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 727, 0, - 0, 0, 0, 0, 806, 192, 172, 176, 175, 0, - 0, 0, 0, 0, 0, 420, 821, 0, 154, 824, - 0, 0, 0, 0, 154, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 0, 408, - 0, 0, 0, 0, 0, 0, 0, 82, 83, 71, + 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, + 413, 0, 425, 732, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 453, 0, 0, 0, + 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 743, 0, 0, 0, 840, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 692, 0, 0, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 336, + 793, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, + 0, 0, 0, 0, 0, 469, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 826, 0, + 835, 192, 172, 176, 175, 0, 0, 0, 0, 425, + 425, 413, 0, 0, 0, 631, 154, 843, 639, 633, + 632, 154, 191, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 640, 651, 652, 649, 650, 653, 655, 654, + 656, 641, 642, 643, 634, 636, 637, 635, 0, 0, + 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 859, 0, 0, 0, + 0, 0, 0, 867, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 425, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, + 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, + 84, 85, 86, 0, 425, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 336, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 621, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, + 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 489, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, + 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 1080, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 1070, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 1060, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 1055, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 840, - 33, 0, 0, 21, 0, 0, 848, 22, 23, 37, - 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, - 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, - 0, 0, 51, 95, 420, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 610, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 420, 0, - 0, 0, 0, 0, 0, 420, 420, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 331, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, - 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 480, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 1020, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, - 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 997, 34, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 996, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 994, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 993, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 931, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 856, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 551, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 0, 34, 1039, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 0, 34, 928, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -875,7 +1087,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 1036, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 810, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -888,7 +1100,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 987, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 676, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -899,71 +1111,54 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, + 0, 0, 0, 77, 41, 27, 646, 644, 645, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 791, + 70, 783, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 664, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 765, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 635, 633, - 634, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 716, 0, 0, 91, 76, 16, 0, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 0, 0, 620, 0, 646, 628, - 622, 621, 168, 170, 169, 191, 0, 0, 0, 0, + 72, 119, 0, 786, 631, 0, 657, 639, 633, 632, + 646, 644, 645, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 736, 0, 0, 648, 647, + 638, 640, 651, 652, 649, 650, 653, 655, 654, 656, + 641, 642, 643, 634, 636, 637, 635, 0, 631, 0, + 657, 639, 633, 632, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, - 643, 645, 630, 631, 632, 623, 625, 626, 624, 0, + 0, 0, 648, 647, 638, 640, 651, 652, 649, 650, + 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, + 635, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 733, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 675, 0, 0, 0, 0, 192, 172, + 179, 180, 178, 687, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 672, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 684, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 609, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 620, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 606, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 617, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 582, 0, 0, 192, 172, 176, 175, + 179, 180, 178, 595, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 565, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 574, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 0, 0, 0, 0, 455, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, @@ -972,9 +1167,9 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 391, 0, 0, 166, 167, 171, + 0, 0, 0, 0, 396, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 415, 0, 0, 192, + 182, 174, 177, 179, 180, 178, 420, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, @@ -983,168 +1178,92 @@ var yyAct = [...]int{ 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 384, 0, 0, 0, 0, 0, + 177, 179, 180, 178, 389, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 335, 0, 0, 0, 0, 0, 192, 172, 176, + 178, 340, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 333, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 338, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 635, 633, 634, 0, 0, + 0, 192, 172, 176, 175, 646, 644, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 620, 0, 646, 628, 622, 621, 168, + 180, 178, 0, 631, 0, 657, 639, 633, 632, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 637, 636, 627, - 629, 640, 641, 638, 639, 642, 644, 643, 645, 630, - 631, 632, 623, 625, 626, 624, 0, 0, 0, 192, - 172, 176, 175, 0, 634, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 648, 647, 638, + 640, 651, 652, 649, 650, 653, 655, 654, 656, 641, + 642, 643, 634, 636, 637, 635, 0, 0, 0, 192, + 172, 176, 175, 644, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 620, 0, 646, 628, 622, 621, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 637, 636, 627, 629, 640, 641, - 638, 639, 642, 644, 643, 645, 630, 631, 632, 623, - 625, 626, 624, 0, 192, 172, 176, 175, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 192, 172, 176, 175, 191, + 631, 0, 657, 639, 633, 632, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 648, 647, 638, 640, 651, 652, + 649, 650, 653, 655, 654, 656, 641, 642, 643, 634, + 636, 637, 635, 0, 0, 192, 172, 176, 175, 0, + 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 172, 176, 175, + 182, 174, 177, 179, 180, 178, 631, 0, 657, 639, + 633, 632, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 620, 0, 0, 628, 622, 621, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 636, 627, 629, - 640, 641, 638, 639, 642, 644, 643, 645, 630, 631, - 632, 623, 625, 626, 624, 191, 0, 0, 0, 0, + 648, 647, 638, 640, 651, 652, 649, 650, 653, 655, + 654, 656, 641, 642, 643, 634, 636, 637, 635, 0, + 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, + 639, 633, 632, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 647, 638, 640, 651, 652, 649, 650, 653, + 655, 654, 656, 641, 642, 643, 634, 636, 637, 635, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 172, 176, 175, 0, 0, 0, 0, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 599, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 620, 91, 76, 628, 622, 621, 0, 62, - 592, 96, 0, 0, 598, 57, 56, 58, 59, 72, - 119, 0, 0, 0, 0, 0, 0, 0, 627, 629, - 640, 641, 638, 639, 642, 644, 643, 645, 630, 631, - 632, 623, 625, 626, 624, 82, 83, 71, 0, 104, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 176, + 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, - 148, 112, 108, 102, 599, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 598, - 57, 56, 58, 59, 72, 119, 0, 0, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 148, 112, 108, 102, 612, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 620, 62, 0, 96, 622, 621, 825, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 640, 641, 638, 639, 642, 644, 643, 645, 630, - 631, 632, 623, 625, 626, 624, 0, 0, 0, 44, + 66, 67, 68, 69, 70, 0, 0, 631, 91, 76, + 639, 633, 632, 0, 62, 605, 96, 0, 0, 611, + 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, + 0, 0, 0, 638, 640, 651, 652, 649, 650, 653, + 655, 654, 656, 641, 642, 643, 634, 636, 637, 635, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 589, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 191, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 172, 176, 175, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 587, 57, 56, 58, 59, 72, 119, 0, 0, - 0, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 191, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 417, 96, - 172, 176, 175, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 185, 186, 183, 184, 187, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 191, 0, 0, 148, 112, 108, 102, 612, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 172, 176, 175, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 611, 57, 56, 58, 59, 72, + 119, 0, 0, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 393, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1156,12 +1275,12 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 151, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 0, 0, 0, 91, 76, 0, 0, 0, 631, 62, + 0, 96, 633, 632, 844, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 651, 652, 649, 650, + 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, + 635, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, @@ -1169,8 +1288,8 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 149, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 602, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1182,8 +1301,8 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 143, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 600, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1195,12 +1314,62 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 620, 91, 76, 628, 622, - 621, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 641, 638, 639, 642, 644, 643, - 645, 630, 631, 632, 623, 625, 626, 624, 82, 83, - 71, 0, 104, 105, 125, 429, 120, 0, 0, 0, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, + 0, 0, 0, 62, 422, 96, 172, 176, 175, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 398, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 151, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 0, 0, 149, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1211,7 +1380,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 91, 76, 0, 0, 143, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, @@ -1221,513 +1390,536 @@ var yyAct = [...]int{ 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 104, 105, - 125, 77, 41, 147, 0, 0, 0, 0, 506, 54, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 434, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 501, 0, 504, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 499, - 112, 108, 500, 104, 105, 125, 0, 0, 0, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 232, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 104, 105, 125, 77, 41, 147, 0, 0, 0, 0, + 515, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 510, 0, 513, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, + 0, 508, 112, 108, 509, 104, 105, 125, 0, 0, + 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, + 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 776, 522, 0, 511, 0, 0, + 0, 521, 520, 518, 519, 0, 0, 510, 0, 513, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 516, 0, 0, 0, 0, 508, 112, 108, 509, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 758, 513, 0, 502, 0, 0, 0, 512, - 511, 509, 510, 0, 0, 501, 0, 504, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 499, 112, 108, 500, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 513, 0, - 502, 0, 0, 0, 512, 511, 509, 510, + 522, 0, 511, 0, 0, 0, 521, 520, 518, 519, } var yyPact = [...]int{ - -1000, -1000, 2504, -1000, -1000, -1000, -1000, 377, 574, 703, - 176, -1000, 386, -1000, -1000, 955, -1000, 290, -1000, -1000, - 376, 290, 5708, 5577, 5446, 442, 214, 848, 5839, -1000, - 3854, 375, 373, -1000, -1000, -1000, 5839, 952, -57, 951, - 950, 5839, -1000, -1000, -1000, -1000, 768, -1000, 740, -1000, - 1607, 370, 5839, 565, 281, 281, 5839, 5839, 5839, 5839, - -1000, -1000, 6125, -1000, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 361, -1000, -1000, 255, 236, 836, 5839, 746, 441, - 346, 343, 5839, 5839, 337, 5839, 5839, -1000, 230, -1000, - -1000, 832, 807, -1000, 229, 325, 5053, -1000, 228, -1000, - -1000, 596, 924, 698, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 224, 183, -1000, 686, -1000, -1000, 540, - -1000, 286, 410, -1000, 924, -1000, 169, 708, 675, -1000, - 716, 924, -1000, 949, -1000, 28, 484, 380, 6125, 290, - 3159, 5839, -1000, -1000, 3807, -1000, -57, 817, 650, -1000, - 3760, -1000, 437, 335, 3942, -1000, 168, -1000, -1000, 440, - 167, -57, 25, 165, 3942, -1000, -1000, -1000, -1000, -1000, - 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 441, 305, 281, 5839, 323, 542, 3713, 433, 944, - -1000, 760, -1000, -1000, 1607, 3666, -1000, -1000, 5315, 5839, - 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 409, -1000, -1000, -1000, -1000, -1000, 596, 648, 924, - 685, 682, -1000, -1000, -108, -108, -11, -108, 285, 3622, - 282, -108, -108, -108, -108, -108, -108, -108, -1000, 5184, - -1000, 5839, 5839, 5839, 535, 725, 800, -1000, 257, 5994, - 281, 4068, -1000, -1000, 673, -1000, 596, 647, 924, 738, - 224, 183, 671, 5839, 5839, 3942, 3942, 5839, 3942, 3942, - 5839, 588, 725, 766, -1000, 797, 5839, 5053, 170, 54, - 3578, 281, 5839, 220, 942, 294, 596, 71, 5839, 5839, - 224, 540, 74, 294, 5839, 432, -1000, -1000, 2373, 596, - -1000, 709, 149, -1000, 714, 924, 75, -1000, 674, 924, - 938, 670, -10, 6285, -1000, 3159, -1000, -1000, 873, 431, - 52, 3942, 336, -1000, -1000, -1000, -1000, -1000, -1000, 214, - -1000, 5839, -1000, -1000, 904, -1000, 6285, -1000, 5839, 5839, - 5839, 5839, 5839, 4027, 4889, 211, 5182, 17, 17, 17, - -11, -108, -11, -11, 267, 267, 1433, 1433, 1433, 1433, - 37, 37, 37, 37, -1000, 5839, -1000, 90, -1000, -1000, - 1573, 852, 935, -1000, -1000, -1000, -1000, 319, -1000, 657, - 752, 5839, 4068, 309, 4068, 4068, 4068, 4068, 4068, 4068, - 4068, 4068, 4068, 4068, 4068, 4068, 53, -1000, -1000, 318, - 924, 596, 57, 57, -1000, -1000, -1000, -1000, -108, 159, - 3942, 142, -1000, -1000, -1000, -1000, -1000, 933, 3497, 205, - 483, 57, 294, 197, 924, 596, -1000, 224, 197, 50, - -1000, 1607, -1000, 135, 280, 3449, 141, -1000, -1000, -1000, - 134, 279, -1000, -1000, 4903, 4772, -1000, -1000, 113, 5839, - -1000, -1000, 4336, 294, -1000, -1000, -1000, -1000, 5839, 224, - 183, 112, 3405, -1000, -1000, -1000, -1000, 3357, -1000, 2233, - -1000, 294, -1000, -1000, 708, 932, 665, -1000, 675, 931, - 660, -1000, 930, 6285, -1000, 3898, -1000, -1000, 596, 634, - 924, 317, 6285, -1000, -1000, -1000, -1000, 736, 668, 6285, - 6285, 6285, 6285, 6285, -1000, -1000, 3028, -1000, -1000, -1000, - -1000, 429, 427, -1000, 3309, -22, 314, -1000, 3942, 4205, - 4477, 1236, 4068, 3261, 5839, 425, 281, -1000, -1000, 38, - -23, 481, 313, 701, 748, -1000, 596, 620, 924, 539, - 657, -1000, 1607, -1000, 441, -25, 409, -1000, 596, -1000, - -1000, -1000, -1000, 886, -1000, -1000, 5839, -1000, -1000, 233, - -1000, -1000, -1000, -1000, -1000, 596, 57, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 3215, 281, 3942, 281, - -1000, 110, -1000, 35, 278, -1000, -1000, 1607, 281, 5839, - -1000, 294, 294, 2058, 224, -1000, -1000, 294, 294, -1000, - -1000, -1000, -1000, -1000, 927, -1000, -1000, 926, -1000, -1000, - 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, - 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, - 6285, 6285, 6285, 6285, 6285, 6285, 6210, 924, 596, 6285, - 107, 51, 3171, 706, 806, -63, -63, -31, -31, 1819, - -1000, -1000, -1000, -1000, -1000, 290, 5839, 5839, 534, -1000, - 857, -1000, -1000, 6285, 701, -1000, 4109, -1000, -1000, 408, - 408, 2897, 925, 6285, 809, 701, 277, 33, -1000, -57, - -1000, -1000, -1000, 538, 657, 924, 596, -1000, 30, -1000, - -1000, 5839, -1000, 409, -1000, 180, 106, -1000, -1000, -1000, - 934, -1000, 5839, 5839, -1000, 5839, 4641, -1000, -1000, -1000, - -1000, 4491, -1000, -1000, 3942, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1958, -31, -31, -63, -63, -63, -63, 1334, - 4638, 5830, 99, 99, -31, 3985, 1052, 91, 4327, 4127, - 453, 453, 453, 453, -65, -65, -65, -65, 6285, 1904, - 596, 275, -1000, -1000, 6285, 6285, -1000, -1000, -1000, 604, - -1000, 870, 424, 420, 3942, -1000, 5839, 304, 532, 419, - 837, -1000, 274, 5839, 677, -1000, 281, 300, 677, -1000, - -1000, -1000, -43, -1000, -1000, 299, 269, 781, 701, 478, - -1000, 30, 596, 735, 657, 294, 4068, 34, -1000, 200, - 729, 5839, -1000, 57, -1000, 473, -1000, 190, 173, 294, - 105, 1765, -1000, -1000, 3942, 281, -1000, -1000, 1479, 6285, - -1000, 1291, 3898, -1000, 290, 3159, 579, 413, -1000, -1000, - -12, -1000, -1000, -1000, -1000, -1000, 412, 781, 4109, 268, - 408, -1000, -1000, 263, 858, 6285, 789, -1000, 536, 488, - 291, -1000, 902, -1000, 624, -1000, -1000, -1000, -29, -1000, - 817, 669, -1000, 920, 657, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 5839, 729, -1000, 89, -1000, - -1000, 729, 5839, 5839, -1000, -1000, -1000, 737, -1000, 1479, - 6285, -1000, -1000, 568, 290, 283, -1000, 5839, -1000, -1000, - -1000, 487, -1000, -1000, 409, -1000, 407, -1000, -1000, -1000, - 657, -1000, -1000, 199, -45, -1000, 895, -1000, 910, -57, - -1000, -46, -53, -1000, 87, 729, -1000, -1000, -1000, 86, - -2, -1000, 57, 3898, 3159, 406, 172, -1000, 262, -1000, - -1000, -1000, 2766, -4, 2766, -1000, 454, -1000, 469, 467, - -16, -1000, 894, 6285, -48, -51, -64, 909, 6285, -1000, - 657, -1000, 718, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 466, -1000, -1000, -1000, -1000, -1000, - -1000, 892, -1000, -1000, -1000, 194, -1000, -1000, -1000, 890, - 6285, 6285, -1000, -1000, -1000, 465, 718, -1000, 404, 397, - 776, 849, 656, -1000, -1000, 2635, -1000, 839, 459, 260, - -1000, 888, -66, -1000, -1000, 289, -1000, -1000, -1000, -1000, - 657, 669, 908, -1000, -1000, -1000, -1000, 394, -1000, -1000, - -1000, 6285, 701, -47, -1000, 907, -1000, -1000, 867, -1000, - 443, -1000, 259, 657, -1000, 388, -1000, 405, -1000, -1000, - 457, -1000, -1000, -1000, -1000, 449, 805, -1000, -1000, 805, - -1000, 258, -1000, 657, -1000, 885, 171, -1000, 411, -1000, - 448, -1000, + -1000, -1000, 2538, -1000, -1000, -1000, -1000, 336, 590, 732, + 160, -1000, 370, -1000, -1000, 902, -1000, 257, -1000, -1000, + 333, 257, 7694, 7563, 7432, 407, 185, 786, 7825, -1000, + 5814, 331, 326, -1000, -1000, 434, 7825, 900, -5, 899, + 898, 7825, -1000, -1000, -1000, -1000, 730, -1000, 715, -1000, + 1012, 321, 7825, 452, 181, 181, 7825, 7825, 7825, 7825, + -1000, -1000, 8087, -1000, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 320, -1000, -1000, 205, 204, 820, 7825, 669, 366, + 317, 297, 7825, 7825, 296, 7825, 7825, -1000, 203, -1000, + -1000, 787, 921, -1000, 198, 290, 7039, -1000, 193, 189, + -1000, 498, 844, 610, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 165, 183, -1000, 605, -1000, -1000, 433, + -1000, 253, 342, -1000, 844, -1000, 159, 598, 594, -1000, + 666, 844, -1000, 893, -1000, 8, 4241, 369, 8087, 257, + 5027, 7825, -1000, -1000, 5767, -1000, -5, 765, 510, -1000, + 5720, -1000, 406, 103, 5902, -1000, 133, -1000, -1000, 724, + 131, -5, 2, 52, 5902, -1000, -1000, -1000, -1000, -1000, + 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 366, 368, 181, 7825, 275, -1000, 5673, 405, 891, + -1000, 691, -1000, -1000, 1012, 5626, -1000, -1000, 7301, 7825, + 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 532, -1000, -1000, -1000, -1000, -1000, 498, 508, 844, + 603, 597, -1000, -1000, -110, -110, -28, -110, 251, 5582, + 247, -110, -110, -110, -110, -110, -110, -110, -1000, 7170, + -1000, 7825, 7825, 7825, 269, 673, 783, -1000, 232, 7956, + 181, 6114, 67, -1000, 592, -1000, 498, 507, 844, 661, + 165, 183, 549, 7825, 7825, 5902, 5902, 7825, 5902, 5902, + 7825, 546, 673, 704, -1000, 860, 7825, 7039, 178, 55, + 5538, 181, 7825, 7825, 884, 259, 498, 66, 7825, 7825, + 165, 433, 143, 259, 7825, 404, -1000, -1000, 2407, 498, + -1000, 611, 36, -1000, 663, 844, 5, -1000, 650, 844, + 877, 602, -12, 8247, -1000, -1000, -1000, -1000, -1000, 274, + 5027, -1000, -1000, 790, 397, 43, 5902, 295, -1000, -1000, + -1000, -1000, -1000, -1000, 185, -1000, 7825, -1000, -1000, 824, + -1000, 8247, -1000, 7825, 7825, 7825, 7825, 7825, 6073, 2112, + 322, 7168, 62, 62, 62, -28, -110, -28, -28, 108, + 108, 1459, 1459, 1459, 1459, 1, 1, 1, 1, -1000, + 7825, -1000, 129, -1000, -1000, 1558, 780, 873, 4110, -1000, + -1000, -1000, 271, -1000, 585, 684, 7825, 6114, 495, 6114, + 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, + 6114, 101, -1000, -1000, 270, 844, 498, 67, 67, -1000, + -1000, -1000, -1000, -110, 177, 5902, 175, -1000, -1000, -1000, + -1000, -1000, 869, 5457, 188, 412, -1000, 166, -1000, -1000, + 165, 183, -1000, 7825, 259, 163, 844, 498, -1000, 165, + 163, 37, -1000, 1012, -1000, 291, 245, 5409, 172, -1000, + -1000, -1000, 170, 238, -1000, -1000, 6908, 6777, -1000, -1000, + 167, 162, -1000, -1000, 6341, 259, -1000, -1000, -1000, -1000, + 161, 5365, -1000, -1000, -1000, -1000, 5317, -1000, 2276, -1000, + 259, -1000, -1000, 598, 865, 596, -1000, 594, 863, 544, + -1000, 859, 8247, -1000, 5858, -1000, -1000, 498, 501, 844, + 268, 8247, -1000, -1000, -1000, -1000, 660, 524, 8247, 8247, + 8247, 8247, 8247, 236, -1000, -1000, 4896, -1000, -1000, -1000, + -1000, 395, 394, -1000, 5269, -15, 267, -1000, 5902, 6210, + 6482, 5988, 6114, 5221, 7825, 393, 181, 728, 728, 34, + -19, 756, 266, 712, 675, -1000, 498, 500, 844, 432, + 585, -1000, 1012, -1000, 366, -40, 532, -1000, 498, -1000, + -1000, -1000, 805, -1000, -1000, 7825, -1000, -1000, 186, 184, + 259, 7825, 7825, 165, 5175, -1000, -1000, -1000, 498, 67, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 5127, + 181, 5902, 181, -1000, -1000, -1000, -8, 234, -1000, -1000, + 1012, 181, 7825, -1000, 259, 259, -1000, -1000, 259, 259, + -1000, -1000, -1000, -1000, -1000, 856, -1000, -1000, 855, -1000, + -1000, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, + 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, + 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8172, 844, 498, + 8247, 157, 21, 5083, 535, 737, -57, -57, -60, -60, + 5039, 392, -1000, 4372, -1000, -1000, -1000, 257, 7825, 7825, + 440, -1000, 874, -1000, -1000, 8247, 712, -1000, 1621, -1000, + -1000, 633, -1000, 181, 265, 633, 4765, 845, 8247, 750, + 260, 712, 229, -37, -1000, -5, -1000, -1000, -1000, 427, + 585, 844, 498, -1000, -41, -1000, -1000, 7825, -1000, 532, + -1000, 200, 156, -1000, -1000, -1000, 2054, 649, 7825, 7825, + -1000, 152, 1957, -1000, -1000, 7825, 6646, -1000, -1000, -1000, + 6496, -1000, -1000, 5902, -1000, -1000, -1000, -1000, -1000, -1000, + 54, -60, -60, -57, -57, -57, -57, 2070, 6643, 599, + -30, -30, -60, 6031, 1080, 5945, 6332, 6132, 243, 243, + 243, 243, -16, -16, -16, -16, 8247, 1837, 498, 224, + -1000, -1000, 8247, 8247, -1000, -1000, -1000, -1000, 482, -1000, + 3979, 388, 387, 5902, -1000, 7825, 264, 435, 385, 867, + -1000, 223, 7825, 222, 728, -1000, -1000, 219, -1000, -1000, + -1000, -44, -1000, -1000, -1000, -1000, 218, 742, 712, 483, + -1000, -41, 498, 1093, 585, 259, 6114, -13, -1000, 134, + 649, 7825, -1000, 67, -1000, 410, -1000, 139, 130, -1000, + -1000, -1000, -1000, 5902, 181, -1000, -1000, 957, 8247, -1000, + 1230, 5858, -1000, 257, 5027, 477, 383, -1000, -1000, 1787, + -1000, -1000, -1000, -1000, -1000, 380, 742, 1621, 4634, -1000, + 532, 4634, 3848, 8247, 426, 585, 424, 420, 258, -1000, + 821, -1000, 823, -1000, -1000, -1000, -20, -1000, 765, 517, + -1000, 838, 585, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 7825, 649, -1000, 109, -1000, -1000, -1000, + -1000, 658, -1000, 957, 8247, -1000, -1000, 467, 257, 344, + -1000, 7825, -1000, -1000, -1000, 418, -1000, -1000, -1000, -38, + -1000, 378, -1000, -1000, -1000, -1000, -1000, 246, -62, -1000, + 819, -1000, 834, -5, -1000, -63, -52, -1000, 97, 649, + -1000, -1000, -1000, 67, 5858, 5027, 376, 343, -1000, 217, + -1000, 4372, -1000, 3717, -1000, -1000, 3586, 816, 3455, 3324, + -42, -1000, 815, 8247, -46, -64, -66, 830, 8247, -1000, + 585, -1000, 586, -1000, -1000, -1000, -1000, -1000, -1000, 4372, + -1000, 4372, 3193, 375, -1000, 212, -1000, -1000, -1000, 221, + -1000, -1000, -1000, 812, 8247, 8247, -1000, -1000, -1000, 298, + 586, -1000, 374, 372, 740, 779, 521, -1000, -1000, 4503, + -1000, -1000, -1000, -1000, 808, -70, -1000, -1000, 256, -1000, + -1000, -1000, -1000, 585, 517, 829, 4372, -1000, -1000, -1000, + 417, -1000, 8247, 712, -45, -1000, 825, -1000, -1000, 3062, + -1000, -1000, 208, 585, -1000, 187, 2931, 341, -1000, -1000, + -1000, -1000, -1000, -1000, 752, 2800, -1000, 752, -1000, 233, + -1000, -1000, 585, -1000, 800, 182, -1000, 414, -1000, 2669, + -1000, } var yyPgo = [...]int{ - 0, 1307, 50, 47, 46, 609, 1306, 1305, 15, 516, - 733, 51, 0, 1304, 1302, 1301, 1300, 30, 1299, 1298, - 1297, 3, 1, 1297, 1296, 17, 1295, 1294, 1292, 1291, - 1289, 1287, 1286, 1285, 1284, 1280, 1279, 1278, 1277, 21, - 1276, 1274, 1273, 1272, 1271, 1269, 1482, 32, 1314, 58, - 1268, 1267, 1266, 1265, 1264, 20, 29, 1263, 8, 1262, - 1261, 1260, 1258, 1257, 1229, 1228, 1227, 1226, 1225, 5, - 1224, 1223, 1222, 1221, 1199, 1198, 2, 1195, 1194, 44, - 1193, 1192, 16, 1191, 24, 1189, 4, 1188, 1187, 1186, - 1185, 22, 1184, 1183, 1178, 36, 1176, 13, 37, 23, - 1174, 1173, 1172, 1171, 1170, 28, 1169, 112, 1168, 33, - 61, 49, 63, 1167, 1165, 1164, 1136, 1135, 1134, 1133, - 1132, 1131, 1130, 1129, 1128, 1126, 6, 1125, 1124, 1118, - 1117, 1116, 1114, 7, 1113, 1111, 1110, 18, 11, 1109, - 45, 1108, 1107, 1105, 1102, 784, 43, 1082, 26, 1080, - 806, 1078, 1077, 1076, 1075, 1070, 1069, 1068, 1067, 1066, - 1057, 1056, 1055, 1052, 1051, 1050, 1049, 19, 1048, 1044, - 54, 1041, 1040, 1037, 1035, 1034, 48, 1033, 31, 1032, - 1020, 1018, 1017, 1015, 42, 1014, 14, 1011, 1009, 1008, - 682, 1175, 1006, 41, 1003, 1000, 999, 998, 40, 997, - 996, 995, 12, 993, 991, 990, 988, 987, 25, 986, - 984, 982, 981, 38, 980, 979, 53, 977, 970, 966, - 34, 944, + 0, 1305, 47, 44, 43, 624, 1304, 1303, 4, 529, + 1287, 46, 1460, 60, 71, 59, 774, 1320, 1302, 40, + 1296, 1295, 1294, 13, 1293, 53, 0, 1292, 1291, 1289, + 5, 7, 1286, 61, 45, 1284, 14, 36, 1283, 1255, + 1254, 1253, 1252, 1251, 1250, 1248, 1227, 1226, 1225, 1224, + 1222, 18, 1221, 1220, 1219, 1218, 1217, 1216, 49, 1214, + 1212, 1211, 1206, 29, 34, 17, 1204, 1203, 1202, 1201, + 1200, 1199, 26, 1198, 1197, 1189, 1188, 1142, 1139, 2, + 1138, 1135, 41, 1134, 1133, 27, 1129, 22, 1128, 3, + 1126, 1125, 1105, 1104, 31, 1103, 1101, 1100, 33, 1098, + 21, 35, 20, 1097, 1095, 1093, 1092, 1091, 28, 1090, + 88, 1089, 30, 51, 1083, 1081, 1075, 1074, 1071, 1068, + 1067, 1066, 1065, 1064, 1063, 1062, 1061, 6, 1058, 1055, + 1053, 1046, 1042, 1040, 1, 1039, 1038, 1035, 12, 15, + 1031, 1030, 1029, 1028, 1027, 725, 42, 1026, 24, 1025, + 1023, 1022, 1021, 1018, 1016, 1013, 1010, 1008, 1004, 1003, + 1002, 1001, 1000, 999, 995, 994, 19, 990, 987, 63, + 985, 982, 980, 978, 52, 975, 23, 973, 972, 970, + 967, 960, 959, 8, 957, 956, 954, 581, 778, 953, + 37, 952, 951, 949, 947, 38, 11, 946, 945, 944, + 932, 931, 930, 927, 39, 920, 918, 81, 916, 914, + 913, 32, 884, } var yyR1 = [...]int{ - 0, 16, 11, 11, 12, 12, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 13, 13, 2, - 2, 2, 2, 14, 14, 3, 3, 3, 3, 15, - 15, 4, 4, 4, 4, 20, 20, 22, 22, 23, - 23, 23, 23, 17, 17, 24, 26, 27, 24, 30, - 31, 24, 34, 35, 24, 37, 38, 24, 40, 41, - 42, 24, 44, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 54, 57, - 24, 59, 60, 24, 61, 24, 24, 64, 66, 24, - 24, 24, 65, 68, 70, 71, 72, 65, 67, 74, - 67, 73, 73, 75, 75, 77, 78, 76, 53, 53, - 79, 18, 19, 82, 82, 83, 83, 85, 80, 89, - 81, 93, 81, 87, 87, 87, 87, 88, 88, 92, - 94, 94, 90, 90, 95, 95, 56, 56, 55, 55, - 96, 55, 43, 43, 58, 58, 63, 63, 62, 62, - 45, 45, 45, 45, 98, 100, 98, 101, 98, 99, - 99, 36, 36, 28, 102, 28, 32, 103, 32, 29, - 29, 33, 33, 86, 86, 104, 104, 105, 105, 106, - 106, 106, 106, 107, 107, 107, 108, 108, 109, 109, - 109, 109, 50, 50, 111, 111, 111, 51, 51, 51, - 51, 91, 91, 115, 113, 113, 113, 120, 113, 118, - 122, 122, 123, 123, 124, 124, 125, 125, 126, 126, - 127, 130, 130, 131, 131, 129, 128, 128, 132, 132, - 121, 121, 114, 114, 119, 119, 134, 134, 133, 133, - 133, 133, 133, 133, 116, 116, 116, 116, 117, 117, - 52, 52, 39, 39, 136, 135, 135, 137, 137, 139, - 139, 142, 141, 141, 141, 143, 144, 143, 147, 145, - 47, 47, 47, 149, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 151, 47, 152, 47, 153, 47, 154, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 155, 47, - 156, 157, 47, 158, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 161, 47, 47, 47, 47, 47, - 47, 47, 166, 47, 168, 47, 49, 49, 49, 49, - 163, 163, 163, 163, 164, 164, 84, 167, 167, 171, - 171, 171, 171, 173, 172, 174, 172, 175, 172, 177, - 172, 179, 172, 180, 172, 181, 172, 182, 172, 9, - 9, 9, 9, 69, 69, 69, 146, 146, 185, 187, - 183, 183, 188, 188, 189, 160, 160, 160, 165, 165, - 165, 148, 148, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 21, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 169, 169, 169, 169, 162, 162, 162, 162, 162, 162, - 162, 193, 193, 198, 198, 197, 197, 197, 197, 46, - 46, 25, 25, 112, 110, 150, 200, 201, 48, 48, - 203, 203, 204, 138, 205, 205, 207, 206, 202, 202, - 202, 178, 178, 209, 209, 10, 210, 211, 210, 199, - 199, 199, 184, 184, 184, 8, 8, 8, 7, 7, - 140, 140, 186, 186, 212, 212, 212, 176, 176, 208, - 208, 97, 97, 213, 214, 213, 213, 170, 170, 215, - 215, 215, 215, 215, 215, 215, 215, 190, 190, 190, - 190, 216, 217, 216, 216, 216, 216, 216, 218, 218, - 218, 159, 159, 159, 159, 159, 159, 159, 159, 219, - 221, 219, 220, 220, 195, 195, 192, 196, + 0, 32, 25, 25, 26, 26, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 27, 27, 2, + 2, 2, 2, 28, 28, 3, 3, 3, 3, 29, + 29, 4, 4, 4, 4, 35, 35, 30, 30, 22, + 22, 22, 22, 23, 23, 24, 38, 39, 24, 42, + 43, 24, 46, 47, 24, 49, 50, 24, 52, 53, + 54, 24, 56, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 66, 24, 24, 24, 24, 24, 69, 71, 73, 74, + 75, 69, 70, 77, 70, 76, 76, 78, 78, 80, + 81, 79, 62, 62, 82, 33, 34, 85, 85, 86, + 86, 88, 83, 92, 84, 96, 84, 90, 90, 90, + 90, 91, 91, 95, 97, 97, 93, 93, 98, 98, + 64, 64, 63, 63, 99, 63, 55, 55, 65, 65, + 68, 68, 67, 67, 57, 57, 57, 57, 101, 103, + 101, 104, 101, 102, 102, 48, 48, 40, 105, 40, + 44, 106, 44, 41, 41, 45, 45, 89, 89, 107, + 107, 108, 108, 109, 109, 109, 109, 110, 110, 110, + 111, 111, 112, 112, 112, 112, 59, 59, 113, 113, + 113, 60, 60, 60, 60, 94, 94, 116, 114, 114, + 114, 121, 114, 119, 123, 123, 124, 124, 125, 125, + 126, 126, 127, 127, 128, 131, 131, 132, 132, 130, + 129, 129, 133, 133, 122, 122, 115, 115, 120, 120, + 135, 135, 134, 134, 134, 134, 134, 134, 117, 117, + 117, 117, 118, 118, 61, 61, 51, 51, 137, 136, + 136, 138, 138, 140, 140, 142, 141, 141, 141, 143, + 144, 143, 147, 145, 13, 13, 13, 149, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 150, 13, 151, 13, + 152, 13, 153, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 154, 13, 155, 156, 13, 157, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 160, 13, + 13, 13, 13, 13, 13, 13, 165, 13, 167, 13, + 58, 58, 58, 58, 162, 162, 162, 162, 163, 163, + 87, 166, 166, 170, 170, 170, 170, 171, 21, 172, + 21, 173, 21, 175, 21, 177, 21, 178, 21, 179, + 21, 180, 21, 9, 9, 9, 9, 72, 72, 72, + 146, 146, 182, 184, 181, 181, 185, 185, 186, 159, + 159, 159, 164, 164, 164, 148, 148, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, + 36, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 168, 168, 168, 168, 161, 161, + 161, 161, 161, 161, 161, 190, 190, 195, 195, 194, + 194, 194, 194, 12, 12, 37, 37, 14, 15, 16, + 17, 17, 197, 197, 198, 139, 199, 199, 201, 200, + 196, 196, 196, 176, 176, 202, 202, 10, 20, 20, + 18, 18, 18, 19, 19, 19, 8, 8, 8, 7, + 7, 11, 11, 183, 183, 203, 203, 203, 174, 174, + 31, 31, 100, 100, 204, 205, 204, 204, 169, 169, + 206, 206, 206, 206, 206, 206, 206, 206, 187, 187, + 187, 187, 207, 208, 207, 207, 207, 207, 207, 209, + 209, 209, 158, 158, 158, 158, 158, 158, 158, 158, + 210, 212, 210, 211, 211, 192, 192, 189, 193, } var yyR2 = [...]int{ 0, 1, 2, 0, 1, 3, 1, 1, 1, 4, 3, 5, 4, 3, 4, 4, 2, 3, 1, 1, 3, 2, 4, 3, 1, 1, 3, 2, 4, 3, - 1, 1, 3, 2, 4, 5, 4, 1, 0, 1, + 1, 1, 3, 2, 4, 5, 4, 2, 0, 1, 1, 1, 4, 1, 2, 3, 0, 0, 7, 0, 0, 10, 0, 0, 5, 0, 0, 7, 0, 0, 0, 12, 0, 4, 2, 3, 2, 3, 2, 3, - 3, 2, 3, 3, 3, 1, 2, 5, 0, 0, - 10, 0, 0, 10, 0, 6, 1, 0, 0, 8, - 3, 3, 0, 0, 0, 0, 0, 13, 0, 0, - 5, 1, 0, 1, 2, 0, 0, 10, 1, 3, - 1, 1, 1, 0, 1, 0, 1, 0, 10, 0, - 8, 0, 7, 1, 2, 1, 2, 0, 2, 1, - 0, 2, 0, 2, 1, 3, 0, 2, 1, 2, - 0, 5, 1, 4, 1, 4, 1, 4, 3, 5, - 3, 4, 4, 5, 0, 0, 6, 0, 5, 1, - 1, 1, 4, 0, 0, 5, 0, 0, 6, 0, - 2, 0, 3, 1, 0, 1, 3, 4, 6, 0, - 1, 1, 1, 2, 3, 3, 1, 3, 1, 1, - 2, 2, 3, 1, 1, 2, 4, 3, 5, 1, - 3, 2, 0, 0, 4, 2, 1, 0, 9, 3, - 1, 3, 1, 3, 0, 1, 1, 2, 2, 2, - 3, 1, 3, 1, 1, 3, 4, 3, 0, 1, - 1, 3, 1, 1, 0, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, - 3, 1, 0, 1, 0, 4, 1, 2, 1, 4, - 3, 0, 3, 1, 1, 0, 0, 2, 0, 4, - 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 0, 4, 0, 4, 0, 4, 0, 4, + 3, 2, 3, 3, 3, 1, 2, 5, 8, 8, + 0, 6, 1, 6, 3, 3, 0, 0, 0, 0, + 0, 13, 0, 0, 5, 1, 0, 1, 2, 0, + 0, 10, 1, 3, 1, 1, 1, 0, 1, 0, + 1, 0, 10, 0, 8, 0, 7, 1, 2, 1, + 2, 0, 2, 1, 0, 2, 0, 2, 1, 3, + 0, 2, 1, 2, 0, 5, 1, 4, 1, 4, + 1, 4, 3, 5, 3, 4, 4, 5, 0, 0, + 6, 0, 5, 1, 1, 1, 4, 0, 0, 5, + 0, 0, 6, 0, 2, 0, 3, 1, 0, 1, + 3, 4, 6, 0, 1, 1, 1, 2, 3, 3, + 1, 3, 1, 1, 2, 2, 3, 1, 1, 2, + 4, 3, 5, 1, 3, 2, 0, 0, 4, 2, + 1, 0, 9, 3, 1, 3, 1, 3, 0, 1, + 1, 2, 2, 2, 3, 1, 3, 1, 1, 3, + 4, 3, 0, 1, 1, 3, 1, 1, 0, 1, + 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, + 1, 3, 5, 4, 3, 1, 0, 1, 0, 4, + 1, 2, 1, 4, 3, 0, 3, 1, 1, 0, + 0, 2, 0, 4, 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 1, 0, 5, - 0, 0, 7, 0, 5, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 0, 3, 1, 1, 1, 3, - 2, 1, 0, 10, 0, 11, 2, 2, 4, 4, - 4, 4, 4, 4, 4, 3, 1, 0, 4, 3, - 4, 1, 2, 0, 3, 0, 5, 0, 4, 0, - 5, 0, 5, 0, 5, 0, 5, 0, 3, 1, - 1, 3, 2, 1, 3, 2, 1, 1, 0, 0, - 6, 1, 2, 0, 2, 0, 2, 1, 0, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 3, 1, 1, 1, 1, - 3, 2, 4, 3, 1, 1, 1, 4, 3, 3, - 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, + 3, 3, 2, 2, 2, 2, 0, 4, 0, 4, + 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 0, 5, 0, 0, 7, 0, 5, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, + 1, 1, 1, 3, 2, 1, 0, 10, 0, 11, + 2, 2, 4, 4, 4, 4, 4, 4, 4, 3, + 1, 0, 4, 3, 4, 1, 2, 0, 3, 0, + 5, 0, 4, 0, 5, 0, 5, 0, 5, 0, + 5, 0, 3, 1, 1, 3, 2, 1, 3, 2, + 1, 1, 0, 0, 6, 1, 2, 0, 2, 0, + 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 2, 3, + 1, 1, 1, 1, 3, 2, 4, 3, 1, 1, + 1, 4, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 4, 5, 2, 2, 3, - 1, 1, 3, 2, 1, 1, 1, 1, 3, 3, - 1, 0, 2, 0, 1, 5, 3, 3, 1, 1, - 1, 3, 3, 1, 1, 1, 0, 0, 7, 1, - 2, 0, 0, 4, 4, 4, 0, 2, 1, 1, - 0, 1, 2, 3, 3, 1, 4, 0, 5, 1, - 1, 1, 1, 2, 1, 4, 4, 1, 1, 4, - 0, 1, 1, 1, 4, 4, 1, 1, 3, 1, - 2, 3, 1, 1, 0, 5, 0, 0, 2, 5, - 3, 3, 1, 6, 4, 4, 2, 2, 2, 1, - 2, 1, 0, 5, 3, 3, 6, 3, 1, 1, - 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, - 0, 4, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, + 5, 2, 2, 3, 1, 1, 3, 2, 1, 1, + 1, 1, 3, 3, 1, 0, 2, 0, 1, 5, + 3, 3, 1, 1, 1, 3, 3, 1, 1, 1, + 5, 1, 2, 0, 0, 4, 4, 4, 0, 2, + 1, 1, 0, 1, 2, 3, 3, 1, 4, 4, + 1, 1, 1, 1, 2, 1, 4, 4, 1, 1, + 4, 0, 1, 1, 1, 4, 4, 1, 1, 3, + 1, 2, 3, 1, 1, 0, 5, 0, 0, 2, + 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, + 1, 2, 1, 0, 5, 3, 3, 6, 3, 1, + 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, + 1, 0, 4, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -16, -11, -1, -17, -18, -19, 51, 79, 44, - -20, -24, 10, -80, -81, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, - -46, 48, 25, 27, 121, 40, 43, 36, -84, -87, - -92, 97, -112, -47, 37, 52, 99, 53, 100, 54, - -48, 59, 92, -150, 104, 105, 130, 129, 131, 132, - -25, -145, 123, -159, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -162, -163, -164, 118, 96, -199, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -169, -196, - -5, 117, 74, 62, 18, 60, 125, -184, -210, -172, - -195, -12, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -208, -209, -10, -178, -7, 134, - 12, 123, -12, 119, 82, 10, -13, 37, 38, -2, - -12, 82, 121, 135, 122, 10, -22, -25, 123, -34, - -37, 123, -25, 121, -46, 97, -84, 98, 79, 121, - -46, 121, -47, -48, -46, 121, -50, -111, 12, 134, - -51, -84, 12, -52, -46, 121, 149, 150, 87, 89, + -1000, -32, -25, -1, -23, -33, -34, 51, 79, 44, + -35, -24, 10, -83, -84, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -58, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -87, -90, + -95, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, + -37, -145, 123, -158, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -161, -162, -163, 118, 96, -18, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -168, -193, + -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, + -192, -26, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -31, -202, -10, -176, -7, 134, + 12, 123, -26, 119, 82, 10, -27, 37, 38, -2, + -26, 82, 121, 135, 122, 10, -30, -37, 123, -46, + -49, 123, -37, 121, -12, 97, -87, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -59, -113, 12, 134, + -60, -87, 12, -61, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -61, -64, -46, 10, -82, - 128, 10, 10, -47, -48, -46, 52, 52, 136, 137, + 160, 90, 127, 123, 123, -66, 119, -12, 10, -85, + 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -46, 104, 105, -150, -48, -12, 79, 82, - -9, -10, 98, -150, -46, -46, -46, -46, -145, -46, - -49, -46, -46, -46, -46, -46, -46, -46, -160, 123, - -25, -161, 125, 125, -165, 17, -190, -216, 12, 76, - 77, -46, 57, -146, -9, -183, -12, 79, 82, -184, - -8, -208, -10, 123, 123, -46, -46, 123, -46, -46, - 125, -190, 17, 17, 75, -190, 125, 123, -170, -215, - -46, 128, 125, -211, 82, -173, -12, 78, 125, 119, - -8, 134, 78, -182, 119, 124, 121, 119, -11, -12, - 121, 135, -14, -3, -12, 82, -15, -4, -12, 82, - 29, -12, 10, 136, 120, -26, 122, -25, -17, -39, - -135, -46, -44, 121, -82, 121, 121, 121, 121, 135, - -112, 119, -48, 121, 135, -82, 136, 121, 135, -151, - -152, -153, -154, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -146, -156, 122, -53, -79, -48, - -48, -47, 123, 119, 121, 121, 10, -166, -88, 55, - -93, 58, -46, 128, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -97, -213, -48, 59, - 82, -12, 78, 78, 124, 124, 124, 124, -46, -140, - -46, -140, 118, -216, -216, 17, 125, 57, -46, 11, - -48, -200, -147, 78, 82, -12, 57, -8, 78, -219, - -220, -48, -47, -48, -47, -46, -140, 117, 75, 75, - -140, -170, 126, -198, 135, 58, -110, -48, -140, 125, - 10, -107, 123, -175, -176, -178, 10, 52, 119, -8, - -208, -140, -46, -176, -178, 10, -107, -46, 121, -11, - 120, -174, -2, 121, 135, 29, -12, 121, 135, 29, - -12, 10, 29, 136, -21, -191, -5, -192, -12, 79, - 82, 60, 125, -6, 62, -194, 18, 74, -9, 131, - 132, 130, 129, 123, -17, -30, -35, 21, 121, 135, - -45, 119, 122, -111, -46, 12, -168, -21, -46, -46, - -46, -46, -46, -46, -158, 124, 135, 29, 29, -62, - 10, -22, -85, 123, -89, -69, -12, 79, 82, -94, - 55, -47, -48, -48, 91, 124, 135, 123, -12, 10, - -155, 126, 126, -217, 10, 120, 125, 120, -186, -212, - -178, -176, -148, -107, -178, -12, -185, -178, 124, 135, - 124, 124, 124, 126, 126, 124, -46, 128, -46, 128, - 126, -140, 124, -108, -49, -109, -47, -48, 128, 83, - -107, -177, -179, -46, -8, 126, 120, -180, -181, 120, - 120, -107, -3, 10, 29, -4, 10, 29, 10, -21, - 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, - 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, - 153, 154, 157, 159, 158, 160, 127, 82, -12, 123, - -193, -197, -191, 17, 78, -191, -191, -191, -191, -191, - -27, -22, -36, -17, 122, -38, -40, -136, -98, 121, - -98, 121, 120, 136, 123, 122, -46, 121, -79, -54, - -59, 124, 135, 136, 120, 123, -86, -104, -105, -106, - 60, 61, -69, -90, 56, 82, -12, 119, -95, -69, - -146, 136, -213, -214, -143, -144, -218, 10, 13, 12, - -46, -201, 125, 119, -186, -221, 58, -110, -110, 126, - 124, 135, 124, -110, -46, -107, -107, 120, -107, -107, - 10, 10, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, 122, -191, - -12, -193, 126, -198, 135, 58, 10, 52, 124, -28, - -31, -22, -25, -39, -46, 120, 32, 33, -98, 31, - -98, -21, -86, -157, -55, -48, 128, 59, -55, -63, - -17, 122, 10, -21, -65, 41, -86, 124, 135, -82, - 119, -95, -12, -91, 135, -149, -46, -97, -141, -139, - -137, 125, -138, 57, 126, 126, -202, -206, -205, -207, - -140, -46, -187, -220, -46, 128, -109, 126, -191, 122, - 124, -191, -191, -29, 93, 94, -32, 22, 121, 121, - -46, -99, 122, 121, 120, 121, 31, 124, -46, -56, - 58, -48, 123, -56, -22, 136, -66, 123, 124, -167, - 44, -105, -83, 83, -91, 120, -113, -114, -117, -118, - -119, -134, 47, 38, 44, -133, 103, 102, 101, 98, - 99, 100, -69, -148, 124, 125, -142, -138, -140, -186, - 120, -203, 125, 125, -107, 126, 120, -188, -110, -191, - 58, -25, -17, -33, 93, 94, 121, -41, -99, -101, - 121, -167, 124, -55, -96, 124, 28, -21, -67, 42, - -68, 119, 119, 123, 12, 120, -115, 121, 135, -84, - -133, 10, -122, -69, -140, -137, 126, -204, -138, -140, - -140, -189, 57, -191, -102, 95, -25, 122, -39, -100, - -22, 119, -57, -97, -60, 121, -74, -69, -22, -22, - -171, 12, 128, 136, -116, 12, 10, -82, 136, -123, - 135, 121, 119, 126, -202, 126, 126, -186, -17, 121, - 122, -22, 124, -22, -22, -58, -17, 122, 124, -58, - 119, -70, 120, 120, 124, 135, 12, -21, 121, 135, - 136, 136, 10, -21, -69, -124, -125, -126, -127, -128, - -129, -131, -69, 10, -103, -42, 120, -22, -22, 12, - 12, 128, 12, -21, -21, -120, 120, -126, 121, 121, - 45, 29, 78, -22, -43, -17, 122, 26, 120, 124, - 12, 136, 123, -130, -69, -132, -133, 10, -22, 121, - -71, -21, -86, 135, 10, 24, 119, 124, -69, 121, - -22, -121, 121, 119, 120, -22, -72, 120, -73, -75, - -76, 41, -76, 123, -69, -77, 12, 124, -78, 119, - -22, 120, + 147, 123, -12, 104, 105, -16, -17, -26, 79, 82, + -9, -10, 98, -16, -12, -12, -12, -12, -145, -12, + -58, -12, -12, -12, -12, -12, -12, -12, -159, 123, + -37, -160, 125, 125, -164, 17, -187, -207, 12, 76, + 77, -12, 57, -146, -9, -181, -26, 79, 82, -19, + -8, -31, -10, 123, 123, -12, -12, 123, -12, -12, + 125, -187, 17, 17, 75, -187, 125, 123, -169, -206, + -12, 128, 125, 125, 82, -171, -26, 78, 125, 119, + -8, 134, 78, -180, 119, 124, 121, 119, -25, -26, + 121, 135, -28, -3, -26, 82, -29, -4, -26, 82, + 29, -26, 10, 136, -22, 120, -23, -33, -34, 51, + -38, 122, -37, -23, -51, -136, -12, -56, 121, -85, + 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, + -85, 136, 121, 135, -150, -151, -152, -153, -12, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -146, + -155, 122, -62, -82, -17, -17, -13, 123, -30, 121, + 121, 10, -165, -91, 55, -96, 58, -12, 128, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, + -12, -100, -204, -17, 59, 82, -26, 78, 78, 124, + 124, 124, 124, -12, -11, -12, -11, 118, -207, -207, + 17, 125, 57, -12, 11, -17, -183, -203, -176, -174, + -8, -31, 10, 119, -147, 78, 82, -26, 57, -8, + 78, -210, -211, -17, -13, -17, -13, -12, -11, 117, + 75, 75, -11, -169, 126, -195, 135, 58, -15, -17, + -11, -11, 10, -110, 123, -173, -174, -176, 10, 52, + -11, -12, -174, -176, 10, -110, -12, 121, -25, 120, + -172, -2, 121, 135, 29, -26, 121, 135, 29, -26, + 10, 29, 136, -36, -188, -5, -189, -26, 79, 82, + 60, 125, -6, 62, -191, 18, 74, -9, 131, 132, + 130, 129, 123, 123, -23, -42, -47, 21, 121, 135, + -57, 119, 122, -113, -12, 12, -167, -36, -12, -12, + -12, -12, -12, -12, -157, 124, 135, 29, 29, -67, + 10, 120, -88, 123, -92, -72, -26, 79, 82, -97, + 55, -13, -17, -17, 91, 124, 135, 123, -26, -154, + 126, 126, -208, 10, 120, 125, 120, -196, -200, -199, + -201, 125, 119, -8, -12, -148, -110, -176, -26, -182, + -176, 124, 135, 124, 124, 124, 126, 126, 124, -12, + 128, -12, 128, 126, 126, 124, -111, -58, -112, -13, + -17, 128, 83, -110, -175, -177, 126, 120, -178, -179, + 120, 120, -110, -3, 10, 29, -4, 10, 29, 10, + -36, 125, 130, 129, 164, 167, 165, 166, 151, 128, + 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -26, + 123, -190, -194, -188, 17, 78, -188, -188, -188, -188, + -188, 124, -39, -30, -48, -23, 122, -50, -52, -137, + -101, 121, -101, 121, 120, 136, 123, 122, -12, 121, + -82, -63, -17, 128, 59, -63, 124, 135, 136, -69, + 41, 123, -89, -107, -108, -109, 60, 61, -72, -93, + 56, 82, -26, 119, -98, -72, -146, 136, -204, -205, + -143, -144, -209, 10, 13, 12, -12, -197, 125, 125, + -110, -11, -12, 120, -183, -212, 58, -15, -15, 124, + 135, 124, -15, -12, -110, -110, -110, -110, 10, 10, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, 122, -188, -26, -190, + 126, -195, 135, 58, 10, 52, 124, 121, -40, -43, + -30, -37, -51, -12, 120, 32, 33, -101, 31, -101, + -36, -89, -156, -64, 58, -17, 123, -64, -68, -23, + 122, 10, -36, -70, 42, 123, -89, 124, 135, -85, + 119, -98, -26, -94, 135, -149, -12, -100, -141, -140, + -138, 125, -139, 57, 126, 126, -139, -11, -11, 126, + 120, -184, -211, -12, 128, -112, 126, -188, 122, 124, + -188, -188, -41, 93, 94, -44, 22, 121, 121, -12, + -102, 122, 121, 120, 121, 31, 124, -12, 124, -63, + -99, 124, -30, 136, -77, -71, 124, -166, 44, -108, + -86, 83, -94, 120, -114, -115, -118, -119, -120, -135, + 47, 38, 44, -134, 103, 102, 101, 98, 99, 100, + -72, -148, 124, 125, -142, -139, -11, -183, 120, 126, + 126, -185, -15, -188, 58, -37, -23, -45, 93, 94, + 121, -53, -102, -104, 121, -166, -65, -23, 122, -100, + -65, 28, -36, 119, -72, 119, 119, 123, 12, 120, + -116, 121, 135, -87, -134, 10, -123, -72, -11, -138, + 126, -198, -186, 57, -188, -105, 95, -37, 122, -51, + -103, -30, 119, -30, 124, 121, -30, -73, -30, -30, + -170, 12, 128, 136, -117, 12, 10, -85, 136, -124, + 135, 121, 119, 126, -196, -183, -23, 121, 122, -30, + 124, -30, -30, 26, 120, 12, 120, 120, 124, 135, + 12, -36, 121, 135, 136, 136, 10, -36, -72, -125, + -126, -127, -128, -129, -130, -132, -72, 10, -106, -54, + 120, 121, 124, 12, 128, 12, -36, -36, -121, 120, + -127, 121, 121, 45, 29, 78, -30, -55, -23, 122, + -74, 12, 136, 123, -131, -72, -133, -134, 10, -30, + 119, -36, -89, 135, 10, 24, -30, 124, -72, 121, + 120, -122, 121, 119, -75, -30, -76, -78, -79, 41, + 120, -79, 123, -72, -80, 12, 124, -81, 119, -30, + 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, - 0, 43, 4, 111, 112, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 389, 0, 75, - 0, 0, 0, 84, 86, 87, 0, 0, 113, 0, - 0, 351, 489, 490, 366, 123, 0, 125, 0, 129, + 0, 43, 4, 105, 106, 0, 38, 0, 52, 55, + 0, 0, 0, 0, 0, 0, 0, 383, 0, 75, + 0, 0, 0, 80, 82, 0, 0, 0, 107, 0, + 0, 345, 483, 484, 360, 117, 0, 119, 0, 123, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 326, 327, 0, 335, 0, 0, 0, 0, 0, 0, - 0, 405, 344, 346, 347, 348, 408, 0, 499, 0, - 0, 0, 0, 0, 0, 0, 0, 474, 475, 476, - 477, 0, 0, 480, 415, 0, 547, 519, 520, -2, - 470, -2, 0, 0, 413, 414, 416, 417, 418, 419, - 420, 421, 422, -2, 0, 524, 0, 387, 527, 539, - 528, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 320, 321, 0, 329, 0, 0, 0, 0, 0, 0, + 0, 399, 338, 340, 341, 342, 402, 0, 491, 0, + 0, 0, 0, 0, 0, 0, 0, 468, 469, 470, + 471, 0, 0, 474, 409, 0, 538, 510, 511, 512, + 464, -2, 0, 0, 407, 408, 410, 411, 412, 413, + 414, 415, 416, -2, 0, 515, 0, 381, 518, 530, + 519, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 252, 62, 64, 0, 351, 113, 389, 0, 66, - 0, 68, 490, -2, 0, 71, 0, 193, 194, 0, - 0, 113, 199, 0, 251, 76, 292, 294, 296, 298, + 0, 246, 62, 64, 0, 345, 107, 383, 0, 66, + 0, 68, 484, -2, 0, 71, 0, 187, 188, 0, + 0, 107, 193, 0, 245, 76, 286, 288, 290, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 330, 0, 0, 0, 0, 0, 0, 352, - 114, 127, 121, -2, -2, 0, 124, 126, 0, 0, + 0, 0, 324, 0, 0, 0, 38, 0, 0, 346, + 108, 121, 115, -2, -2, 0, 118, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 275, 288, 290, 289, 495, -2, 0, 0, - 0, 0, 389, 291, 313, 314, 315, 316, 327, 0, - 0, 336, 337, 338, 339, 340, 341, 342, 343, 0, - 407, 0, 530, 530, 0, 409, 410, 559, 561, 0, - 0, 350, 496, 268, 396, 397, 390, 0, 0, 401, - -2, 0, 0, 0, 0, 574, 575, 0, 577, 578, - 530, 0, 0, 0, 424, 0, 530, 547, 0, 483, - 552, 0, 530, 0, 0, 0, -2, 0, 530, 0, - -2, 540, 0, 0, 0, 0, 10, 3, 0, -2, + 0, 537, 269, 282, 284, 283, 489, -2, 0, 0, + 0, 0, 383, 285, 307, 308, 309, 310, 321, 0, + 0, 330, 331, 332, 333, 334, 335, 336, 337, 0, + 401, 0, 521, 521, 0, 403, 404, 550, 552, 0, + 0, 344, 0, 262, 390, 391, 384, 0, 0, 395, + -2, 0, 0, 0, 0, 565, 566, 0, 568, 569, + 521, 0, 0, 0, 418, 0, 521, 538, 0, 477, + 543, 0, 521, 521, 0, 0, -2, 0, 521, 0, + -2, 531, 0, 0, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, - 0, 21, 0, 0, 45, 0, 49, 53, 0, 0, - 253, 256, 0, 65, 352, 67, 69, 70, 72, 0, - 195, 0, 493, 73, 0, 354, 0, 74, 0, 0, - 0, 0, 0, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, -2, -2, -2, -2, - -2, -2, -2, -2, 325, 0, 333, 0, 108, 110, - -2, 490, 0, 38, 90, 91, 117, 0, 119, 0, - 130, 0, 271, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 0, 542, 543, 0, - 0, -2, 0, 0, 328, 491, 492, 406, 345, 0, - 531, 0, 349, 560, 557, 558, 562, 0, 0, 474, - 0, 0, 411, 0, 0, 392, 398, 523, 0, 0, - 579, -2, -2, -2, 490, 0, 0, 478, 423, 479, - 0, 0, 365, 548, 484, 0, 556, 494, 0, 530, - 5, 374, 0, 0, 379, -2, -2, 587, 0, 511, - 0, 0, 0, 383, -2, -2, 388, 0, 9, 0, - 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, - 33, 20, 0, 0, 36, 426, 427, 428, -2, 0, - 0, 0, 481, 434, 435, 436, 415, 0, 0, 0, - 0, 0, 0, 0, 47, 38, 0, 56, 58, 254, - 63, 154, 154, 192, 0, 197, 0, 200, 250, 293, - 295, 297, 299, 0, 0, 0, 0, 78, 81, 0, - 0, 0, 0, -2, 132, 128, 393, 0, 0, 0, - 0, -2, -2, 272, 0, 0, 546, 544, -2, 537, - -2, 361, 360, 0, 564, 565, 0, 567, 497, 532, - 533, 536, 269, 412, 513, 391, 0, 514, 571, 580, - 572, 573, 576, 363, 362, 364, 550, 0, 551, 0, - 516, 0, 183, 0, 0, 186, -2, -2, 0, 0, - 378, 0, 0, 0, 512, 525, 526, 0, 0, 529, - 11, 376, 23, 26, 0, 29, 32, 0, 22, 35, + 0, 21, 0, 0, 37, 45, 39, 40, 41, 0, + 0, 49, 53, 0, 0, 247, 250, 0, 65, 346, + 67, 69, 70, 72, 0, 189, 0, 487, 73, 0, + 348, 0, 74, 0, 0, 0, 0, 0, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, -2, -2, -2, -2, -2, -2, -2, -2, 319, + 0, 327, 0, 102, 104, -2, 484, 0, 0, 84, + 85, 111, 0, 113, 0, 124, 0, 265, 0, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 0, 533, 534, 0, 0, -2, 0, 0, 322, + 485, 486, 400, 339, 0, 522, 0, 343, 551, 548, + 549, 553, 0, 0, 468, 0, -2, 523, 524, 527, + 503, 0, 528, 0, 405, 0, 0, 386, 392, 514, + 0, 0, 570, -2, -2, -2, 484, 0, 0, 472, + 417, 473, 0, 0, 359, 539, 478, 0, 547, 488, + 0, 0, 5, 368, 0, 0, 373, -2, -2, 578, + 0, 0, 377, -2, -2, 382, 0, 9, 0, 12, + 0, 17, 14, 0, 0, 27, 15, 0, 0, 33, + 20, 0, 0, 36, 420, 421, 422, -2, 0, 0, + 0, 475, 428, 429, 430, 409, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 38, 0, 56, 58, 248, + 63, 148, 148, 186, 0, 191, 0, 194, 244, 287, + 289, 291, 293, 0, 0, 0, 0, 0, 0, 0, + 0, 86, 0, -2, 126, 122, 387, 0, 0, 0, + 0, -2, -2, 266, 0, 0, 537, 535, -2, -2, + 355, 354, 0, 555, 556, 0, 558, 493, 500, 501, + 0, 521, 0, 504, 0, 263, 406, 505, 385, 0, + 506, 562, 571, 563, 564, 567, 357, 356, 358, 541, + 0, 542, 0, 508, 509, 177, 0, 0, 180, -2, + -2, 0, 0, 372, 0, 0, 516, 517, 0, 0, + 520, 11, 370, 23, 26, 0, 29, 32, 0, 22, + 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -2, 481, - 0, 483, 488, 0, 0, 444, 445, 467, 468, 0, - 163, 37, 54, 161, 38, 0, 252, 0, 0, 154, - 0, 154, 196, 0, -2, 331, 334, 77, 109, 0, - 0, 0, 0, 0, 92, -2, 0, 173, 175, 113, - 180, 181, 182, 0, 0, 0, 395, 202, 131, 134, - 273, 0, 541, 546, 329, 0, 0, 568, 569, 570, - 0, -2, 530, 0, 399, 0, 0, 554, 555, 518, - 184, 0, 185, 190, 191, 380, 382, 538, 384, 386, - 28, 34, 0, 438, 439, 440, 441, 442, 443, 446, - 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, - -2, 0, 433, 482, 484, 0, 425, 586, 469, 169, - 166, 0, 0, 0, 255, 150, 0, 0, 0, 0, - 0, 198, 0, 0, 136, 138, 0, 0, 136, 85, - 146, 38, 0, 148, 88, 0, 0, 367, 179, 115, - 202, 133, 394, 234, 0, 411, 270, 0, 267, -2, - 264, 530, 258, 0, 563, 0, 501, 508, 509, 0, - 0, 0, 403, 581, 549, 0, 187, 437, 465, 0, - 432, 486, 487, 48, 0, 0, 171, 0, 57, 59, - 0, 157, 159, 160, 151, 152, 0, 367, 332, 0, - 0, 139, 140, 0, 0, 0, 98, 93, 0, 0, - 0, 176, 0, 116, 234, 122, 201, 203, 0, 206, - 0, -2, 233, 0, 0, 236, 238, 239, 240, 241, - 242, 243, 135, 274, 545, 530, 0, 257, 0, 502, - 566, 498, 530, 530, 507, 534, 535, 400, 553, 466, - 0, 164, 170, 0, 0, 0, 162, 252, 155, 38, - 153, 0, 79, 137, 546, 82, 0, 149, 89, 99, - 0, 38, 38, 0, 177, 120, 0, 205, 0, 113, - 237, 0, 0, 210, 0, 262, 260, -2, 500, 0, - 0, 402, 0, 485, 0, 0, 0, 38, 0, 38, - 37, 38, 0, 0, 0, 147, 0, 94, 0, 0, - 0, 371, 0, 0, 0, 246, 0, 0, 0, 209, - 0, 212, 214, 259, 503, 505, 504, 404, 165, 51, - 167, 37, 60, 37, 0, 80, 144, 38, 141, 83, - 38, 0, 118, 353, 368, 0, 372, 178, 204, 0, - 0, 0, 207, 249, 211, 0, 215, 216, 0, 0, - 224, 0, 0, -2, 38, 0, 355, 0, 0, 0, - 369, 0, 244, 247, 248, 0, 213, 217, 218, 219, - 0, 228, 0, 37, 61, 142, 38, 0, 100, 95, - 370, 0, -2, 220, 221, 0, -2, 225, 0, 145, - 0, 245, 0, 0, 226, 0, 38, 0, 222, 143, - 0, 208, 230, 38, 96, 0, 102, 231, 97, 101, - 103, 0, 104, 0, 105, 0, 0, 106, 0, 38, - 0, 107, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, + 475, 0, 477, 482, 0, 0, 438, 439, 461, 462, + 0, 0, 157, 50, 54, 155, 38, 0, 246, 0, + 0, 148, 0, 148, 190, 0, -2, 325, 328, 77, + 103, 130, 132, 0, 0, 130, 0, 0, 0, 92, + 0, -2, 0, 167, 169, 107, 174, 175, 176, 0, + 0, 0, 389, 196, 125, 128, 267, 0, 532, 537, + 323, 0, 0, 559, 560, 561, 0, 490, 521, 521, + 499, 0, 0, 529, 393, 0, 0, 545, 546, 178, + 0, 179, 184, 185, 374, 376, 378, 380, 28, 34, + 0, 432, 433, 434, 435, 436, 437, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, -2, -2, + -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, + 427, 476, 478, 0, 419, 577, 463, 42, 163, 160, + 0, 0, 0, 249, 144, 0, 0, 0, 0, 0, + 192, 0, 0, 0, 0, 133, 134, 0, 81, 140, + 38, 0, 142, 83, 93, 87, 0, 361, 173, 109, + 196, 127, 388, 228, 0, 405, 264, 0, 261, -2, + 258, 521, 252, 0, 554, 0, 492, 0, 0, 525, + 526, 397, 572, 540, 0, 181, 431, 459, 0, 426, + 480, 481, 48, 0, 0, 165, 0, 57, 59, 0, + 151, 153, 154, 145, 146, 0, 361, 326, 0, 131, + 537, 0, 0, 0, 0, 0, 0, 0, 0, 170, + 0, 110, 228, 116, 195, 197, 0, 200, 0, -2, + 227, 0, 0, 230, 232, 233, 234, 235, 236, 237, + 129, 268, 536, 521, 0, 251, 0, 494, 557, 497, + 496, 394, 544, 460, 0, 158, 164, 0, 0, 0, + 156, 246, 149, 38, 147, 0, 78, 138, 38, 0, + 79, 0, 143, 38, 88, 38, 38, 0, 171, 114, + 0, 199, 0, 107, 231, 0, 0, 204, 0, 256, + 254, -2, 396, 0, 479, 0, 0, 0, 38, 0, + 38, 152, 38, 0, 135, 141, 0, 0, 0, 0, + 0, 365, 0, 0, 0, 240, 0, 0, 0, 203, + 0, 206, 208, 253, 495, 398, 159, 51, 161, 166, + 60, 150, 0, 0, 94, 0, 112, 347, 362, 0, + 366, 172, 198, 0, 0, 0, 201, 243, 205, 0, + 209, 210, 0, 0, 218, 0, 0, -2, 38, 0, + 349, 139, 89, 363, 0, 238, 241, 242, 0, 207, + 211, 212, 213, 0, 222, 0, 162, 61, 136, 38, + 0, 364, 0, -2, 214, 215, 0, -2, 219, 0, + 38, 239, 0, 0, 220, 0, 0, 0, 216, 137, + 90, 202, 224, 38, 96, 0, 91, 95, 97, 0, + 225, 98, 0, 99, 0, 0, 100, 0, 38, 0, + 101, } var yyTok1 = [...]int{ @@ -2105,25 +2297,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:203 + //line php5/php5.y:211 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:209 + //line php5/php5.y:217 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:210 + //line php5/php5.y:218 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:215 + //line php5/php5.y:223 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2132,7 +2324,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:222 + //line php5/php5.y:230 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2141,31 +2333,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:231 + //line php5/php5.y:239 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:232 + //line php5/php5.y:240 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:233 + //line php5/php5.y:241 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:234 + //line php5/php5.y:242 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:236 + //line php5/php5.y:244 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2177,7 +2369,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:246 + //line php5/php5.y:254 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2189,7 +2381,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:256 + //line php5/php5.y:264 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2197,7 +2389,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:262 + //line php5/php5.y:270 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2205,7 +2397,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:268 + //line php5/php5.y:276 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2217,7 +2409,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:278 + //line php5/php5.y:286 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2229,25 +2421,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:287 + //line php5/php5.y:295 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:291 + //line php5/php5.y:299 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:292 + //line php5/php5.y:300 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:297 + //line php5/php5.y:305 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2259,7 +2451,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:307 + //line php5/php5.y:315 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2274,7 +2466,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:320 + //line php5/php5.y:328 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2286,7 +2478,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:330 + //line php5/php5.y:338 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2301,19 +2493,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:346 + //line php5/php5.y:354 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:350 + //line php5/php5.y:358 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:357 + //line php5/php5.y:365 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2325,7 +2517,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:367 + //line php5/php5.y:375 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2340,7 +2532,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:380 + //line php5/php5.y:388 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2352,7 +2544,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:390 + //line php5/php5.y:398 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2367,19 +2559,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:406 + //line php5/php5.y:414 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:410 + //line php5/php5.y:418 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:417 + //line php5/php5.y:425 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2391,7 +2583,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:427 + //line php5/php5.y:435 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2406,7 +2598,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:440 + //line php5/php5.y:448 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2418,7 +2610,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:450 + //line php5/php5.y:458 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2433,1505 +2625,1532 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:465 + //line php5/php5.y:473 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:466 + //line php5/php5.y:474 { } case 37: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:478 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 38: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:479 + { + yyVAL.list = []node.Node{} + } + case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:470 + //line php5/php5.y:484 + { + yyVAL.node = yyDollar[1].node + } + case 40: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:485 + { + yyVAL.node = nil + } + case 41: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:486 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:479 + //line php5/php5.y:487 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:484 + //line php5/php5.y:492 { + yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:493 + { + } + case 45: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:497 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:498 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:498 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:498 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:499 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:499 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:499 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:500 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:500 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:500 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:501 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:501 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:501 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:497 + //line php5/php5.y:505 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:507 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:509 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:510 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:511 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:511 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:512 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:513 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:514 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:515 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:516 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:517 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:518 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:519 + { + } + case 72: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:520 + { + } + case 73: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:521 + { + } + case 74: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:522 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:523 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:524 + { + yyVAL.node = yyDollar[1].node + } + case 77: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:525 { } case 78: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:519 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:526 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:527 { } case 80: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:521 - { - } - case 81: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:523 - { - } - case 82: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:524 - { - } - case 83: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:525 - { - } - case 84: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:526 - { - } - case 85: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:526 - { - } - case 87: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:528 { } - case 88: + case 81: yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:528 + { + } + case 82: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:529 { } - case 89: - yyDollar = yyS[yypt-8 : yypt+1] + case 83: + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:530 { } - case 90: + case 84: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:531 { } - case 91: + case 85: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:532 { } - case 92: + case 86: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:536 { } - case 93: + case 87: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:537 { } - case 94: + case 88: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:538 { } - case 95: + case 89: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:539 { } - case 96: + case 90: yyDollar = yyS[yypt-11 : yypt+1] //line php5/php5.y:540 { } - case 97: + case 91: yyDollar = yyS[yypt-13 : yypt+1] //line php5/php5.y:541 { } - case 98: + case 92: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:544 { } - case 99: + case 93: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:545 { } - case 100: + case 94: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:545 { } - case 101: + case 95: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:549 { } - case 102: + case 96: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:550 { } - case 103: + case 97: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:554 { } - case 104: + case 98: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:555 { } - case 105: + case 99: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:559 { } - case 106: + case 100: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:559 { } - case 107: + case 101: yyDollar = yyS[yypt-10 : yypt+1] //line php5/php5.y:559 { } - case 110: + case 104: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:568 { } - case 111: + case 105: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:572 { } - case 112: + case 106: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:576 { } - case 113: + case 107: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:580 { } - case 114: + case 108: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:581 { } - case 115: + case 109: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:585 { } - case 116: + case 110: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:586 { } - case 117: + case 111: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:590 { } - case 118: + case 112: yyDollar = yyS[yypt-10 : yypt+1] //line php5/php5.y:592 { } - case 119: + case 113: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:597 { } - case 120: + case 114: yyDollar = yyS[yypt-8 : yypt+1] //line php5/php5.y:601 { } - case 121: + case 115: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:603 { } - case 122: + case 116: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:607 { } - case 123: + case 117: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:612 { } - case 124: + case 118: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:613 { } - case 125: + case 119: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:614 { } - case 126: + case 120: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:615 { } - case 127: + case 121: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:619 { } - case 128: + case 122: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:620 { } - case 129: + case 123: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:624 { } - case 134: + case 128: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:638 { } - case 135: + case 129: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:639 { } - case 136: + case 130: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:643 { } - case 137: + case 131: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:644 { } - case 138: + case 132: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:648 { } - case 139: + case 133: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:649 { } - case 140: + case 134: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:650 { } - case 141: + case 135: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:650 { } - case 148: + case 142: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:672 { } - case 149: + case 143: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:673 { } - case 150: + case 144: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:678 { } - case 151: + case 145: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:679 { } - case 152: + case 146: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:680 { } - case 153: + case 147: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:681 { } - case 154: + case 148: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:686 { } - case 155: + case 149: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:687 { } - case 156: + case 150: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:687 { } - case 157: + case 151: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:688 { } + case 152: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:688 + { + } case 158: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:688 - { - } - case 164: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:707 { } - case 165: + case 159: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:707 { } - case 167: + case 161: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:713 { } - case 168: + case 162: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:713 { } - case 177: + case 171: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:742 { } - case 178: + case 172: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:744 { } - case 179: + case 173: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:749 { } - case 180: + case 174: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:750 { } - case 181: + case 175: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:751 { } - case 182: + case 176: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:752 { } - case 183: + case 177: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:757 { } - case 184: + case 178: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:758 { } - case 185: + case 179: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:759 { } - case 188: + case 182: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:769 { } - case 189: + case 183: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:770 { } - case 190: + case 184: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:771 { } - case 191: + case 185: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:772 { } - case 192: + case 186: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:776 { } - case 193: + case 187: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:777 { } - case 194: + case 188: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:782 { } - case 195: + case 189: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:783 { } - case 196: + case 190: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:784 { } - case 197: + case 191: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:789 { } - case 198: + case 192: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:790 { } - case 199: + case 193: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:791 { } - case 200: + case 194: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:792 { } - case 203: + case 197: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:804 { } - case 207: + case 201: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:807 { } - case 208: + case 202: yyDollar = yyS[yypt-9 : yypt+1] //line php5/php5.y:809 { } - case 210: + case 204: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:817 { } - case 211: + case 205: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:818 { } - case 220: + case 214: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:842 { } - case 221: + case 215: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:846 { } - case 222: + case 216: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:847 { } - case 223: + case 217: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:851 { } - case 224: + case 218: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:852 { } - case 225: + case 219: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:856 { } - case 226: + case 220: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:860 { } - case 227: + case 221: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:861 { } - case 228: + case 222: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:865 { } - case 229: + case 223: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:866 { } - case 230: + case 224: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:870 { } - case 231: + case 225: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:871 { } - case 232: + case 226: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:875 { } - case 233: + case 227: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:876 { } - case 234: + case 228: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:880 { } - case 235: + case 229: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:881 { } - case 236: + case 230: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:885 { } - case 237: + case 231: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:886 { } - case 238: + case 232: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:890 { } - case 239: + case 233: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:891 { } - case 240: + case 234: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:892 { } - case 241: + case 235: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:893 { } - case 242: + case 236: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:894 { } - case 243: + case 237: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:895 { } - case 244: + case 238: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:899 { } - case 245: + case 239: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:900 { } - case 246: + case 240: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:901 { } - case 247: + case 241: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:902 { } - case 248: + case 242: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:906 { } - case 249: + case 243: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:907 { } - case 250: + case 244: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:911 { } - case 251: + case 245: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:912 { } - case 252: + case 246: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:917 { } - case 253: + case 247: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:918 { } - case 254: + case 248: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:922 { } - case 255: + case 249: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:922 { } - case 256: + case 250: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:923 { } - case 257: + case 251: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:927 { } - case 258: + case 252: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:928 { } - case 259: + case 253: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:932 { } - case 260: + case 254: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:933 { } - case 261: + case 255: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:937 { } - case 262: + case 256: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:937 { } - case 263: + case 257: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:938 { } - case 264: + case 258: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:939 { } - case 265: + case 259: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:943 { } - case 266: + case 260: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:944 { } - case 267: + case 261: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:945 { } - case 268: + case 262: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:949 { } - case 269: + case 263: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:949 { } - case 270: + case 264: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:953 { + yyVAL.node = nil } - case 271: + case 265: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:954 { } - case 272: + case 266: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:955 { } - case 273: + case 267: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:956 { } - case 274: + case 268: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:956 { } - case 275: + case 269: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:957 { } - case 276: + case 270: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:958 { } - case 277: + case 271: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:959 { } - case 278: + case 272: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:960 { } - case 279: + case 273: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:961 { } - case 280: + case 274: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:962 { } - case 281: + case 275: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:963 { } - case 282: + case 276: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:964 { } - case 283: + case 277: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:965 { } - case 284: + case 278: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:966 { } - case 285: + case 279: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:967 { } - case 286: + case 280: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:968 { } - case 287: + case 281: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:969 { } - case 288: + case 282: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:970 { } - case 289: + case 283: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:971 { } - case 290: + case 284: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:972 { } - case 291: + case 285: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:973 { } - case 292: + case 286: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:974 { } + case 287: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:974 + { + } + case 288: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:975 + { + } + case 289: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:975 + { + } + case 290: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:976 + { + } + case 291: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:976 + { + } + case 292: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:977 + { + } case 293: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:977 { } case 294: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:975 - { - } - case 295: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:975 - { - } - case 296: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:976 - { - } - case 297: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:976 - { - } - case 298: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:977 - { - } - case 299: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:977 - { - } - case 300: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:978 { } - case 301: + case 295: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:979 { } - case 302: + case 296: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:980 { } - case 303: + case 297: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:981 { } - case 304: + case 298: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:982 { } - case 305: + case 299: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:983 { } - case 306: + case 300: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:984 { } - case 307: + case 301: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:985 { } - case 308: + case 302: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:986 { } - case 309: + case 303: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:987 { } - case 310: + case 304: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:988 { } - case 311: + case 305: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:989 { } - case 312: + case 306: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:990 { } - case 313: + case 307: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:991 { } - case 314: + case 308: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:992 { } - case 315: + case 309: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:993 { } - case 316: + case 310: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:994 { } - case 317: + case 311: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:995 { } - case 318: + case 312: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:996 { } - case 319: + case 313: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:997 { } - case 320: + case 314: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:998 { } - case 321: + case 315: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:999 { } - case 322: + case 316: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1000 { } - case 323: + case 317: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1001 { } - case 324: + case 318: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1002 { } - case 325: + case 319: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1003 { } - case 326: + case 320: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1004 { } - case 327: + case 321: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1005 { } - case 328: + case 322: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1006 { } - case 329: + case 323: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1006 { } - case 330: + case 324: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1007 { } - case 331: + case 325: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1008 { } - case 332: + case 326: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:1009 { } - case 333: + case 327: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1010 { } - case 334: + case 328: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1011 { } - case 335: + case 329: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1012 { } - case 336: + case 330: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1013 { } - case 337: + case 331: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1014 { } - case 338: + case 332: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1015 { } - case 339: + case 333: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1016 { } - case 340: + case 334: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1017 { } - case 341: + case 335: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1018 { } - case 342: + case 336: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1019 { } - case 343: + case 337: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1020 { } - case 344: + case 338: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1021 { } - case 345: + case 339: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1021 { } - case 346: + case 340: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1022 { } - case 347: + case 341: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1023 { } - case 348: + case 342: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1024 { } - case 349: + case 343: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1025 { } - case 350: + case 344: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1026 { } - case 351: + case 345: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1027 { } - case 352: + case 346: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1028 { } - case 353: + case 347: yyDollar = yyS[yypt-10 : yypt+1] //line php5/php5.y:1030 { } - case 354: + case 348: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1031 { } - case 355: + case 349: yyDollar = yyS[yypt-11 : yypt+1] //line php5/php5.y:1033 { } - case 356: + case 350: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1037 { } - case 357: + case 351: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1038 { } - case 358: + case 352: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1039 { } - case 359: + case 353: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1040 { } - case 360: + case 354: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1044 { } - case 361: + case 355: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1045 { } - case 362: + case 356: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1046 { } - case 363: + case 357: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1047 { } - case 364: + case 358: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1051 { } - case 365: + case 359: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1052 { } - case 366: + case 360: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1056 { } - case 369: + case 363: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1065 { } - case 370: + case 364: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1066 { } - case 371: + case 365: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1067 { } - case 372: + case 366: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1068 { } - case 373: + case 367: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1072 { } - case 374: + case 368: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1073 { } - case 375: + case 369: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1074 { } - case 376: + case 370: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1075 { } - case 377: + case 371: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1076 { } - case 378: + case 372: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1077 { } - case 379: + case 373: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1078 { } - case 380: + case 374: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1079 { } - case 381: + case 375: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1080 { } - case 382: + case 376: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1081 { } - case 383: + case 377: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1082 { } - case 384: + case 378: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1083 { } - case 385: + case 379: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1084 { } - case 386: + case 380: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1085 { } - case 387: + case 381: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1086 { } - case 388: + case 382: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1087 { } - case 389: + case 383: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1092 { @@ -3939,7 +4158,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 390: + case 384: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1098 { @@ -3947,7 +4166,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 391: + case 385: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1104 { @@ -3955,7 +4174,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 392: + case 386: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1110 { @@ -3963,97 +4182,97 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 393: + case 387: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1118 { } - case 394: + case 388: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1119 { } - case 395: + case 389: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1120 { } - case 396: + case 390: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1126 { } - case 397: + case 391: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1127 { } - case 398: + case 392: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1132 { } - case 399: + case 393: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1133 { } - case 400: + case 394: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1134 { } - case 401: + case 395: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1135 { } - case 404: + case 398: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1146 { } - case 405: + case 399: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1150 { } - case 406: + case 400: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1151 { } - case 407: + case 401: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1152 { } - case 408: + case 402: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1156 { } - case 409: + case 403: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1157 { } - case 410: + case 404: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1158 { } - case 411: + case 405: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1162 { } - case 412: + case 406: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1163 { } - case 413: + case 407: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1168 { @@ -4061,7 +4280,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 414: + case 408: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1174 { @@ -4069,13 +4288,13 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 415: + case 409: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1179 { yyVAL.node = nil } - case 416: + case 410: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1181 { @@ -4083,7 +4302,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 417: + case 411: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1187 { @@ -4091,7 +4310,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 418: + case 412: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1193 { @@ -4099,7 +4318,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 419: + case 413: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1199 { @@ -4107,7 +4326,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 420: + case 414: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1205 { @@ -4115,7 +4334,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 421: + case 415: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1211 { @@ -4123,7 +4342,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 422: + case 416: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1217 { @@ -4131,19 +4350,19 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 423: + case 417: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1222 { yyVAL.node = nil } - case 424: + case 418: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1223 { yyVAL.node = nil } - case 425: + case 419: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1228 { @@ -4155,513 +4374,518 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 426: + case 420: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1240 { } - case 427: + case 421: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1244 { } - case 428: + case 422: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1245 { } - case 429: + case 423: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1246 { } - case 430: + case 424: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1247 { } - case 431: + case 425: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1248 { } - case 432: + case 426: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1249 { } - case 433: + case 427: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1250 { } - case 434: + case 428: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1251 { } - case 435: + case 429: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1252 { } - case 436: + case 430: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1253 { } - case 437: + case 431: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1257 { } - case 438: + case 432: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1258 { } - case 439: + case 433: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1259 { } - case 440: + case 434: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1260 { } - case 441: + case 435: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1261 { } - case 442: + case 436: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1262 { } - case 443: + case 437: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1263 { } - case 444: + case 438: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1264 { } - case 445: + case 439: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1265 { } - case 446: + case 440: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1266 { } - case 447: + case 441: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1267 { } - case 448: + case 442: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1268 { } - case 449: + case 443: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1269 { } - case 450: + case 444: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1270 { } - case 451: + case 445: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1271 { } - case 452: + case 446: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1272 { } - case 453: + case 447: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1273 { } - case 454: + case 448: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1274 { } - case 455: + case 449: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1275 { } - case 456: + case 450: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1276 { } - case 457: + case 451: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1277 { } - case 458: + case 452: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1278 { } - case 459: + case 453: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1279 { } - case 460: + case 454: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1280 { } - case 461: + case 455: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1281 { } - case 462: + case 456: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1282 { } - case 463: + case 457: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1283 { } - case 464: + case 458: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1284 { } - case 465: + case 459: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1285 { } - case 466: + case 460: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1286 { } - case 467: + case 461: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1287 { } - case 468: + case 462: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1288 { } - case 469: + case 463: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1289 { } - case 470: + case 464: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1293 { } - case 471: + case 465: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1294 { } - case 472: + case 466: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1295 { } - case 473: + case 467: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1296 { } - case 474: + case 468: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1300 { } - case 475: + case 469: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1301 { } - case 476: + case 470: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1302 { } - case 477: + case 471: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1303 { } - case 478: + case 472: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1304 { } - case 479: + case 473: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1305 { } - case 480: + case 474: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1306 { } - case 481: + case 475: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1310 { } - case 482: + case 476: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1311 { } - case 485: + case 479: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1320 { } - case 486: + case 480: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1321 { } - case 487: + case 481: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1322 { } - case 488: + case 482: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1323 { } - case 489: + case 483: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1327 { + yyVAL.node = yyDollar[1].node } - case 490: + case 484: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1328 { } - case 491: + case 485: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1332 { } - case 492: + case 486: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1333 { } - case 493: + case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1339 { + yyVAL.node = yyDollar[1].node } - case 494: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1343 - { - } - case 495: + case 488: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1347 + { + yyVAL.node = yyDollar[1].node + } + case 489: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1354 + { + yyVAL.node = yyDollar[1].node + } + case 490: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1361 + { + } + case 491: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1363 + { + yyVAL.node = yyDollar[1].node + } + case 492: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1367 + { + } + case 493: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1368 + { + } + case 494: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1373 + { + } + case 495: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1373 { } case 496: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1351 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1377 { } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1352 - { - } - case 498: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1353 - { - } - case 499: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1354 - { - } - case 500: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1358 - { - } - case 501: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1359 - { - } - case 502: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1364 - { - } - case 503: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1364 - { - } - case 504: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1368 - { - } - case 505: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1369 - { - } - case 506: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1373 - { - } - case 507: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1374 - { - } - case 508: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1378 { } - case 509: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1379 - { - } - case 510: + case 498: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1380 + //line php5/php5.y:1382 { } - case 511: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1384 - { - } - case 512: + case 499: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1385 + //line php5/php5.y:1383 { } - case 513: - yyDollar = yyS[yypt-3 : yypt+1] + case 500: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1387 + { + } + case 501: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1388 + { + } + case 502: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1389 { } - case 514: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1390 + case 503: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1393 { } - case 515: + case 504: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1394 + { + } + case 505: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1398 + { + } + case 506: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1399 + { + } + case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1396 + //line php5/php5.y:1405 { yyVAL.node = yyDollar[1].node } - case 516: + case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1402 + //line php5/php5.y:1411 { } - case 517: + case 509: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1412 + { + } + case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1403 - { - } - case 518: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1404 - { - } - case 519: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1408 - { - } - case 520: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1409 - { - } - case 521: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1410 - { - } - case 522: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1415 - { - } - case 523: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1416 { + yyVAL.node = yyDollar[1].node } - case 524: + case 511: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1417 { + yyVAL.node = yyDollar[1].node } - case 525: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1421 + case 512: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1418 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } - case 526: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1422 - { - yyVAL.node = nil - } - case 527: + case 513: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1423 { yyVAL.node = yyDollar[1].node } - case 528: + case 514: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1425 + { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1429 + //line php5/php5.y:1434 + { + } + case 516: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1439 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 517: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1445 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 518: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1450 + { + yyVAL.node = yyDollar[1].node + } + case 519: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1456 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4671,292 +4895,308 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 529: + case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1466 { yyVAL.node = nil } - case 530: + case 521: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1472 { + yyVAL.node = nil } - case 531: + case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1446 + //line php5/php5.y:1473 { + yyVAL.node = yyDollar[1].node } - case 532: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1451 - { - } - case 533: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1452 - { - } - case 534: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1456 - { - } - case 535: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1457 - { - } - case 536: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1458 - { - } - case 537: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1462 - { - } - case 538: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1463 - { - } - case 539: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1467 - { - } - case 540: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1468 - { - } - case 543: + case 523: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1478 { } - case 544: - yyDollar = yyS[yypt-2 : yypt+1] + case 524: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1479 { } - case 545: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1479 + case 525: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1483 { } - case 546: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1480 + case 526: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1484 { } - case 547: - yyDollar = yyS[yypt-0 : yypt+1] + case 527: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1485 { } - case 548: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1486 + case 528: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1489 { } - case 549: - yyDollar = yyS[yypt-5 : yypt+1] + case 529: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1490 { } - case 550: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1491 - { - } - case 551: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1492 - { - } - case 552: + case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1493 - { - } - case 553: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1494 - { - } - case 554: - yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1495 { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(n, yyDollar[1].token.Comments()) + + yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 555: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1496 - { - } - case 556: + case 531: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1497 - { - } - case 557: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1501 - { - } - case 558: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1502 - { - } - case 559: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1503 { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(n, yyDollar[2].token.Comments()) + + yyDollar[1].simpleIndirectReference.last.SetVarName(n) + + yyDollar[1].simpleIndirectReference.all = append(yyDollar[1].simpleIndirectReference.all, n) + yyDollar[1].simpleIndirectReference.last = n + yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 560: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1504 - { - } - case 561: + case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1510 + //line php5/php5.y:1523 { } - case 562: + case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1511 + //line php5/php5.y:1524 { } - case 563: + case 536: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1511 + //line php5/php5.y:1524 { } - case 564: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1512 + case 537: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1525 { } - case 565: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1513 - { - } - case 566: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1514 - { - } - case 567: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1515 - { - } - case 568: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1520 - { - } - case 569: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1521 - { - } - case 570: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1522 - { - } - case 571: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1527 - { - } - case 572: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1528 - { - } - case 573: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1529 - { - } - case 574: - yyDollar = yyS[yypt-2 : yypt+1] + case 538: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1530 { } - case 575: + case 539: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1531 { } - case 576: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1532 + case 540: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1535 { } - case 577: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1533 + case 541: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1536 { } - case 578: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1534 + case 542: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1537 { } - case 579: + case 543: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1538 { } - case 580: - yyDollar = yyS[yypt-2 : yypt+1] + case 544: + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1539 { } - case 581: + case 545: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1540 { } - case 582: + case 546: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1541 + { + } + case 547: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1542 + { + } + case 548: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1546 + { + } + case 549: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1547 + { + } + case 550: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1543 - { - } - case 583: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1544 - { - } - case 584: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1548 { } - case 585: - yyDollar = yyS[yypt-3 : yypt+1] + case 551: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1549 { } - case 586: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1553 + case 552: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1555 { } - case 587: + case 553: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1556 + { + } + case 554: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1556 + { + } + case 555: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1557 { } + case 556: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1558 + { + } + case 557: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1559 + { + } + case 558: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1560 + { + } + case 559: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1565 + { + } + case 560: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1566 + { + } + case 561: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1567 + { + } + case 562: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1572 + { + } + case 563: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1573 + { + } + case 564: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1574 + { + } + case 565: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1575 + { + } + case 566: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1576 + { + } + case 567: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1577 + { + } + case 568: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1578 + { + } + case 569: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1579 + { + } + case 570: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1583 + { + } + case 571: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1584 + { + } + case 572: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1584 + { + } + case 573: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1588 + { + } + case 574: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1589 + { + } + case 575: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1593 + { + } + case 576: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1594 + { + } + case 577: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1598 + { + } + case 578: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1602 + { + } } goto yystack /* stack new state and value */ } diff --git a/php5/php5.y b/php5/php5.y index b91e6b2..dce548a 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -2,6 +2,7 @@ package php5 import ( +// "fmt" // "strings" // "strconv" @@ -25,6 +26,7 @@ import ( list []node.Node // foreachVariable foreachVariable // nodesWithEndToken *nodesWithEndToken + simpleIndirectReference simpleIndirectReference // str string } @@ -193,8 +195,14 @@ import ( %type top_statement use_declaration use_function_declaration use_const_declaration common_scalar %type static_class_constant compound_variable reference_variable class_name variable_class_name +%type dim_offset expr expr_without_variable r_variable w_variable rw_variable variable base_variable_with_function_calls +%type base_variable array_function_dereference function_call inner_statement statement unticked_statement +%type inner_statement statement %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations +%type inner_statement_list + +%type simple_indirect_reference %% @@ -228,7 +236,7 @@ namespace_name: ; top_statement: - statement { $$ = nil } + statement { $$ = $1 } | function_declaration_statement { $$ = nil } | class_declaration_statement { $$ = nil } | T_HALT_COMPILER '(' ')' ';' { $$ = stmt.NewHaltCompiler() } @@ -467,26 +475,26 @@ constant_declaration: ; inner_statement_list: - inner_statement_list { } - | /* empty */ + inner_statement_list inner_statement { $$ = append($1, $2) } + | /* empty */ { $$ = []node.Node{} } ; inner_statement: - statement - | function_declaration_statement - | class_declaration_statement - | T_HALT_COMPILER '(' ')' ';' { } + statement { $$ = $1 } + | function_declaration_statement { $$ = nil } + | class_declaration_statement { } + | T_HALT_COMPILER '(' ')' ';' { } ; statement: - unticked_statement { } + unticked_statement { $$ = $1 } | T_STRING ':' { } ; unticked_statement: - '{' inner_statement_list '}' + '{' inner_statement_list '}' { } | T_IF parenthesis_expr { } statement { } elseif_list else_single { } | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } | T_WHILE { } parenthesis_expr { } while_statement { } @@ -508,26 +516,18 @@ unticked_statement: | T_RETURN ';' { } | T_RETURN expr_without_variable ';' { } | T_RETURN variable ';' { } - | yield_expr ';' { } - | T_GLOBAL global_var_list ';' - | T_STATIC static_var_list ';' - | T_ECHO echo_expr_list ';' - | T_INLINE_HTML { } - | expr ';' { } - | T_UNSET '(' unset_variables ')' ';' - | T_FOREACH '(' variable T_AS - { } - foreach_variable foreach_optional_arg ')' { } - foreach_statement { } - | T_FOREACH '(' expr_without_variable T_AS - { } - foreach_variable foreach_optional_arg ')' { } - foreach_statement { } + | yield_expr ';' { } + | T_GLOBAL global_var_list ';' { } + | T_STATIC static_var_list ';' { } + | T_ECHO echo_expr_list ';' { } + | T_INLINE_HTML { } + | expr ';' { $$ = $1 } + | T_UNSET '(' unset_variables ')' ';' { } + | T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } + | T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } | T_DECLARE { } '(' declare_list ')' declare_statement { } - | ';' /* empty statement */ - | T_TRY { } '{' inner_statement_list '}' - catch_statement { } - finally_statement { } + | ';' /* empty statement */ { } + | T_TRY '{' inner_statement_list '}' catch_statement finally_statement { } | T_THROW expr ';' { } | T_GOTO T_STRING ';' { } ; @@ -950,7 +950,7 @@ new_expr: ; expr_without_variable: - T_LIST '(' assignment_list ')' '=' expr { } + T_LIST '(' assignment_list ')' '=' expr { $$ = nil } | variable '=' expr { } | variable '=' '&' variable { } | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } @@ -1324,7 +1324,7 @@ non_empty_static_array_pair_list: ; expr: - r_variable { } + r_variable { $$ = $1 } | expr_without_variable { } ; @@ -1335,23 +1335,32 @@ parenthesis_expr: r_variable: - variable { } + variable + { + $$ = $1 + } ; w_variable: - variable { } + variable + { + $$ = $1 + } ; rw_variable: - variable { } + variable + { + $$ = $1 + } ; variable: - base_variable_with_function_calls T_OBJECT_OPERATOR { } - object_property { } method_or_not variable_properties + base_variable_with_function_calls T_OBJECT_OPERATOR object_property method_or_not variable_properties { } - | base_variable_with_function_calls { } + | base_variable_with_function_calls + { $$ = $1 } ; variable_properties: @@ -1399,27 +1408,45 @@ variable_class_name: ; array_function_dereference: - array_function_dereference '[' dim_offset ']' { } - | function_call { } - '[' dim_offset ']' { } + array_function_dereference '[' dim_offset ']' { } + | function_call '[' dim_offset ']' { } ; base_variable_with_function_calls: - base_variable { } - | array_function_dereference { } - | function_call { } + base_variable { $$ = $1 } + | array_function_dereference { $$ = $1 } + | function_call { $$ = $1 } ; base_variable: - reference_variable { } - | simple_indirect_reference reference_variable { } - | static_member { } + reference_variable { $$ = $1 } + | simple_indirect_reference reference_variable + { + $1.last.SetVarName($2) + + for _, n := range($1.all) { + positions[n] = positionBuilder.NewNodesPosition(n, $2) + } + + $$ = $1.all[0] + } + | static_member { } ; reference_variable: - reference_variable '[' dim_offset ']' { $$ = nil } - | reference_variable '{' expr '}' { $$ = nil } + reference_variable '[' dim_offset ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | reference_variable '{' expr '}' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } | compound_variable { $$ = $1 } ; @@ -1442,8 +1469,8 @@ compound_variable: ; dim_offset: - /* empty */ { } - | expr { } + /* empty */ { $$ = nil } + | expr { $$ = $1 } ; @@ -1464,8 +1491,26 @@ variable_name: ; simple_indirect_reference: - '$' { } - | simple_indirect_reference '$' { } + '$' + { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition($1)) + comments.AddComments(n, $1.Comments()) + + $$ = simpleIndirectReference{[]*expr.Variable{n}, n} + } + | simple_indirect_reference '$' + { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition($2)) + comments.AddComments(n, $2.Comments()) + + $1.last.SetVarName(n) + + $1.all = append($1.all, n) + $1.last = n + $$ = $1 + } ; assignment_list: From fc2c38b16ecf0a0455dfeca5133ad30b41b05602 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Wed, 31 Jan 2018 12:29:38 +0200 Subject: [PATCH 10/31] php5 syntax --- php5/php5.go | 1057 +++++++++++++++++++++++++++----------------------- php5/php5.y | 109 +++++- 2 files changed, 662 insertions(+), 504 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 9faa013..ae57c0c 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -346,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1605 +//line php5/php5.y:1690 //line yacctab:1 var yyExca = [...]int{ @@ -720,14 +720,14 @@ var yyAct = [...]int{ 517, 517, 517, 517, 517, 517, 517, 517, 1066, 1064, 517, 897, 898, 899, 896, 895, 894, 1040, 967, 875, 813, 699, 808, 549, 195, 631, 382, 657, 639, 633, - 632, 163, 160, 883, 156, 517, 530, 337, 1037, 1019, - 921, 678, 677, 230, 140, 674, 526, 139, 517, 648, + 632, 163, 530, 883, 337, 517, 1037, 1019, 921, 678, + 677, 140, 674, 230, 526, 139, 917, 855, 517, 648, 647, 638, 640, 651, 652, 649, 650, 653, 655, 654, - 656, 641, 642, 643, 634, 636, 637, 635, 917, 230, - 855, 789, 525, 852, 788, 672, 505, 505, 505, 505, + 656, 641, 642, 643, 634, 636, 637, 635, 789, 230, + 525, 852, 788, 672, 330, 10, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 330, 10, 505, 1, 116, 914, 316, + 505, 505, 505, 1, 160, 505, 156, 116, 914, 316, 663, 312, 126, 11, 324, 99, 98, 666, 667, 668, 669, 670, 78, 118, 512, 3, 517, 0, 0, 0, 505, 0, 517, 517, 0, 0, 0, 646, 644, 645, @@ -1554,16 +1554,16 @@ var yyPgo = [...]int{ 0, 1305, 47, 44, 43, 624, 1304, 1303, 4, 529, 1287, 46, 1460, 60, 71, 59, 774, 1320, 1302, 40, - 1296, 1295, 1294, 13, 1293, 53, 0, 1292, 1291, 1289, - 5, 7, 1286, 61, 45, 1284, 14, 36, 1283, 1255, - 1254, 1253, 1252, 1251, 1250, 1248, 1227, 1226, 1225, 1224, - 1222, 18, 1221, 1220, 1219, 1218, 1217, 1216, 49, 1214, - 1212, 1211, 1206, 29, 34, 17, 1204, 1203, 1202, 1201, - 1200, 1199, 26, 1198, 1197, 1189, 1188, 1142, 1139, 2, - 1138, 1135, 41, 1134, 1133, 27, 1129, 22, 1128, 3, - 1126, 1125, 1105, 1104, 31, 1103, 1101, 1100, 33, 1098, - 21, 35, 20, 1097, 1095, 1093, 1092, 1091, 28, 1090, - 88, 1089, 30, 51, 1083, 1081, 1075, 1074, 1071, 1068, + 1296, 1295, 1294, 13, 1293, 51, 14, 53, 0, 1292, + 1291, 1289, 5, 1286, 1284, 7, 1283, 61, 45, 1255, + 36, 1254, 1253, 1252, 1251, 1250, 1248, 1227, 1226, 1225, + 1224, 1222, 1221, 1220, 18, 1219, 1218, 1217, 1216, 1214, + 1212, 49, 1211, 1206, 29, 34, 17, 1204, 1203, 1202, + 1201, 1200, 1199, 26, 1198, 1197, 1189, 1188, 1142, 1139, + 2, 1138, 1135, 41, 1134, 1133, 27, 1129, 22, 1128, + 3, 1126, 1125, 1105, 1104, 31, 1103, 1101, 1100, 33, + 1098, 21, 35, 20, 1097, 1095, 1093, 1092, 1091, 28, + 1090, 88, 1089, 30, 1083, 1081, 1075, 1074, 1071, 1068, 1067, 1066, 1065, 1064, 1063, 1062, 1061, 6, 1058, 1055, 1053, 1046, 1042, 1040, 1, 1039, 1038, 1035, 12, 15, 1031, 1030, 1029, 1028, 1027, 725, 42, 1026, 24, 1025, @@ -1577,31 +1577,31 @@ var yyPgo = [...]int{ } var yyR1 = [...]int{ - 0, 32, 25, 25, 26, 26, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 27, 27, 2, - 2, 2, 2, 28, 28, 3, 3, 3, 3, 29, - 29, 4, 4, 4, 4, 35, 35, 30, 30, 22, - 22, 22, 22, 23, 23, 24, 38, 39, 24, 42, - 43, 24, 46, 47, 24, 49, 50, 24, 52, 53, - 54, 24, 56, 24, 24, 24, 24, 24, 24, 24, + 0, 36, 27, 27, 28, 28, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 29, 29, 2, + 2, 2, 2, 30, 30, 3, 3, 3, 3, 31, + 31, 4, 4, 4, 4, 39, 39, 32, 32, 22, + 22, 22, 22, 23, 23, 24, 41, 42, 24, 45, + 46, 24, 49, 50, 24, 52, 53, 24, 55, 56, + 57, 24, 59, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 66, 24, 24, 24, 24, 24, 69, 71, 73, 74, - 75, 69, 70, 77, 70, 76, 76, 78, 78, 80, - 81, 79, 62, 62, 82, 33, 34, 85, 85, 86, - 86, 88, 83, 92, 84, 96, 84, 90, 90, 90, - 90, 91, 91, 95, 97, 97, 93, 93, 98, 98, - 64, 64, 63, 63, 99, 63, 55, 55, 65, 65, - 68, 68, 67, 67, 57, 57, 57, 57, 101, 103, - 101, 104, 101, 102, 102, 48, 48, 40, 105, 40, - 44, 106, 44, 41, 41, 45, 45, 89, 89, 107, - 107, 108, 108, 109, 109, 109, 109, 110, 110, 110, - 111, 111, 112, 112, 112, 112, 59, 59, 113, 113, - 113, 60, 60, 60, 60, 94, 94, 116, 114, 114, + 67, 24, 24, 24, 24, 24, 70, 72, 74, 75, + 76, 70, 71, 78, 71, 77, 77, 79, 79, 81, + 82, 80, 63, 63, 83, 37, 38, 86, 86, 87, + 87, 89, 84, 93, 85, 97, 85, 91, 91, 91, + 91, 92, 92, 96, 98, 98, 94, 94, 99, 99, + 65, 65, 64, 64, 100, 64, 58, 58, 66, 66, + 69, 69, 68, 68, 60, 60, 60, 60, 102, 104, + 102, 105, 102, 103, 103, 51, 51, 43, 106, 43, + 47, 107, 47, 44, 44, 48, 48, 90, 90, 108, + 108, 109, 109, 110, 110, 110, 110, 111, 111, 111, + 112, 112, 113, 113, 113, 113, 33, 33, 25, 25, + 25, 34, 34, 34, 34, 95, 95, 116, 114, 114, 114, 121, 114, 119, 123, 123, 124, 124, 125, 125, 126, 126, 127, 127, 128, 131, 131, 132, 132, 130, 129, 129, 133, 133, 122, 122, 115, 115, 120, 120, 135, 135, 134, 134, 134, 134, 134, 134, 117, 117, - 117, 117, 118, 118, 61, 61, 51, 51, 137, 136, + 117, 117, 118, 118, 62, 62, 54, 54, 137, 136, 136, 138, 138, 140, 140, 142, 141, 141, 141, 143, 144, 143, 147, 145, 13, 13, 13, 149, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -1612,25 +1612,25 @@ var yyR1 = [...]int{ 13, 13, 154, 13, 155, 156, 13, 157, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 160, 13, 13, 13, 13, 13, 13, 13, 165, 13, 167, 13, - 58, 58, 58, 58, 162, 162, 162, 162, 163, 163, - 87, 166, 166, 170, 170, 170, 170, 171, 21, 172, + 61, 61, 61, 61, 162, 162, 162, 162, 163, 163, + 88, 166, 166, 170, 170, 170, 170, 171, 21, 172, 21, 173, 21, 175, 21, 177, 21, 178, 21, 179, - 21, 180, 21, 9, 9, 9, 9, 72, 72, 72, + 21, 180, 21, 9, 9, 9, 9, 73, 73, 73, 146, 146, 182, 184, 181, 181, 185, 185, 186, 159, 159, 159, 164, 164, 164, 148, 148, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, - 36, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 26, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 168, 168, 168, 168, 161, 161, 161, 161, 161, 161, 161, 190, 190, 195, 195, 194, - 194, 194, 194, 12, 12, 37, 37, 14, 15, 16, + 194, 194, 194, 12, 12, 40, 40, 14, 15, 16, 17, 17, 197, 197, 198, 139, 199, 199, 201, 200, 196, 196, 196, 176, 176, 202, 202, 10, 20, 20, 18, 18, 18, 19, 19, 19, 8, 8, 8, 7, 7, 11, 11, 183, 183, 203, 203, 203, 174, 174, - 31, 31, 100, 100, 204, 205, 204, 204, 169, 169, + 35, 35, 101, 101, 204, 205, 204, 204, 169, 169, 206, 206, 206, 206, 206, 206, 206, 206, 187, 187, 187, 187, 207, 208, 207, 207, 207, 207, 207, 209, 209, 209, 158, 158, 158, 158, 158, 158, 158, 158, @@ -1699,114 +1699,114 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -32, -25, -1, -23, -33, -34, 51, 79, 44, - -35, -24, 10, -83, -84, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -58, 46, 98, 19, 14, - -12, 48, 25, 27, 121, 40, 43, 36, -87, -90, - -95, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -1000, -36, -27, -1, -23, -37, -38, 51, 79, 44, + -39, -24, 10, -84, -85, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -61, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -88, -91, + -96, 97, -14, -13, 37, 52, 99, 53, 100, 54, -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, - -37, -145, 123, -158, 107, 108, 109, 110, 111, 112, + -40, -145, 123, -158, 107, 108, 109, 110, 111, 112, 113, 6, 133, -161, -162, -163, 118, 96, -18, 91, 49, 50, 4, 5, 84, 85, 86, 11, -168, -193, -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, - -192, -26, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -31, -202, -10, -176, -7, 134, - 12, 123, -26, 119, 82, 10, -27, 37, 38, -2, - -26, 82, 121, 135, 122, 10, -30, -37, 123, -46, - -49, 123, -37, 121, -12, 97, -87, 98, 79, 121, - -12, 121, -13, -17, -12, 121, -59, -113, 12, 134, - -60, -87, 12, -61, -12, 121, 149, 150, 87, 89, + -192, -28, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -35, -202, -10, -176, -7, 134, + 12, 123, -28, 119, 82, 10, -29, 37, 38, -2, + -28, 82, 121, 135, 122, 10, -32, -40, 123, -49, + -52, 123, -40, 121, -12, 97, -88, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -33, -25, 12, 134, + -34, -88, 12, -62, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -66, 119, -12, 10, -85, + 160, 90, 127, 123, 123, -67, 119, -12, 10, -86, 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -12, 104, 105, -16, -17, -26, 79, 82, + 147, 123, -12, 104, 105, -16, -17, -28, 79, 82, -9, -10, 98, -16, -12, -12, -12, -12, -145, -12, - -58, -12, -12, -12, -12, -12, -12, -12, -159, 123, - -37, -160, 125, 125, -164, 17, -187, -207, 12, 76, - 77, -12, 57, -146, -9, -181, -26, 79, 82, -19, - -8, -31, -10, 123, 123, -12, -12, 123, -12, -12, + -61, -12, -12, -12, -12, -12, -12, -12, -159, 123, + -40, -160, 125, 125, -164, 17, -187, -207, 12, 76, + 77, -12, 57, -146, -9, -181, -28, 79, 82, -19, + -8, -35, -10, 123, 123, -12, -12, 123, -12, -12, 125, -187, 17, 17, 75, -187, 125, 123, -169, -206, - -12, 128, 125, 125, 82, -171, -26, 78, 125, 119, - -8, 134, 78, -180, 119, 124, 121, 119, -25, -26, - 121, 135, -28, -3, -26, 82, -29, -4, -26, 82, - 29, -26, 10, 136, -22, 120, -23, -33, -34, 51, - -38, 122, -37, -23, -51, -136, -12, -56, 121, -85, + -12, 128, 125, 125, 82, -171, -28, 78, 125, 119, + -8, 134, 78, -180, 119, 124, 121, 119, -27, -28, + 121, 135, -30, -3, -28, 82, -31, -4, -28, 82, + 29, -28, 10, 136, -22, 120, -23, -37, -38, 51, + -41, 122, -40, -23, -54, -136, -12, -59, 121, -86, 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, - -85, 136, 121, 135, -150, -151, -152, -153, -12, -12, + -86, 136, 121, 135, -150, -151, -152, -153, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -146, - -155, 122, -62, -82, -17, -17, -13, 123, -30, 121, - 121, 10, -165, -91, 55, -96, 58, -12, 128, -12, + -155, 122, -63, -83, -17, -17, -13, 123, -32, 121, + 121, 10, -165, -92, 55, -97, 58, -12, 128, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -100, -204, -17, 59, 82, -26, 78, 78, 124, + -12, -101, -204, -17, 59, 82, -28, 78, 78, 124, 124, 124, 124, -12, -11, -12, -11, 118, -207, -207, 17, 125, 57, -12, 11, -17, -183, -203, -176, -174, - -8, -31, 10, 119, -147, 78, 82, -26, 57, -8, + -8, -35, 10, 119, -147, 78, 82, -28, 57, -8, 78, -210, -211, -17, -13, -17, -13, -12, -11, 117, 75, 75, -11, -169, 126, -195, 135, 58, -15, -17, - -11, -11, 10, -110, 123, -173, -174, -176, 10, 52, - -11, -12, -174, -176, 10, -110, -12, 121, -25, 120, - -172, -2, 121, 135, 29, -26, 121, 135, 29, -26, - 10, 29, 136, -36, -188, -5, -189, -26, 79, 82, + -11, -11, 10, -111, 123, -173, -174, -176, 10, 52, + -11, -12, -174, -176, 10, -111, -12, 121, -27, 120, + -172, -2, 121, 135, 29, -28, 121, 135, 29, -28, + 10, 29, 136, -26, -188, -5, -189, -28, 79, 82, 60, 125, -6, 62, -191, 18, 74, -9, 131, 132, - 130, 129, 123, 123, -23, -42, -47, 21, 121, 135, - -57, 119, 122, -113, -12, 12, -167, -36, -12, -12, - -12, -12, -12, -12, -157, 124, 135, 29, 29, -67, - 10, 120, -88, 123, -92, -72, -26, 79, 82, -97, - 55, -13, -17, -17, 91, 124, 135, 123, -26, -154, + 130, 129, 123, 123, -23, -45, -50, 21, 121, 135, + -60, 119, 122, -25, -12, 12, -167, -26, -12, -12, + -12, -12, -12, -12, -157, 124, 135, 29, 29, -68, + 10, 120, -89, 123, -93, -73, -28, 79, 82, -98, + 55, -13, -17, -17, 91, 124, 135, 123, -28, -154, 126, 126, -208, 10, 120, 125, 120, -196, -200, -199, - -201, 125, 119, -8, -12, -148, -110, -176, -26, -182, + -201, 125, 119, -8, -12, -148, -111, -176, -28, -182, -176, 124, 135, 124, 124, 124, 126, 126, 124, -12, - 128, -12, 128, 126, 126, 124, -111, -58, -112, -13, - -17, 128, 83, -110, -175, -177, 126, 120, -178, -179, - 120, 120, -110, -3, 10, 29, -4, 10, 29, 10, - -36, 125, 130, 129, 164, 167, 165, 166, 151, 128, + 128, -12, 128, 126, 126, 124, -112, -61, -113, -13, + -17, 128, 83, -111, -175, -177, 126, 120, -178, -179, + 120, 120, -111, -3, 10, 29, -4, 10, 29, 10, + -26, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, - 156, 153, 154, 157, 159, 158, 160, 127, 82, -26, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -28, 123, -190, -194, -188, 17, 78, -188, -188, -188, -188, - -188, 124, -39, -30, -48, -23, 122, -50, -52, -137, - -101, 121, -101, 121, 120, 136, 123, 122, -12, 121, - -82, -63, -17, 128, 59, -63, 124, 135, 136, -69, - 41, 123, -89, -107, -108, -109, 60, 61, -72, -93, - 56, 82, -26, 119, -98, -72, -146, 136, -204, -205, + -188, 124, -42, -32, -51, -23, 122, -53, -55, -137, + -102, 121, -102, 121, 120, 136, 123, 122, -12, 121, + -83, -64, -17, 128, 59, -64, 124, 135, 136, -70, + 41, 123, -90, -108, -109, -110, 60, 61, -73, -94, + 56, 82, -28, 119, -99, -73, -146, 136, -204, -205, -143, -144, -209, 10, 13, 12, -12, -197, 125, 125, - -110, -11, -12, 120, -183, -212, 58, -15, -15, 124, - 135, 124, -15, -12, -110, -110, -110, -110, 10, 10, + -111, -11, -12, 120, -183, -212, 58, -15, -15, 124, + 135, 124, -15, -12, -111, -111, -111, -111, 10, 10, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, 122, -188, -26, -190, - 126, -195, 135, 58, 10, 52, 124, 121, -40, -43, - -30, -37, -51, -12, 120, 32, 33, -101, 31, -101, - -36, -89, -156, -64, 58, -17, 123, -64, -68, -23, - 122, 10, -36, -70, 42, 123, -89, 124, 135, -85, - 119, -98, -26, -94, 135, -149, -12, -100, -141, -140, + -188, -188, -188, -188, -188, -188, 122, -188, -28, -190, + 126, -195, 135, 58, 10, 52, 124, 121, -43, -46, + -32, -40, -54, -12, 120, 32, 33, -102, 31, -102, + -26, -90, -156, -65, 58, -17, 123, -65, -69, -23, + 122, 10, -26, -71, 42, 123, -90, 124, 135, -86, + 119, -99, -28, -95, 135, -149, -12, -101, -141, -140, -138, 125, -139, 57, 126, 126, -139, -11, -11, 126, - 120, -184, -211, -12, 128, -112, 126, -188, 122, 124, - -188, -188, -41, 93, 94, -44, 22, 121, 121, -12, - -102, 122, 121, 120, 121, 31, 124, -12, 124, -63, - -99, 124, -30, 136, -77, -71, 124, -166, 44, -108, - -86, 83, -94, 120, -114, -115, -118, -119, -120, -135, + 120, -184, -211, -12, 128, -113, 126, -188, 122, 124, + -188, -188, -44, 93, 94, -47, 22, 121, 121, -12, + -103, 122, 121, 120, 121, 31, 124, -12, 124, -64, + -100, 124, -32, 136, -78, -72, 124, -166, 44, -109, + -87, 83, -95, 120, -114, -115, -118, -119, -120, -135, 47, 38, 44, -134, 103, 102, 101, 98, 99, 100, - -72, -148, 124, 125, -142, -139, -11, -183, 120, 126, - 126, -185, -15, -188, 58, -37, -23, -45, 93, 94, - 121, -53, -102, -104, 121, -166, -65, -23, 122, -100, - -65, 28, -36, 119, -72, 119, 119, 123, 12, 120, - -116, 121, 135, -87, -134, 10, -123, -72, -11, -138, - 126, -198, -186, 57, -188, -105, 95, -37, 122, -51, - -103, -30, 119, -30, 124, 121, -30, -73, -30, -30, - -170, 12, 128, 136, -117, 12, 10, -85, 136, -124, - 135, 121, 119, 126, -196, -183, -23, 121, 122, -30, - 124, -30, -30, 26, 120, 12, 120, 120, 124, 135, - 12, -36, 121, 135, 136, 136, 10, -36, -72, -125, - -126, -127, -128, -129, -130, -132, -72, 10, -106, -54, - 120, 121, 124, 12, 128, 12, -36, -36, -121, 120, - -127, 121, 121, 45, 29, 78, -30, -55, -23, 122, - -74, 12, 136, 123, -131, -72, -133, -134, 10, -30, - 119, -36, -89, 135, 10, 24, -30, 124, -72, 121, - 120, -122, 121, 119, -75, -30, -76, -78, -79, 41, - 120, -79, 123, -72, -80, 12, 124, -81, 119, -30, + -73, -148, 124, 125, -142, -139, -11, -183, 120, 126, + 126, -185, -15, -188, 58, -40, -23, -48, 93, 94, + 121, -56, -103, -105, 121, -166, -66, -23, 122, -101, + -66, 28, -26, 119, -73, 119, 119, 123, 12, 120, + -116, 121, 135, -88, -134, 10, -123, -73, -11, -138, + 126, -198, -186, 57, -188, -106, 95, -40, 122, -54, + -104, -32, 119, -32, 124, 121, -32, -74, -32, -32, + -170, 12, 128, 136, -117, 12, 10, -86, 136, -124, + 135, 121, 119, 126, -196, -183, -23, 121, 122, -32, + 124, -32, -32, 26, 120, 12, 120, 120, 124, 135, + 12, -26, 121, 135, 136, 136, 10, -26, -73, -125, + -126, -127, -128, -129, -130, -132, -73, 10, -107, -57, + 120, 121, 124, 12, 128, 12, -26, -26, -121, 120, + -127, 121, 121, 45, 29, 78, -32, -58, -23, 122, + -75, 12, 136, 123, -131, -73, -133, -134, 10, -32, + 119, -26, -90, 135, 10, 24, -32, 124, -73, 121, + 120, -122, 121, 119, -76, -32, -77, -79, -80, 41, + 120, -80, 123, -73, -81, 12, 124, -82, 119, -32, 120, } var yyDef = [...]int{ @@ -3248,911 +3248,982 @@ yydefault: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:776 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:777 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:782 + //line php5/php5.y:783 { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 189: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:783 + //line php5/php5.y:793 { + yyVAL.node = expr.NewVariable(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:784 + //line php5/php5.y:799 { + yyVAL.node = expr.NewVariable(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:809 { + identifier := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[3].token)) + + staticVar := stmt.NewStaticVar(variable, nil) + positions.AddPosition(staticVar, positionBuilder.NewTokenPosition(yyDollar[3].token)) + + yyVAL.list = append(yyDollar[1].list, staticVar) + + comments.AddComments(identifier, yyDollar[3].token.Comments()) + comments.AddComments(variable, yyDollar[3].token.Comments()) + comments.AddComments(staticVar, yyDollar[3].token.Comments()) } case 192: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:790 + //line php5/php5.y:826 { + identifier := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[3].token)) + + staticVar := stmt.NewStaticVar(variable, yyDollar[5].node) + positions.AddPosition(staticVar, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node)) + + yyVAL.list = append(yyDollar[1].list, staticVar) + + comments.AddComments(identifier, yyDollar[3].token.Comments()) + comments.AddComments(variable, yyDollar[3].token.Comments()) + comments.AddComments(staticVar, yyDollar[3].token.Comments()) } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:791 + //line php5/php5.y:843 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + staticVar := stmt.NewStaticVar(variable, nil) + positions.AddPosition(staticVar, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + yyVAL.list = []node.Node{staticVar} + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(staticVar, yyDollar[1].token.Comments()) } case 194: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:792 + //line php5/php5.y:860 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + staticVar := stmt.NewStaticVar(variable, yyDollar[3].node) + positions.AddPosition(staticVar, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + + yyVAL.list = []node.Node{staticVar} + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(staticVar, yyDollar[1].token.Comments()) } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:804 + //line php5/php5.y:887 { } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:807 + //line php5/php5.y:890 { } case 202: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:809 + //line php5/php5.y:892 { } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:817 + //line php5/php5.y:900 { } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:818 + //line php5/php5.y:901 { } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:842 + //line php5/php5.y:925 { } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:846 + //line php5/php5.y:929 { } case 216: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:847 + //line php5/php5.y:930 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:851 + //line php5/php5.y:934 { } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:852 + //line php5/php5.y:935 { } case 219: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:856 + //line php5/php5.y:939 { } case 220: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:860 + //line php5/php5.y:943 { } case 221: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:861 + //line php5/php5.y:944 { } case 222: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:865 + //line php5/php5.y:948 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:866 + //line php5/php5.y:949 { } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:870 + //line php5/php5.y:953 { } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:871 + //line php5/php5.y:954 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:875 + //line php5/php5.y:958 { } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:876 + //line php5/php5.y:959 { } case 228: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:880 + //line php5/php5.y:963 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:881 + //line php5/php5.y:964 { } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:885 + //line php5/php5.y:968 { } case 231: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:886 + //line php5/php5.y:969 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:890 + //line php5/php5.y:973 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:891 + //line php5/php5.y:974 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:892 + //line php5/php5.y:975 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:893 + //line php5/php5.y:976 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:894 + //line php5/php5.y:977 { } case 237: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:895 + //line php5/php5.y:978 { } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:899 + //line php5/php5.y:982 { } case 239: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:900 + //line php5/php5.y:983 { } case 240: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:901 + //line php5/php5.y:984 { } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:902 + //line php5/php5.y:985 { } case 242: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:906 + //line php5/php5.y:989 { } case 243: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:907 + //line php5/php5.y:990 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:911 + //line php5/php5.y:994 { } case 245: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:912 + //line php5/php5.y:995 { } case 246: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:917 + //line php5/php5.y:1000 { } case 247: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:918 + //line php5/php5.y:1001 { } case 248: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:922 + //line php5/php5.y:1005 { } case 249: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:922 + //line php5/php5.y:1005 { } case 250: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:923 + //line php5/php5.y:1006 { } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:927 + //line php5/php5.y:1010 { } case 252: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:928 + //line php5/php5.y:1011 { } case 253: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:932 + //line php5/php5.y:1015 { } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:933 + //line php5/php5.y:1016 { } case 255: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:937 + //line php5/php5.y:1020 { } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:937 + //line php5/php5.y:1020 { } case 257: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:938 + //line php5/php5.y:1021 { } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:939 + //line php5/php5.y:1022 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:943 + //line php5/php5.y:1026 { } case 260: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:944 + //line php5/php5.y:1027 { } case 261: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:945 + //line php5/php5.y:1028 { } case 262: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:949 + //line php5/php5.y:1032 { } case 263: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:949 + //line php5/php5.y:1032 { } case 264: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:953 + //line php5/php5.y:1036 { yyVAL.node = nil } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:954 + //line php5/php5.y:1037 { } case 266: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:1038 { } case 267: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:956 + //line php5/php5.y:1039 { } case 268: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:956 + //line php5/php5.y:1039 { } case 269: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:957 + //line php5/php5.y:1040 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:958 + //line php5/php5.y:1041 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:1042 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:1043 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:961 + //line php5/php5.y:1044 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:962 + //line php5/php5.y:1045 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:963 + //line php5/php5.y:1046 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:964 + //line php5/php5.y:1047 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:965 + //line php5/php5.y:1048 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:966 + //line php5/php5.y:1049 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:967 + //line php5/php5.y:1050 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:968 + //line php5/php5.y:1051 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:1052 { } case 282: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:970 + //line php5/php5.y:1053 { } case 283: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:971 + //line php5/php5.y:1054 { } case 284: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:972 + //line php5/php5.y:1055 { } case 285: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:1056 { } case 286: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:1057 { } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:1057 { } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:1058 { } case 289: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:1058 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:1059 { } case 291: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:1059 { } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:977 + //line php5/php5.y:1060 { } case 293: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:977 + //line php5/php5.y:1060 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:978 + //line php5/php5.y:1061 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:979 + //line php5/php5.y:1062 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:1063 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:1064 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:982 + //line php5/php5.y:1065 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:1066 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:984 + //line php5/php5.y:1067 { } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:1068 { } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:986 + //line php5/php5.y:1069 { } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:1070 { } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:988 + //line php5/php5.y:1071 { } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:1072 { } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:1073 { } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:1074 { } case 308: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:1075 { } case 309: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:993 + //line php5/php5.y:1076 { } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:1077 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:1078 { } case 312: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:996 + //line php5/php5.y:1079 { } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:997 + //line php5/php5.y:1080 { } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:998 + //line php5/php5.y:1081 { } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:1082 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1000 + //line php5/php5.y:1083 { } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1084 { } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1085 { } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1003 + //line php5/php5.y:1086 { } case 320: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1004 + //line php5/php5.y:1087 { } case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1005 + //line php5/php5.y:1088 { } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1089 { } case 323: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1089 { } case 324: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1007 + //line php5/php5.y:1090 { } case 325: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1008 + //line php5/php5.y:1091 { } case 326: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1009 + //line php5/php5.y:1092 { } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1010 + //line php5/php5.y:1093 { } case 328: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1094 { } case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1012 + //line php5/php5.y:1095 { } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1096 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1014 + //line php5/php5.y:1097 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1015 + //line php5/php5.y:1098 { } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1099 { } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1100 { } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1018 + //line php5/php5.y:1101 { } case 336: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1019 + //line php5/php5.y:1102 { } case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1103 { } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1104 { } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1104 { } case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1105 { } case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1023 + //line php5/php5.y:1106 { } case 342: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1024 + //line php5/php5.y:1107 { } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1108 { } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1026 + //line php5/php5.y:1109 { } case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1110 { } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1111 { } case 347: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1030 + //line php5/php5.y:1113 { } case 348: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1031 + //line php5/php5.y:1114 { } case 349: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1033 + //line php5/php5.y:1116 { } case 350: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1120 { } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1121 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1122 { } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1040 + //line php5/php5.y:1123 { } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1044 + //line php5/php5.y:1127 { } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1128 { } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1046 + //line php5/php5.y:1129 { } case 357: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1047 + //line php5/php5.y:1130 { } case 358: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1134 { } case 359: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1052 + //line php5/php5.y:1135 { } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1056 + //line php5/php5.y:1139 { } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1148 { } case 364: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1066 + //line php5/php5.y:1149 { } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1150 { } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1151 { } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1072 + //line php5/php5.y:1155 { } case 368: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1073 + //line php5/php5.y:1156 { } case 369: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1074 + //line php5/php5.y:1157 { } case 370: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1158 { } case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1159 { } case 372: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1160 { } case 373: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1161 { } case 374: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1162 { } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1163 { } case 376: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1164 { } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1165 { } case 378: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1166 { } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1167 { } case 380: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1168 { } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1169 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1170 { } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1092 + //line php5/php5.y:1175 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4160,7 +4231,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1181 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4168,7 +4239,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1187 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4176,7 +4247,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1110 + //line php5/php5.y:1193 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4184,97 +4255,97 @@ yydefault: } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1118 + //line php5/php5.y:1201 { } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1119 + //line php5/php5.y:1202 { } case 389: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1120 + //line php5/php5.y:1203 { } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1126 + //line php5/php5.y:1209 { } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1210 { } case 392: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1215 { } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1133 + //line php5/php5.y:1216 { } case 394: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1134 + //line php5/php5.y:1217 { } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1135 + //line php5/php5.y:1218 { } case 398: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1229 { } case 399: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1233 { } case 400: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1234 { } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1152 + //line php5/php5.y:1235 { } case 402: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1156 + //line php5/php5.y:1239 { } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1157 + //line php5/php5.y:1240 { } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1241 { } case 405: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1162 + //line php5/php5.y:1245 { } case 406: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1163 + //line php5/php5.y:1246 { } case 407: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1168 + //line php5/php5.y:1251 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4282,7 +4353,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1174 + //line php5/php5.y:1257 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4290,13 +4361,13 @@ yydefault: } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1179 + //line php5/php5.y:1262 { yyVAL.node = nil } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1181 + //line php5/php5.y:1264 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4304,7 +4375,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1187 + //line php5/php5.y:1270 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4312,7 +4383,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1193 + //line php5/php5.y:1276 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4320,7 +4391,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1199 + //line php5/php5.y:1282 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4328,7 +4399,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1205 + //line php5/php5.y:1288 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4336,7 +4407,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1211 + //line php5/php5.y:1294 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4344,7 +4415,7 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1217 + //line php5/php5.y:1300 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4352,19 +4423,19 @@ yydefault: } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1222 + //line php5/php5.y:1305 { yyVAL.node = nil } case 418: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1223 + //line php5/php5.y:1306 { yyVAL.node = nil } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1228 + //line php5/php5.y:1311 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4376,477 +4447,477 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1240 + //line php5/php5.y:1323 { } case 421: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1244 + //line php5/php5.y:1327 { } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1245 + //line php5/php5.y:1328 { } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1246 + //line php5/php5.y:1329 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1247 + //line php5/php5.y:1330 { } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1248 + //line php5/php5.y:1331 { } case 426: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1249 + //line php5/php5.y:1332 { } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1250 + //line php5/php5.y:1333 { } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1251 + //line php5/php5.y:1334 { } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1252 + //line php5/php5.y:1335 { } case 430: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1253 + //line php5/php5.y:1336 { } case 431: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1257 + //line php5/php5.y:1340 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:1341 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1259 + //line php5/php5.y:1342 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1260 + //line php5/php5.y:1343 { } case 435: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1261 + //line php5/php5.y:1344 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1262 + //line php5/php5.y:1345 { } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1263 + //line php5/php5.y:1346 { } case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1347 { } case 439: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1348 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1266 + //line php5/php5.y:1349 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1267 + //line php5/php5.y:1350 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1268 + //line php5/php5.y:1351 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1269 + //line php5/php5.y:1352 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1270 + //line php5/php5.y:1353 { } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1271 + //line php5/php5.y:1354 { } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1272 + //line php5/php5.y:1355 { } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1273 + //line php5/php5.y:1356 { } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1274 + //line php5/php5.y:1357 { } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1275 + //line php5/php5.y:1358 { } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1276 + //line php5/php5.y:1359 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1277 + //line php5/php5.y:1360 { } case 452: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1278 + //line php5/php5.y:1361 { } case 453: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1279 + //line php5/php5.y:1362 { } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1280 + //line php5/php5.y:1363 { } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1364 { } case 456: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1282 + //line php5/php5.y:1365 { } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1283 + //line php5/php5.y:1366 { } case 458: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1284 + //line php5/php5.y:1367 { } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1285 + //line php5/php5.y:1368 { } case 460: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1286 + //line php5/php5.y:1369 { } case 461: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1287 + //line php5/php5.y:1370 { } case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1288 + //line php5/php5.y:1371 { } case 463: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1289 + //line php5/php5.y:1372 { } case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1376 { } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1294 + //line php5/php5.y:1377 { } case 466: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1295 + //line php5/php5.y:1378 { } case 467: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1296 + //line php5/php5.y:1379 { } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1300 + //line php5/php5.y:1383 { } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1301 + //line php5/php5.y:1384 { } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1302 + //line php5/php5.y:1385 { } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1303 + //line php5/php5.y:1386 { } case 472: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1304 + //line php5/php5.y:1387 { } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1388 { } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1306 + //line php5/php5.y:1389 { } case 475: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1310 + //line php5/php5.y:1393 { } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1311 + //line php5/php5.y:1394 { } case 479: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1320 + //line php5/php5.y:1403 { } case 480: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1321 + //line php5/php5.y:1404 { } case 481: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1405 { } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1323 + //line php5/php5.y:1406 { } case 483: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1410 { yyVAL.node = yyDollar[1].node } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1328 + //line php5/php5.y:1411 { } case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1415 { } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1333 + //line php5/php5.y:1416 { } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1339 + //line php5/php5.y:1422 { yyVAL.node = yyDollar[1].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1347 + //line php5/php5.y:1430 { yyVAL.node = yyDollar[1].node } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1354 + //line php5/php5.y:1437 { yyVAL.node = yyDollar[1].node } case 490: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1361 + //line php5/php5.y:1444 { } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1363 + //line php5/php5.y:1446 { yyVAL.node = yyDollar[1].node } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1367 + //line php5/php5.y:1450 { } case 493: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1368 + //line php5/php5.y:1451 { } case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1456 { } case 495: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1456 { } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1377 + //line php5/php5.y:1460 { } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1378 + //line php5/php5.y:1461 { } case 498: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1382 + //line php5/php5.y:1465 { } case 499: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1466 { } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1387 + //line php5/php5.y:1470 { } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1388 + //line php5/php5.y:1471 { } case 502: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1472 { } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1393 + //line php5/php5.y:1476 { } case 504: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1394 + //line php5/php5.y:1477 { } case 505: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1398 + //line php5/php5.y:1481 { } case 506: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1399 + //line php5/php5.y:1482 { } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1405 + //line php5/php5.y:1488 { yyVAL.node = yyDollar[1].node } case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1411 + //line php5/php5.y:1494 { } case 509: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1412 + //line php5/php5.y:1495 { } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1416 + //line php5/php5.y:1499 { yyVAL.node = yyDollar[1].node } case 511: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1417 + //line php5/php5.y:1500 { yyVAL.node = yyDollar[1].node } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1418 + //line php5/php5.y:1501 { yyVAL.node = yyDollar[1].node } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1506 { yyVAL.node = yyDollar[1].node } case 514: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1425 + //line php5/php5.y:1508 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4858,12 +4929,12 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1517 { } case 516: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1522 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4871,7 +4942,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1528 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4879,13 +4950,13 @@ yydefault: } case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1533 { yyVAL.node = yyDollar[1].node } case 519: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1539 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4897,60 +4968,62 @@ yydefault: } case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1466 + //line php5/php5.y:1549 { - yyVAL.node = nil + yyVAL.node = expr.NewVariable(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 521: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1472 + //line php5/php5.y:1557 { yyVAL.node = nil } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1473 + //line php5/php5.y:1558 { yyVAL.node = yyDollar[1].node } case 523: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1478 + //line php5/php5.y:1563 { } case 524: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1479 + //line php5/php5.y:1564 { } case 525: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1483 + //line php5/php5.y:1568 { } case 526: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1484 + //line php5/php5.y:1569 { } case 527: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1485 + //line php5/php5.y:1570 { } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1489 + //line php5/php5.y:1574 { } case 529: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1490 + //line php5/php5.y:1575 { } case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1495 + //line php5/php5.y:1580 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4960,7 +5033,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1503 + //line php5/php5.y:1588 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4974,227 +5047,227 @@ yydefault: } case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1523 + //line php5/php5.y:1608 { } case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1524 + //line php5/php5.y:1609 { } case 536: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1524 + //line php5/php5.y:1609 { } case 537: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1525 + //line php5/php5.y:1610 { } case 538: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1530 + //line php5/php5.y:1615 { } case 539: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1531 + //line php5/php5.y:1616 { } case 540: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1535 + //line php5/php5.y:1620 { } case 541: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1536 + //line php5/php5.y:1621 { } case 542: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1537 + //line php5/php5.y:1622 { } case 543: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1538 + //line php5/php5.y:1623 { } case 544: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1624 { } case 545: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1625 { } case 546: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1541 + //line php5/php5.y:1626 { } case 547: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1542 + //line php5/php5.y:1627 { } case 548: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1546 + //line php5/php5.y:1631 { } case 549: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1547 + //line php5/php5.y:1632 { } case 550: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1548 + //line php5/php5.y:1633 { } case 551: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1634 { } case 552: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1555 + //line php5/php5.y:1640 { } case 553: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1641 { } case 554: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1641 { } case 555: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1557 + //line php5/php5.y:1642 { } case 556: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1558 + //line php5/php5.y:1643 { } case 557: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1559 + //line php5/php5.y:1644 { } case 558: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1560 + //line php5/php5.y:1645 { } case 559: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1565 + //line php5/php5.y:1650 { } case 560: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1566 + //line php5/php5.y:1651 { } case 561: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1567 + //line php5/php5.y:1652 { } case 562: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1572 + //line php5/php5.y:1657 { } case 563: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1573 + //line php5/php5.y:1658 { } case 564: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1574 + //line php5/php5.y:1659 { } case 565: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1575 + //line php5/php5.y:1660 { } case 566: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1576 + //line php5/php5.y:1661 { } case 567: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1577 + //line php5/php5.y:1662 { } case 568: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1578 + //line php5/php5.y:1663 { } case 569: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1664 { } case 570: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1583 + //line php5/php5.y:1668 { } case 571: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1584 + //line php5/php5.y:1669 { } case 572: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1584 + //line php5/php5.y:1669 { } case 573: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1588 + //line php5/php5.y:1673 { } case 574: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1589 + //line php5/php5.y:1674 { } case 575: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1593 + //line php5/php5.y:1678 { } case 576: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1594 + //line php5/php5.y:1679 { } case 577: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1598 + //line php5/php5.y:1683 { } case 578: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1602 + //line php5/php5.y:1687 { } } diff --git a/php5/php5.y b/php5/php5.y index dce548a..cdbe0cd 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -197,10 +197,10 @@ import ( %type static_class_constant compound_variable reference_variable class_name variable_class_name %type dim_offset expr expr_without_variable r_variable w_variable rw_variable variable base_variable_with_function_calls %type base_variable array_function_dereference function_call inner_statement statement unticked_statement -%type inner_statement statement +%type inner_statement statement global_var static_scalar %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations -%type inner_statement_list +%type inner_statement_list global_var_list static_var_list %type simple_indirect_reference @@ -773,23 +773,106 @@ function_call_parameter: ; global_var_list: - global_var_list ',' global_var { } - | global_var { } + global_var_list ',' global_var { $$ = append($1, $3) } + | global_var { $$ = []node.Node{$1} } ; global_var: - T_VARIABLE { } - | '$' r_variable { } - | '$' '{' expr '}' { } + T_VARIABLE + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | '$' r_variable + { + $$ = expr.NewVariable($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '$' '{' expr '}' + { + $$ = expr.NewVariable($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; static_var_list: - static_var_list ',' T_VARIABLE { } - | static_var_list ',' T_VARIABLE '=' static_scalar { } - | T_VARIABLE { } - | T_VARIABLE '=' static_scalar { } + static_var_list ',' T_VARIABLE + { + identifier := node.NewIdentifier($3.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($3)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($3)) + + staticVar := stmt.NewStaticVar(variable, nil) + positions.AddPosition(staticVar, positionBuilder.NewTokenPosition($3)) + + $$ = append($1, staticVar) + + comments.AddComments(identifier, $3.Comments()) + comments.AddComments(variable, $3.Comments()) + comments.AddComments(staticVar, $3.Comments()) + } + | static_var_list ',' T_VARIABLE '=' static_scalar + { + identifier := node.NewIdentifier($3.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($3)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($3)) + + staticVar := stmt.NewStaticVar(variable, $5) + positions.AddPosition(staticVar, positionBuilder.NewTokenNodePosition($3, $5)) + + $$ = append($1, staticVar) + + comments.AddComments(identifier, $3.Comments()) + comments.AddComments(variable, $3.Comments()) + comments.AddComments(staticVar, $3.Comments()) + } + | T_VARIABLE + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + + staticVar := stmt.NewStaticVar(variable, nil) + positions.AddPosition(staticVar, positionBuilder.NewTokenPosition($1)) + + $$ = []node.Node{staticVar} + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments(staticVar, $1.Comments()) + } + | T_VARIABLE '=' static_scalar + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + + staticVar := stmt.NewStaticVar(variable, $3) + positions.AddPosition(staticVar, positionBuilder.NewTokenNodePosition($1, $3)) + + $$ = []node.Node{staticVar} + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments(staticVar, $1.Comments()) + } ; @@ -1464,7 +1547,9 @@ compound_variable: } | '$' '{' expr '}' { - $$ = nil + $$ = expr.NewVariable($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) } ; From fde1601b62387c3c7bd752659aaae12c2b337ce5 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Wed, 31 Jan 2018 12:55:50 +0200 Subject: [PATCH 11/31] php5 syntax --- php5/php5.go | 2974 ++++++++++++++++++++++++++------------------------ php5/php5.y | 229 +++- 2 files changed, 1741 insertions(+), 1462 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index ae57c0c..6fbdcb5 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -7,7 +7,7 @@ import __yyfmt__ "fmt" import ( // "fmt" // "strings" - // "strconv" + "strconv" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/expr" @@ -346,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1690 +//line php5/php5.y:1854 //line yacctab:1 var yyExca = [...]int{ @@ -457,12 +457,12 @@ var yyExca = [...]int{ -1, 453, 104, 489, 105, 489, - 124, 573, - 135, 573, + 124, 572, + 135, 572, -2, 487, -1, 454, - 124, 574, - 135, 574, + 124, 573, + 135, 573, -2, 484, -1, 455, 104, 489, @@ -473,13 +473,13 @@ var yyExca = [...]int{ -2, 505, -1, 478, 123, 528, - -2, 575, + -2, 574, -1, 483, 123, 379, -2, 506, -1, 484, 123, 528, - -2, 576, + -2, 575, -1, 507, 78, 384, -2, 423, @@ -503,23 +503,23 @@ var yyExca = [...]int{ 57, 260, 125, 260, -2, 259, - -1, 609, + -1, 612, 124, 182, 135, 182, -2, 484, - -1, 610, + -1, 613, 104, 489, 105, 489, 124, 183, 135, 183, -2, 487, - -1, 659, + -1, 662, 78, 386, -2, 425, - -1, 686, + -1, 689, 124, 168, -2, 173, - -1, 701, + -1, 704, 124, 168, -2, 173, -1, 768, @@ -576,282 +576,273 @@ var yyExca = [...]int{ -1, 829, 57, 255, -2, 257, - -1, 889, + -1, 888, 37, 229, -2, 226, - -1, 951, + -1, 950, 123, 498, -2, 502, - -1, 1017, + -1, 1016, 29, 217, -2, 4, - -1, 1043, + -1, 1042, 124, 168, -2, 173, - -1, 1047, + -1, 1046, 121, 221, -2, 223, } const yyPrivate = 57344 -const yyLast = 8380 +const yyLast = 8356 var yyAct = [...]int{ - 101, 893, 1068, 702, 113, 136, 1011, 114, 436, 122, - 130, 577, 830, 326, 503, 832, 4, 926, 334, 877, - 860, 411, 146, 117, 585, 38, 708, 199, 704, 691, - 608, 823, 452, 714, 803, 680, 60, 661, 465, 412, - 97, 383, 263, 317, 313, 328, 424, 129, 6, 25, - 161, 157, 439, 2, 137, 227, 227, 178, 142, 468, - 43, 327, 191, 288, 5, 631, 1042, 982, 631, 981, - 1005, 42, 1004, 978, 973, 1002, 478, 442, 120, 120, - 266, 257, 998, 980, 270, 152, 964, 271, 586, 1003, - 1053, 191, 873, 999, 824, 631, 717, 566, 818, 633, - 632, 941, 203, 296, 634, 636, 637, 635, 250, 631, - 635, 902, 240, 633, 632, 942, 739, 698, 479, 300, - 269, 685, 566, 200, 502, 309, 496, 740, 314, 318, - 176, 175, 321, 643, 634, 636, 637, 635, 351, 178, - 497, 646, 644, 645, 323, 641, 642, 643, 634, 636, - 637, 635, 191, 484, 333, 120, 782, 492, 696, 38, - 227, 591, 181, 182, 174, 177, 179, 180, 178, 697, - 161, 493, 592, 352, 339, 120, 332, 308, 529, 631, - 846, 657, 639, 633, 632, 443, 443, 353, 240, 350, - 466, 125, 266, 120, 227, 120, 270, 158, 191, 271, - 119, 119, 388, 648, 647, 638, 640, 651, 652, 649, - 650, 653, 655, 654, 656, 641, 642, 643, 634, 636, - 637, 635, 227, 983, 342, 565, 177, 179, 180, 178, - 416, 345, 269, 1023, 379, 950, 566, 176, 175, 208, - 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 220, 212, 348, 545, 343, 386, 910, 833, 971, 903, - 228, 227, 443, 229, 546, 909, 349, 440, 344, 447, - 441, 174, 177, 179, 180, 178, 449, 119, 839, 232, - 310, 132, 834, 780, 299, 582, 438, 616, 604, 432, - 298, 581, 227, 603, 311, 133, 597, 119, 596, 240, - 426, 571, 440, 570, 464, 441, 1076, 440, 1059, 729, - 441, 728, 130, 575, 293, 119, 495, 301, 292, 159, - 499, 477, 4, 286, 507, 831, 483, 458, 280, 253, - 252, 38, 1057, 462, 454, 456, 1022, 428, 429, 470, - 471, 990, 876, 871, 524, 480, 868, 866, 849, 1024, - 476, 463, 507, 817, 6, 482, 1072, 431, 741, 491, - 671, 488, 598, 429, 428, 428, 537, 429, 631, 594, - 5, 421, 633, 632, 972, 419, 125, 305, 120, 1043, - 138, 937, 474, 815, 473, 862, 861, 427, 806, 701, - 686, 660, 485, 567, 553, 556, 533, 523, 387, 227, - 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, - 635, 38, 191, 287, 531, 593, 568, 532, 1029, 277, - 274, 555, 440, 440, 294, 441, 441, 208, 209, 210, - 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 273, 477, 483, 249, 221, 267, 583, 588, 268, 194, - 440, 176, 175, 441, 193, 440, 141, 561, 441, 121, - 1063, 307, 1062, 306, 232, 988, 958, 795, 796, 587, - 476, 482, 795, 796, 590, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 381, 331, 134, 1032, 314, 1031, 1021, 987, 318, 965, - 119, 924, 4, 507, 920, 125, 864, 120, 858, 857, - 659, 38, 507, 787, 689, 683, 681, 630, 528, 507, - 507, 507, 507, 507, 607, 487, 390, 341, 155, 103, - 908, 673, 576, 1078, 6, 609, 1050, 962, 623, 936, - 675, 626, 125, 935, 120, 933, 820, 227, 227, 227, - 5, 713, 304, 196, 556, 863, 223, 224, 258, 712, - 794, 556, 956, 430, 613, 266, 881, 227, 682, 270, - 918, 919, 271, 628, 228, 853, 854, 229, 695, 622, - 294, 256, 711, 658, 230, 230, 564, 715, 690, 446, - 415, 414, 124, 232, 440, 125, 1017, 441, 734, 1035, - 125, 227, 665, 227, 125, 269, 718, 716, 125, 264, - 460, 228, 227, 438, 229, 897, 898, 899, 896, 895, - 894, 125, 259, 260, 90, 625, 294, 450, 731, 119, - 232, 501, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 778, - 737, 507, 738, 459, 557, 557, 119, 558, 558, 730, - 445, 742, 124, 281, 285, 418, 319, 664, 294, 498, - 315, 417, 790, 302, 294, 258, 507, 556, 297, 230, - 801, 804, 494, 131, 227, 320, 38, 792, 779, 507, - 800, 781, 556, 744, 745, 816, 833, 746, 747, 123, - 809, 556, 822, 812, 791, 953, 258, 797, 448, 799, - 227, 264, 125, 230, 631, 61, 262, 639, 633, 632, - 807, 710, 294, 819, 125, 284, 120, 715, 125, 560, - 120, 827, 125, 836, 821, 294, 394, 784, 294, 259, - 260, 230, 651, 652, 649, 650, 653, 655, 654, 656, - 641, 642, 643, 634, 636, 637, 635, 207, 842, 127, - 128, 845, 706, 707, 53, 837, 838, 507, 504, 460, - 259, 260, 206, 507, 507, 1033, 878, 694, 238, 785, - 230, 557, 814, 1069, 558, 258, 454, 700, 162, 258, - 430, 609, 44, 228, 282, 227, 229, 228, 1034, 548, - 229, 527, 1075, 38, 131, 723, 872, 725, 724, 556, - 1041, 230, 232, 44, 1025, 556, 232, 1000, 995, 225, - 233, 975, 258, 938, 869, 1054, 535, 255, 440, 1048, - 1006, 441, 907, 346, 976, 227, 905, 879, 945, 507, - 901, 900, 882, 517, 125, 811, 693, 438, 119, 259, - 260, 891, 119, 259, 260, 749, 748, 892, 916, 629, - 890, 227, 258, 627, 507, 624, 556, 430, 906, 573, - 922, 517, 927, 550, 735, 927, 925, 500, 932, 930, - 915, 944, 929, 556, 472, 38, 259, 260, 865, 795, - 796, 391, 934, 322, 912, 798, 795, 796, 202, 201, - 198, 943, 135, 451, 722, 507, 572, 949, 289, 947, - 719, 897, 898, 899, 896, 895, 894, 437, 230, 961, - 115, 580, 578, 258, 963, 461, 259, 260, 283, 966, - 959, 968, 969, 939, 579, 951, 727, 662, 505, 89, - 948, 100, 514, 506, 952, 957, 911, 841, 440, 589, - 265, 441, 985, 984, 989, 905, 991, 303, 992, 986, - 619, 977, 618, 615, 507, 614, 505, 438, 475, 507, - 490, 556, 295, 556, 38, 970, 38, 88, 1001, 38, - 536, 38, 38, 1007, 392, 254, 284, 259, 260, 75, - 74, 73, 251, 248, 63, 507, 507, 1008, 544, 1016, - 802, 556, 38, 380, 38, 38, 569, 1030, 357, 1026, - 1027, 356, 355, 354, 1036, 825, 444, 721, 720, 904, - 828, 829, 517, 1038, 556, 679, 1047, 1016, 335, 889, - 1046, 517, 1015, 507, 556, 1049, 1044, 1052, 517, 517, - 517, 517, 517, 1014, 556, 1013, 1056, 1051, 1012, 38, - 1045, 1010, 1009, 979, 946, 1061, 1028, 888, 887, 1065, - 1071, 886, 38, 556, 974, 940, 230, 230, 230, 38, - 1058, 885, 631, 884, 1079, 639, 633, 632, 38, 606, - 705, 703, 1018, 955, 264, 923, 230, 960, 870, 1073, - 559, 395, 38, 40, 709, 554, 648, 647, 638, 640, - 651, 652, 649, 650, 653, 655, 654, 656, 641, 642, - 643, 634, 636, 637, 635, 393, 39, 505, 552, 880, - 230, 891, 230, 14, 13, 1077, 505, 892, 1074, 1067, - 890, 230, 874, 505, 505, 505, 505, 505, 208, 209, - 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, - 212, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 1066, 1064, - 517, 897, 898, 899, 896, 895, 894, 1040, 967, 875, - 813, 699, 808, 549, 195, 631, 382, 657, 639, 633, - 632, 163, 530, 883, 337, 517, 1037, 1019, 921, 678, - 677, 140, 674, 230, 526, 139, 917, 855, 517, 648, - 647, 638, 640, 651, 652, 649, 650, 653, 655, 654, - 656, 641, 642, 643, 634, 636, 637, 635, 789, 230, - 525, 852, 788, 672, 330, 10, 505, 505, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 1, 160, 505, 156, 116, 914, 316, - 663, 312, 126, 11, 324, 99, 98, 666, 667, 668, - 669, 670, 78, 118, 512, 3, 517, 0, 0, 0, - 505, 0, 517, 517, 0, 0, 0, 646, 644, 645, - 50, 0, 0, 505, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, - 0, 0, 231, 231, 0, 153, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 631, 0, 657, 639, 633, - 632, 0, 204, 0, 0, 0, 0, 272, 0, 0, - 0, 0, 0, 0, 230, 226, 226, 0, 517, 648, - 647, 638, 640, 651, 652, 649, 650, 653, 655, 654, - 656, 641, 642, 643, 634, 636, 637, 635, 0, 0, - 230, 505, 0, 517, 0, 0, 0, 505, 505, 0, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 777, 0, 0, 663, - 0, 0, 0, 0, 517, 0, 0, 231, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 505, 0, 0, 0, 0, 0, 272, - 347, 231, 0, 144, 150, 154, 0, 0, 0, 164, - 0, 0, 0, 0, 0, 0, 0, 197, 505, 0, - 0, 0, 205, 517, 0, 0, 0, 0, 517, 231, - 0, 0, 0, 222, 384, 385, 0, 234, 235, 236, - 237, 0, 0, 239, 0, 241, 242, 243, 244, 245, - 246, 247, 0, 0, 517, 517, 0, 0, 261, 505, - 0, 0, 413, 275, 276, 0, 278, 279, 231, 191, - 0, 0, 0, 0, 0, 847, 0, 290, 0, 0, - 0, 850, 851, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 517, 0, 0, 0, 0, 0, 0, 231, - 0, 435, 0, 0, 0, 0, 0, 547, 176, 175, - 0, 0, 0, 0, 453, 455, 0, 0, 505, 239, - 0, 0, 336, 505, 0, 0, 0, 0, 0, 0, - 0, 0, 469, 0, 0, 0, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 913, 0, 505, - 505, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 0, 0, 0, 154, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 505, 0, 397, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 0, 0, 0, 0, 231, 0, 0, 0, - 0, 0, 0, 954, 208, 209, 210, 211, 213, 214, - 215, 216, 217, 218, 219, 220, 212, 0, 0, 0, - 239, 191, 423, 425, 425, 0, 0, 562, 0, 563, - 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 154, 154, 0, 0, 457, 0, - 0, 425, 0, 0, 0, 0, 0, 425, 290, 172, - 176, 175, 0, 425, 425, 0, 0, 0, 0, 425, - 481, 0, 0, 0, 0, 486, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, - 0, 0, 0, 0, 538, 539, 540, 541, 542, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 231, 231, 231, 0, 0, 0, - 0, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 272, 0, 231, 0, 0, 154, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 692, 692, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 413, 231, 0, - 231, 0, 0, 0, 0, 0, 0, 0, 0, 231, - 0, 0, 0, 0, 584, 0, 0, 0, 862, 861, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 469, 0, 469, 646, 644, 645, 599, 601, 0, - 0, 0, 469, 0, 0, 154, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 0, 0, 0, 0, 848, - 0, 0, 631, 0, 657, 639, 633, 632, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 0, 0, 648, 647, 638, 640, - 651, 652, 649, 650, 653, 655, 654, 656, 641, 642, - 643, 634, 636, 637, 635, 688, 0, 231, 0, 0, - 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, - 413, 0, 425, 732, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 453, 0, 0, 0, - 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 743, 0, 0, 0, 840, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 692, 0, 0, 0, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 0, 336, - 793, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, - 0, 0, 0, 0, 0, 469, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 826, 0, - 835, 192, 172, 176, 175, 0, 0, 0, 0, 425, - 425, 413, 0, 0, 0, 631, 154, 843, 639, 633, - 632, 154, 191, 166, 167, 171, 173, 185, 186, 183, + 101, 892, 1067, 705, 580, 136, 1010, 832, 117, 122, + 130, 199, 925, 326, 711, 830, 4, 436, 334, 876, + 424, 411, 146, 859, 588, 38, 60, 707, 823, 694, + 611, 113, 452, 717, 114, 803, 412, 683, 465, 664, + 383, 317, 97, 263, 137, 439, 328, 313, 142, 6, + 161, 43, 503, 157, 327, 227, 227, 5, 25, 468, + 129, 2, 288, 191, 178, 42, 1041, 125, 634, 120, + 634, 1004, 636, 635, 1003, 1001, 152, 634, 977, 981, + 266, 980, 257, 997, 972, 963, 940, 191, 901, 1002, + 739, 872, 720, 203, 998, 979, 566, 1052, 250, 566, + 941, 740, 824, 296, 644, 645, 646, 637, 639, 640, + 638, 270, 638, 701, 271, 688, 637, 639, 640, 638, + 502, 240, 269, 699, 442, 309, 120, 594, 314, 318, + 351, 484, 321, 120, 700, 496, 228, 589, 595, 229, + 178, 168, 170, 169, 191, 565, 300, 323, 634, 497, + 818, 492, 636, 635, 333, 232, 566, 545, 339, 38, + 227, 177, 179, 180, 178, 493, 332, 782, 546, 125, + 161, 120, 529, 350, 466, 861, 860, 120, 125, 352, + 120, 192, 172, 176, 175, 308, 646, 637, 639, 640, + 638, 119, 266, 353, 227, 200, 120, 240, 982, 158, + 949, 909, 388, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 640, 651, 652, 649, 650, 653, 655, 654, - 656, 641, 642, 643, 634, 636, 637, 635, 0, 0, - 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 859, 0, 0, 0, - 0, 0, 0, 867, 173, 185, 186, 183, 184, 187, + 180, 178, 227, 270, 1022, 345, 271, 697, 348, 343, + 416, 310, 908, 443, 269, 379, 833, 132, 267, 838, + 443, 268, 349, 344, 970, 311, 386, 228, 119, 634, + 229, 133, 642, 636, 635, 119, 780, 232, 299, 725, + 619, 227, 607, 606, 298, 902, 232, 600, 599, 447, + 571, 438, 570, 464, 426, 641, 643, 654, 655, 652, + 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 227, 119, 440, 729, 696, 441, 728, 119, + 578, 458, 119, 449, 831, 293, 477, 462, 240, 1071, + 292, 483, 130, 470, 471, 478, 495, 120, 301, 480, + 499, 159, 4, 286, 507, 454, 456, 280, 253, 440, + 585, 38, 441, 125, 440, 120, 584, 441, 428, 429, + 1023, 252, 432, 476, 524, 1075, 1056, 1021, 482, 634, + 463, 989, 507, 636, 635, 6, 1042, 479, 875, 870, + 971, 191, 867, 5, 429, 428, 428, 865, 429, 488, + 848, 817, 491, 125, 741, 120, 674, 654, 655, 652, + 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 601, 597, 421, 556, 419, 305, 533, 227, + 176, 175, 228, 138, 537, 229, 890, 936, 987, 555, + 431, 38, 891, 474, 564, 889, 568, 815, 125, 806, + 120, 232, 414, 704, 443, 689, 477, 483, 861, 860, + 1028, 663, 567, 473, 174, 177, 179, 180, 178, 119, + 553, 485, 228, 531, 523, 229, 532, 591, 561, 440, + 440, 387, 441, 441, 590, 287, 294, 119, 277, 593, + 274, 232, 273, 476, 482, 249, 896, 897, 898, 895, + 894, 893, 221, 586, 194, 193, 141, 440, 121, 1062, + 441, 1061, 440, 957, 381, 441, 331, 228, 938, 134, + 229, 795, 796, 307, 314, 306, 1058, 119, 318, 1031, + 795, 796, 4, 507, 1030, 1020, 232, 986, 964, 923, + 662, 38, 507, 919, 863, 857, 856, 103, 191, 507, + 507, 507, 507, 507, 787, 692, 612, 346, 686, 1077, + 684, 676, 528, 610, 487, 6, 390, 341, 155, 629, + 678, 626, 119, 5, 907, 579, 1049, 227, 227, 227, + 961, 935, 934, 932, 556, 633, 820, 176, 175, 715, + 125, 556, 716, 304, 196, 266, 258, 227, 427, 955, + 685, 430, 230, 230, 256, 718, 223, 224, 698, 862, + 896, 897, 898, 895, 894, 893, 880, 693, 794, 181, + 182, 174, 177, 179, 180, 178, 270, 264, 125, 271, + 1034, 438, 294, 721, 227, 731, 227, 269, 719, 125, + 734, 917, 918, 616, 1016, 227, 852, 853, 714, 90, + 125, 661, 125, 631, 440, 127, 128, 441, 625, 628, + 259, 260, 124, 446, 125, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 778, 737, 507, 738, 281, 285, 125, 123, + 131, 459, 709, 710, 742, 415, 294, 230, 557, 501, + 498, 558, 294, 557, 494, 790, 558, 124, 258, 507, + 556, 557, 319, 801, 558, 320, 668, 227, 450, 38, + 792, 445, 507, 779, 781, 556, 315, 791, 816, 264, + 258, 230, 418, 809, 556, 822, 417, 302, 297, 460, + 819, 730, 797, 227, 799, 258, 804, 667, 718, 833, + 430, 952, 294, 294, 807, 835, 448, 294, 262, 230, + 131, 800, 713, 61, 827, 560, 394, 821, 294, 836, + 837, 460, 259, 260, 812, 744, 745, 258, 207, 746, + 747, 634, 283, 206, 258, 636, 635, 258, 841, 430, + 1032, 844, 282, 784, 259, 260, 877, 507, 230, 814, + 53, 1068, 703, 507, 507, 284, 162, 454, 461, 259, + 260, 44, 612, 656, 658, 657, 659, 644, 645, 646, + 637, 639, 640, 638, 1033, 227, 238, 258, 548, 230, + 527, 44, 255, 38, 1074, 785, 871, 1040, 1024, 556, + 284, 259, 260, 999, 573, 556, 575, 574, 259, 260, + 994, 259, 260, 974, 868, 225, 233, 1053, 904, 899, + 937, 517, 438, 535, 227, 1047, 878, 1005, 507, 881, + 900, 906, 905, 864, 795, 796, 798, 795, 796, 735, + 975, 944, 125, 811, 749, 440, 748, 915, 441, 517, + 227, 259, 260, 507, 632, 556, 630, 627, 576, 914, + 550, 926, 921, 929, 926, 924, 500, 890, 472, 933, + 943, 928, 556, 891, 38, 391, 889, 322, 202, 201, + 198, 135, 451, 911, 289, 722, 946, 437, 115, 583, + 942, 581, 582, 950, 507, 727, 230, 665, 514, 948, + 951, 910, 840, 947, 592, 931, 265, 303, 960, 622, + 621, 618, 617, 962, 475, 490, 295, 969, 965, 958, + 967, 968, 536, 505, 956, 392, 254, 896, 897, 898, + 895, 894, 893, 75, 976, 983, 904, 74, 251, 248, + 63, 438, 544, 988, 802, 990, 380, 991, 985, 882, + 984, 505, 569, 507, 357, 356, 355, 354, 507, 825, + 556, 444, 556, 38, 440, 38, 724, 441, 38, 723, + 38, 38, 903, 828, 1007, 829, 1015, 682, 335, 888, + 1045, 1014, 1043, 1013, 507, 507, 1012, 1011, 1009, 1008, + 556, 38, 978, 38, 38, 945, 1029, 1060, 1027, 887, + 517, 886, 885, 1035, 1015, 1000, 973, 939, 884, 517, + 1006, 883, 1037, 556, 609, 1046, 517, 517, 517, 517, + 517, 191, 507, 556, 1048, 708, 1051, 1044, 706, 1017, + 954, 922, 959, 556, 869, 1055, 1025, 1026, 38, 559, + 395, 40, 712, 554, 230, 230, 230, 1057, 1064, 1070, + 393, 38, 556, 39, 552, 879, 14, 13, 38, 172, + 176, 175, 264, 1078, 230, 1076, 1072, 38, 1073, 1066, + 873, 1065, 1063, 1039, 1050, 966, 874, 813, 702, 808, + 549, 38, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 195, + 382, 230, 505, 230, 163, 530, 337, 1036, 1018, 920, + 681, 505, 230, 680, 140, 677, 526, 139, 505, 505, + 505, 505, 505, 916, 854, 789, 525, 851, 788, 675, + 330, 10, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 596, + 1, 517, 160, 156, 316, 312, 126, 88, 572, 89, + 506, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 212, 100, 342, 517, 73, 11, 324, + 99, 98, 78, 118, 230, 512, 547, 3, 0, 517, + 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, + 219, 220, 212, 504, 0, 0, 0, 0, 0, 0, + 230, 0, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 176, 175, 505, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 517, 0, 0, 0, 0, 0, + 517, 517, 0, 0, 649, 647, 648, 0, 505, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 425, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, - 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, - 84, 85, 86, 0, 425, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 336, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 621, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 505, 230, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 0, 0, 0, 847, + 0, 0, 634, 0, 660, 642, 636, 635, 208, 209, + 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, + 212, 230, 0, 0, 116, 517, 651, 650, 641, 643, + 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, + 646, 637, 639, 640, 638, 0, 0, 230, 0, 0, + 517, 0, 30, 0, 0, 0, 505, 0, 0, 0, + 0, 0, 505, 505, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 150, 154, 0, 231, + 231, 164, 0, 0, 0, 0, 0, 0, 0, 197, + 0, 517, 0, 0, 205, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 272, 222, 0, 0, 0, 234, + 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, + 244, 245, 246, 247, 0, 0, 0, 505, 0, 0, + 261, 0, 0, 0, 0, 275, 276, 0, 278, 279, + 0, 172, 176, 175, 0, 0, 0, 0, 0, 290, + 517, 0, 505, 0, 0, 517, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 50, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 517, 517, 0, 231, 0, 0, 0, 0, 0, + 153, 239, 0, 505, 336, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, + 0, 0, 0, 0, 0, 0, 272, 0, 231, 517, + 226, 226, 0, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 0, 0, 231, 154, 0, 0, + 0, 0, 505, 0, 0, 0, 0, 505, 0, 0, + 0, 397, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 505, 505, 231, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 239, 0, 423, 425, 425, 0, 0, 0, + 0, 0, 433, 0, 0, 0, 231, 0, 0, 0, + 0, 505, 0, 0, 0, 347, 154, 154, 0, 0, + 457, 0, 0, 425, 0, 0, 0, 0, 634, 425, + 290, 642, 636, 635, 0, 425, 425, 0, 0, 0, + 0, 425, 481, 0, 0, 0, 0, 486, 0, 384, + 385, 0, 651, 650, 641, 643, 654, 655, 652, 653, + 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, + 638, 0, 0, 0, 0, 0, 0, 413, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, + 0, 0, 0, 0, 0, 666, 538, 539, 540, 541, + 542, 0, 669, 670, 671, 672, 673, 0, 0, 0, + 0, 0, 0, 231, 0, 0, 435, 0, 0, 0, + 0, 0, 0, 543, 0, 649, 647, 648, 0, 453, + 455, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 0, 634, 0, 0, 642, 636, 635, 469, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 634, 845, 660, 642, 636, 635, 654, + 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, + 637, 639, 640, 638, 0, 0, 587, 651, 650, 641, + 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, + 645, 646, 637, 639, 640, 638, 0, 0, 0, 602, + 604, 0, 0, 0, 0, 0, 0, 154, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, + 772, 773, 774, 775, 777, 913, 0, 666, 0, 0, + 0, 0, 562, 0, 563, 0, 0, 0, 0, 0, + 0, 231, 231, 231, 634, 0, 660, 642, 636, 635, + 0, 0, 0, 0, 649, 647, 648, 0, 0, 272, + 0, 231, 0, 0, 0, 0, 0, 691, 651, 650, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 0, 0, 0, + 0, 0, 634, 0, 660, 642, 636, 635, 231, 0, + 231, 726, 647, 648, 0, 0, 0, 425, 732, 231, + 613, 0, 0, 0, 0, 0, 651, 650, 641, 643, + 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, + 646, 637, 639, 640, 638, 0, 0, 0, 743, 634, + 846, 660, 642, 636, 635, 0, 849, 850, 0, 0, + 0, 0, 0, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, + 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 384, 695, 695, 0, 0, 0, 0, 839, + 0, 231, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 413, 0, 336, 793, 0, 0, 0, 0, + 0, 912, 0, 0, 0, 0, 0, 231, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 469, + 0, 469, 0, 826, 0, 0, 0, 0, 0, 0, + 469, 425, 425, 0, 0, 0, 0, 0, 154, 842, + 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 634, 0, 953, 642, 636, + 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, + 659, 644, 645, 646, 637, 639, 640, 638, 858, 0, + 168, 170, 169, 191, 0, 866, 0, 0, 0, 0, + 0, 0, 805, 0, 0, 0, 0, 0, 231, 0, + 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 425, 0, 0, 0, 413, 834, + 192, 172, 176, 175, 231, 0, 0, 0, 0, 0, + 0, 453, 0, 0, 0, 0, 613, 0, 0, 172, + 176, 175, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 0, 0, 0, 0, 0, 425, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 695, 0, 0, 336, 0, 0, 0, 0, 0, 0, + 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 469, 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 47, 49, 0, 0, 0, 413, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 489, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 624, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, @@ -864,20 +855,20 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 489, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, + 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, + 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 1080, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, @@ -891,7 +882,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1070, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 1079, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -904,10 +895,10 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 1060, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 1069, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 1055, 32, 0, 33, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, @@ -917,10 +908,10 @@ var yyAct = [...]int{ 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 1059, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 0, 94, 28, 19, 18, 0, 20, 1054, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, @@ -930,7 +921,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 1020, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, @@ -943,7 +934,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 997, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 1019, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -969,11 +960,11 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 994, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 995, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 993, 33, 0, 0, 21, 0, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, @@ -982,11 +973,11 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 993, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 931, 0, 21, 0, + 0, 20, 0, 32, 992, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, @@ -999,7 +990,7 @@ var yyAct = [...]int{ 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 856, 20, 0, 32, 0, 33, 0, 0, 21, + 18, 0, 20, 0, 32, 0, 33, 930, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, @@ -1012,7 +1003,7 @@ var yyAct = [...]int{ 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 19, 18, 855, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, @@ -1022,7 +1013,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 551, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -1035,7 +1026,7 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 551, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, @@ -1048,20 +1039,20 @@ var yyAct = [...]int{ 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 1039, 62, 0, 96, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, @@ -1074,7 +1065,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 928, 62, 0, 96, + 0, 91, 76, 16, 0, 34, 1038, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -1087,7 +1078,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 810, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 927, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -1100,7 +1091,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 676, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 810, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -1111,251 +1102,164 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 646, 644, 645, 0, + 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 783, 0, 0, 91, 76, 16, 0, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 679, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 786, 631, 0, 657, 639, 633, 632, - 646, 644, 645, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 736, 0, 0, 648, 647, - 638, 640, 651, 652, 649, 650, 653, 655, 654, 656, - 641, 642, 643, 634, 636, 637, 635, 0, 631, 0, - 657, 639, 633, 632, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 648, 647, 638, 640, 651, 652, 649, 650, - 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, - 635, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 733, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 687, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 684, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 620, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 617, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 595, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 574, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 396, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 420, 0, 0, 192, - 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 389, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 340, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 338, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 646, 644, 645, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 631, 0, 657, 639, 633, 632, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 648, 647, 638, - 640, 651, 652, 649, 650, 653, 655, 654, 656, 641, - 642, 643, 634, 636, 637, 635, 0, 0, 0, 192, - 172, 176, 175, 644, 645, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 631, 0, 657, 639, 633, 632, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 648, 647, 638, 640, 651, 652, - 649, 650, 653, 655, 654, 656, 641, 642, 643, 634, - 636, 637, 635, 0, 0, 192, 172, 176, 175, 0, - 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 631, 0, 657, 639, - 633, 632, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 648, 647, 638, 640, 651, 652, 649, 650, 653, 655, - 654, 656, 641, 642, 643, 634, 636, 637, 635, 0, - 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, - 639, 633, 632, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 647, 638, 640, 651, 652, 649, 650, 653, - 655, 654, 656, 641, 642, 643, 634, 636, 637, 635, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 172, 176, - 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 612, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 631, 91, 76, - 639, 633, 632, 0, 62, 605, 96, 0, 0, 611, - 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, - 0, 0, 0, 638, 640, 651, 652, 649, 650, 653, - 655, 654, 656, 641, 642, 643, 634, 636, 637, 635, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 191, 0, 0, 148, 112, 108, 102, 612, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 172, 176, 175, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 611, 57, 56, 58, 59, 72, - 119, 0, 0, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 0, 631, 62, - 0, 96, 633, 632, 844, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 651, 652, 649, 650, - 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, - 635, 0, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 0, 96, 0, 0, 602, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 649, 647, 648, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 783, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 0, 786, 634, 0, 660, 642, 636, + 635, 649, 647, 648, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 736, 0, 0, 651, + 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, + 659, 644, 645, 646, 637, 639, 640, 638, 0, 634, + 0, 660, 642, 636, 635, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, + 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 733, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 690, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 687, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 623, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 620, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 598, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 577, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 396, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 420, 0, 0, + 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 389, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 340, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 338, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 165, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 649, 647, 648, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 634, 0, 660, 642, 636, 635, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 0, 0, 0, + 192, 172, 176, 175, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 0, 0, 192, 172, 176, 175, 0, 648, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 634, 0, 660, 642, 636, 635, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 0, 192, 172, + 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 192, + 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 172, 176, 175, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 615, 84, 85, 86, 191, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 608, 96, 176, 175, 614, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 615, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 0, 0, 600, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 0, 0, 62, 422, 96, 172, 176, 175, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 398, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 151, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 69, 70, 0, 0, 634, 91, 76, 642, 636, 635, + 0, 62, 0, 96, 0, 0, 614, 57, 56, 58, + 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1367,8 +1271,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 149, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 843, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1380,8 +1284,23 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 143, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 0, 605, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 191, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 172, + 176, 175, 91, 76, 0, 0, 0, 0, 62, 0, + 96, 0, 0, 603, 57, 56, 58, 59, 72, 119, + 0, 0, 0, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1394,8 +1313,8 @@ var yyAct = [...]int{ 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 0, 104, 105, 125, 434, 120, 0, + 96, 0, 0, 291, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, @@ -1404,10 +1323,10 @@ var yyAct = [...]int{ 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 422, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1417,224 +1336,302 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 104, 105, 125, 77, 41, 147, 0, 0, 0, 0, - 515, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 510, 0, 513, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, - 0, 508, 112, 108, 509, 104, 105, 125, 0, 0, - 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, - 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 398, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 776, 522, 0, 511, 0, 0, - 0, 521, 520, 518, 519, 0, 0, 510, 0, 513, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 508, 112, 108, 509, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 151, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 149, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, + 0, 143, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 434, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 104, 105, 125, 77, + 41, 147, 0, 0, 0, 0, 515, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, + 513, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 516, 0, 0, 0, 0, 508, 112, 108, + 509, 104, 105, 125, 0, 0, 0, 0, 0, 0, + 0, 515, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 522, 0, 511, 0, 0, 0, 521, 520, 518, 519, + 776, 522, 0, 511, 0, 0, 0, 521, 520, 518, + 519, 0, 0, 510, 0, 513, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 516, 0, 0, + 0, 0, 508, 112, 108, 509, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 522, 0, 511, 0, + 0, 0, 521, 520, 518, 519, } var yyPact = [...]int{ - -1000, -1000, 2538, -1000, -1000, -1000, -1000, 336, 590, 732, - 160, -1000, 370, -1000, -1000, 902, -1000, 257, -1000, -1000, - 333, 257, 7694, 7563, 7432, 407, 185, 786, 7825, -1000, - 5814, 331, 326, -1000, -1000, 434, 7825, 900, -5, 899, - 898, 7825, -1000, -1000, -1000, -1000, 730, -1000, 715, -1000, - 1012, 321, 7825, 452, 181, 181, 7825, 7825, 7825, 7825, - -1000, -1000, 8087, -1000, 7825, 7825, 7825, 7825, 7825, 7825, - 7825, 320, -1000, -1000, 205, 204, 820, 7825, 669, 366, - 317, 297, 7825, 7825, 296, 7825, 7825, -1000, 203, -1000, - -1000, 787, 921, -1000, 198, 290, 7039, -1000, 193, 189, - -1000, 498, 844, 610, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 165, 183, -1000, 605, -1000, -1000, 433, - -1000, 253, 342, -1000, 844, -1000, 159, 598, 594, -1000, - 666, 844, -1000, 893, -1000, 8, 4241, 369, 8087, 257, - 5027, 7825, -1000, -1000, 5767, -1000, -5, 765, 510, -1000, - 5720, -1000, 406, 103, 5902, -1000, 133, -1000, -1000, 724, - 131, -5, 2, 52, 5902, -1000, -1000, -1000, -1000, -1000, - 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, - 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, - 7825, 366, 368, 181, 7825, 275, -1000, 5673, 405, 891, - -1000, 691, -1000, -1000, 1012, 5626, -1000, -1000, 7301, 7825, - 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, - 7825, 532, -1000, -1000, -1000, -1000, -1000, 498, 508, 844, - 603, 597, -1000, -1000, -110, -110, -28, -110, 251, 5582, - 247, -110, -110, -110, -110, -110, -110, -110, -1000, 7170, - -1000, 7825, 7825, 7825, 269, 673, 783, -1000, 232, 7956, - 181, 6114, 67, -1000, 592, -1000, 498, 507, 844, 661, - 165, 183, 549, 7825, 7825, 5902, 5902, 7825, 5902, 5902, - 7825, 546, 673, 704, -1000, 860, 7825, 7039, 178, 55, - 5538, 181, 7825, 7825, 884, 259, 498, 66, 7825, 7825, - 165, 433, 143, 259, 7825, 404, -1000, -1000, 2407, 498, - -1000, 611, 36, -1000, 663, 844, 5, -1000, 650, 844, - 877, 602, -12, 8247, -1000, -1000, -1000, -1000, -1000, 274, - 5027, -1000, -1000, 790, 397, 43, 5902, 295, -1000, -1000, - -1000, -1000, -1000, -1000, 185, -1000, 7825, -1000, -1000, 824, - -1000, 8247, -1000, 7825, 7825, 7825, 7825, 7825, 6073, 2112, - 322, 7168, 62, 62, 62, -28, -110, -28, -28, 108, - 108, 1459, 1459, 1459, 1459, 1, 1, 1, 1, -1000, - 7825, -1000, 129, -1000, -1000, 1558, 780, 873, 4110, -1000, - -1000, -1000, 271, -1000, 585, 684, 7825, 6114, 495, 6114, - 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, - 6114, 101, -1000, -1000, 270, 844, 498, 67, 67, -1000, - -1000, -1000, -1000, -110, 177, 5902, 175, -1000, -1000, -1000, - -1000, -1000, 869, 5457, 188, 412, -1000, 166, -1000, -1000, - 165, 183, -1000, 7825, 259, 163, 844, 498, -1000, 165, - 163, 37, -1000, 1012, -1000, 291, 245, 5409, 172, -1000, - -1000, -1000, 170, 238, -1000, -1000, 6908, 6777, -1000, -1000, - 167, 162, -1000, -1000, 6341, 259, -1000, -1000, -1000, -1000, - 161, 5365, -1000, -1000, -1000, -1000, 5317, -1000, 2276, -1000, - 259, -1000, -1000, 598, 865, 596, -1000, 594, 863, 544, - -1000, 859, 8247, -1000, 5858, -1000, -1000, 498, 501, 844, - 268, 8247, -1000, -1000, -1000, -1000, 660, 524, 8247, 8247, - 8247, 8247, 8247, 236, -1000, -1000, 4896, -1000, -1000, -1000, - -1000, 395, 394, -1000, 5269, -15, 267, -1000, 5902, 6210, - 6482, 5988, 6114, 5221, 7825, 393, 181, 728, 728, 34, - -19, 756, 266, 712, 675, -1000, 498, 500, 844, 432, - 585, -1000, 1012, -1000, 366, -40, 532, -1000, 498, -1000, - -1000, -1000, 805, -1000, -1000, 7825, -1000, -1000, 186, 184, - 259, 7825, 7825, 165, 5175, -1000, -1000, -1000, 498, 67, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 5127, - 181, 5902, 181, -1000, -1000, -1000, -8, 234, -1000, -1000, - 1012, 181, 7825, -1000, 259, 259, -1000, -1000, 259, 259, - -1000, -1000, -1000, -1000, -1000, 856, -1000, -1000, 855, -1000, - -1000, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, - 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, - 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8172, 844, 498, - 8247, 157, 21, 5083, 535, 737, -57, -57, -60, -60, - 5039, 392, -1000, 4372, -1000, -1000, -1000, 257, 7825, 7825, - 440, -1000, 874, -1000, -1000, 8247, 712, -1000, 1621, -1000, - -1000, 633, -1000, 181, 265, 633, 4765, 845, 8247, 750, - 260, 712, 229, -37, -1000, -5, -1000, -1000, -1000, 427, - 585, 844, 498, -1000, -41, -1000, -1000, 7825, -1000, 532, - -1000, 200, 156, -1000, -1000, -1000, 2054, 649, 7825, 7825, - -1000, 152, 1957, -1000, -1000, 7825, 6646, -1000, -1000, -1000, - 6496, -1000, -1000, 5902, -1000, -1000, -1000, -1000, -1000, -1000, - 54, -60, -60, -57, -57, -57, -57, 2070, 6643, 599, - -30, -30, -60, 6031, 1080, 5945, 6332, 6132, 243, 243, - 243, 243, -16, -16, -16, -16, 8247, 1837, 498, 224, - -1000, -1000, 8247, 8247, -1000, -1000, -1000, -1000, 482, -1000, - 3979, 388, 387, 5902, -1000, 7825, 264, 435, 385, 867, - -1000, 223, 7825, 222, 728, -1000, -1000, 219, -1000, -1000, - -1000, -44, -1000, -1000, -1000, -1000, 218, 742, 712, 483, - -1000, -41, 498, 1093, 585, 259, 6114, -13, -1000, 134, - 649, 7825, -1000, 67, -1000, 410, -1000, 139, 130, -1000, - -1000, -1000, -1000, 5902, 181, -1000, -1000, 957, 8247, -1000, - 1230, 5858, -1000, 257, 5027, 477, 383, -1000, -1000, 1787, - -1000, -1000, -1000, -1000, -1000, 380, 742, 1621, 4634, -1000, - 532, 4634, 3848, 8247, 426, 585, 424, 420, 258, -1000, - 821, -1000, 823, -1000, -1000, -1000, -20, -1000, 765, 517, - -1000, 838, 585, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 7825, 649, -1000, 109, -1000, -1000, -1000, - -1000, 658, -1000, 957, 8247, -1000, -1000, 467, 257, 344, - -1000, 7825, -1000, -1000, -1000, 418, -1000, -1000, -1000, -38, - -1000, 378, -1000, -1000, -1000, -1000, -1000, 246, -62, -1000, - 819, -1000, 834, -5, -1000, -63, -52, -1000, 97, 649, - -1000, -1000, -1000, 67, 5858, 5027, 376, 343, -1000, 217, - -1000, 4372, -1000, 3717, -1000, -1000, 3586, 816, 3455, 3324, - -42, -1000, 815, 8247, -46, -64, -66, 830, 8247, -1000, - 585, -1000, 586, -1000, -1000, -1000, -1000, -1000, -1000, 4372, - -1000, 4372, 3193, 375, -1000, 212, -1000, -1000, -1000, 221, - -1000, -1000, -1000, 812, 8247, 8247, -1000, -1000, -1000, 298, - 586, -1000, 374, 372, 740, 779, 521, -1000, -1000, 4503, - -1000, -1000, -1000, -1000, 808, -70, -1000, -1000, 256, -1000, - -1000, -1000, -1000, 585, 517, 829, 4372, -1000, -1000, -1000, - 417, -1000, 8247, 712, -45, -1000, 825, -1000, -1000, 3062, - -1000, -1000, 208, 585, -1000, 187, 2931, 341, -1000, -1000, - -1000, -1000, -1000, -1000, 752, 2800, -1000, 752, -1000, 233, - -1000, -1000, 585, -1000, 800, 182, -1000, 414, -1000, 2669, - -1000, + -1000, -1000, 2579, -1000, -1000, -1000, -1000, 355, 550, 588, + 116, -1000, 367, -1000, -1000, 891, -1000, 280, -1000, -1000, + 353, 280, 7670, 7539, 7408, 417, 187, 774, 7801, -1000, + 5855, 352, 351, -1000, -1000, 445, 7801, 890, 67, 889, + 888, 7801, -1000, -1000, -1000, -1000, 711, -1000, 706, -1000, + 1212, 349, 7801, 472, 57, 57, 7801, 7801, 7801, 7801, + -1000, -1000, 8063, -1000, 7801, 7801, 7801, 7801, 7801, 7801, + 7801, 342, -1000, -1000, 216, 203, 795, 7801, 681, 159, + 339, 337, 7801, 7801, 335, 7801, 7801, -1000, 202, -1000, + -1000, 755, 745, -1000, 198, 332, 7015, -1000, 185, 180, + -1000, 520, 852, 640, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 139, 184, -1000, 639, -1000, -1000, 444, + -1000, 273, 374, -1000, 852, -1000, 110, 624, 610, -1000, + 666, 852, -1000, 887, -1000, 11, 4282, 364, 8063, 280, + 5068, 7801, -1000, -1000, 5808, -1000, 67, 754, 605, -1000, + 5761, -1000, 416, 1084, 5943, -1000, 108, -1000, -1000, 408, + 107, 67, -6, 58, 5943, -1000, -1000, -1000, -1000, -1000, + 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, + 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, + 7801, 159, 362, 57, 7801, 328, -1000, 5714, 415, 885, + -1000, 691, -1000, -1000, 1212, 5667, -1000, -1000, 7277, 7801, + 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, + 7801, 363, -1000, -1000, -1000, -1000, -1000, 520, 593, 852, + 638, 634, -1000, -1000, -103, -103, -27, -103, 272, 5623, + 270, -103, -103, -103, -103, -103, -103, -103, -1000, 7146, + -1000, 7801, 7801, 7801, 450, 698, 752, -1000, 285, 7932, + 57, 6112, 114, -1000, 623, -1000, 520, 551, 852, 679, + 139, 184, 620, 7801, 7801, 5943, 5943, 7801, 5943, 5943, + 7801, 554, 698, 676, -1000, 713, 7801, 7015, 147, 39, + 5579, 57, 7801, 7801, 878, 290, 520, 305, 7801, 7801, + 139, 444, 121, 290, 7801, 413, -1000, -1000, 2448, 520, + -1000, 658, 30, -1000, 655, 852, 14, -1000, 651, 852, + 876, 650, -16, 8223, -1000, -1000, -1000, -1000, -1000, 321, + 5068, -1000, -1000, 789, 411, 37, 5943, 324, -1000, -1000, + -1000, -1000, -1000, -1000, 187, -1000, 7801, -1000, -1000, 831, + -1000, 8223, -1000, 7801, 7801, 7801, 7801, 7801, 6071, 6851, + 6314, 1353, -3, -3, -3, -27, -103, -27, -27, 271, + 271, 1152, 1152, 1152, 1152, 428, 428, 428, 428, -1000, + 7801, -1000, 33, -1000, -1000, 1187, 779, 870, 4151, -1000, + -1000, -1000, 317, -1000, 599, 690, 7801, 6112, 323, 6112, + 6112, 6112, 6112, 6112, 6112, 6112, 6112, 6112, 6112, 6112, + 6112, 21, -1000, -1000, 309, 852, 520, 114, 114, -1000, + -1000, -1000, -1000, -103, 146, 5943, 144, -1000, -1000, -1000, + -1000, 814, 868, 5498, 175, 425, -1000, 211, -1000, -1000, + 139, 184, -1000, 7801, 290, 165, 852, 520, -1000, 139, + 165, 3, -1000, 1212, -1000, 1055, 269, 5450, 142, -1000, + -1000, -1000, 141, 268, -1000, -1000, 6865, 6734, -1000, -1000, + 137, 136, -1000, -1000, 6317, 290, -1000, -1000, -1000, -1000, + 134, 5406, -1000, -1000, -1000, -1000, 5358, -1000, 2317, -1000, + 290, -1000, -1000, 624, 867, 600, -1000, 610, 866, 594, + -1000, 864, 8223, -1000, 5899, -1000, -1000, 520, 539, 852, + 308, 8223, -1000, -1000, -1000, -1000, 710, 618, 8223, 8223, + 8223, 8223, 8223, 252, -1000, -1000, 4937, -1000, -1000, -1000, + -1000, 409, 407, -1000, 5310, -21, 302, -1000, 5943, 2121, + 951, 5986, 6112, 5262, 7801, 404, 57, 168, 168, -1, + -23, 741, 300, 612, 686, -1000, 520, 536, 852, 443, + 599, -1000, 1212, -1000, 159, -44, 363, -1000, 520, -1000, + -1000, -1000, 133, -1000, -1000, -1000, -1000, -1000, 7801, -1000, + -1000, 173, 170, 290, 7801, 7801, 139, 5216, -1000, -1000, + -1000, 520, 114, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 5168, 57, 5943, 57, -1000, -1000, -1000, -34, + 250, -1000, -1000, 1212, 57, 7801, -1000, 290, 290, -1000, + -1000, 290, 290, -1000, -1000, -1000, -1000, -1000, 856, -1000, + -1000, 854, -1000, -1000, 8223, 8223, 8223, 8223, 8223, 8223, + 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, + 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, + 8148, 852, 520, 8223, 130, 32, 5124, 644, 763, -55, + -55, -48, -48, 5080, 403, -1000, 4413, -1000, -1000, -1000, + 280, 7801, 7801, 468, -1000, 825, -1000, -1000, 8223, 612, + -1000, 6153, -1000, -1000, 668, -1000, 57, 296, 668, 4806, + 853, 8223, 737, 294, 612, 247, 15, -1000, 67, -1000, + -1000, -1000, 437, 599, 852, 520, -1000, -33, -1000, -1000, + 7801, -1000, 363, -1000, 179, -1000, 2103, 672, 7801, 7801, + -1000, 113, 1939, -1000, -1000, 7801, 6603, -1000, -1000, -1000, + 6448, -1000, -1000, 5943, -1000, -1000, -1000, -1000, -1000, -1000, + 1688, -48, -48, -55, -55, -55, -55, 6439, 224, 1666, + 23, 23, -48, 6029, 1789, 1884, 124, 2020, 636, 636, + 636, 636, -57, -57, -57, -57, 8223, 1217, 520, 246, + -1000, -1000, 8223, 8223, -1000, -1000, -1000, -1000, 523, -1000, + 4020, 395, 394, 5943, -1000, 7801, 307, 459, 393, 822, + -1000, 243, 7801, 238, 168, -1000, -1000, 235, -1000, -1000, + -1000, -45, -1000, -1000, -1000, -1000, 234, 732, 612, 503, + -1000, -33, 520, 849, 599, 290, 6112, -36, -1000, 140, + 672, 7801, -1000, 114, 424, -1000, 106, 75, -1000, -1000, + -1000, -1000, 5943, 57, -1000, -1000, 1553, 8223, -1000, 1837, + 5899, -1000, 280, 5068, 518, 392, -1000, -1000, 54, -1000, + -1000, -1000, -1000, -1000, 388, 732, 6153, 4675, -1000, 363, + 4675, 3889, 8223, 434, 599, 433, 432, 284, -1000, 828, + -1000, 368, -1000, -1000, -1000, -35, -1000, 754, 482, -1000, + 851, 599, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 7801, 672, -1000, 74, -1000, -1000, -1000, -1000, + 674, -1000, 1553, 8223, -1000, -1000, 474, 280, 361, -1000, + 7801, -1000, -1000, -1000, 431, -1000, -1000, -1000, -39, -1000, + 387, -1000, -1000, -1000, -1000, -1000, 232, -52, -1000, 821, + -1000, 850, 67, -1000, -58, -40, -1000, 72, 672, -1000, + -1000, -1000, 114, 5899, 5068, 386, 286, -1000, 227, -1000, + 4413, -1000, 3758, -1000, -1000, 3627, 818, 3496, 3365, -41, + -1000, 811, 8223, -46, -62, -65, 837, 8223, -1000, 599, + -1000, 604, -1000, -1000, -1000, -1000, -1000, -1000, 4413, -1000, + 4413, 3234, 384, -1000, 223, -1000, -1000, -1000, 212, -1000, + -1000, -1000, 806, 8223, 8223, -1000, -1000, -1000, 310, 604, + -1000, 383, 378, 725, 775, 522, -1000, -1000, 4544, -1000, + -1000, -1000, -1000, 805, -70, -1000, -1000, 233, -1000, -1000, + -1000, -1000, 599, 482, 835, 4413, -1000, -1000, -1000, 427, + -1000, 8223, 612, -38, -1000, 827, -1000, -1000, 3103, -1000, + -1000, 222, 599, -1000, 375, 2972, 360, -1000, -1000, -1000, + -1000, -1000, -1000, 740, 2841, -1000, 740, -1000, 186, -1000, + -1000, 599, -1000, 802, 221, -1000, 410, -1000, 2710, -1000, } var yyPgo = [...]int{ - 0, 1305, 47, 44, 43, 624, 1304, 1303, 4, 529, - 1287, 46, 1460, 60, 71, 59, 774, 1320, 1302, 40, - 1296, 1295, 1294, 13, 1293, 51, 14, 53, 0, 1292, - 1291, 1289, 5, 1286, 1284, 7, 1283, 61, 45, 1255, - 36, 1254, 1253, 1252, 1251, 1250, 1248, 1227, 1226, 1225, - 1224, 1222, 1221, 1220, 18, 1219, 1218, 1217, 1216, 1214, - 1212, 49, 1211, 1206, 29, 34, 17, 1204, 1203, 1202, - 1201, 1200, 1199, 26, 1198, 1197, 1189, 1188, 1142, 1139, - 2, 1138, 1135, 41, 1134, 1133, 27, 1129, 22, 1128, - 3, 1126, 1125, 1105, 1104, 31, 1103, 1101, 1100, 33, - 1098, 21, 35, 20, 1097, 1095, 1093, 1092, 1091, 28, - 1090, 88, 1089, 30, 1083, 1081, 1075, 1074, 1071, 1068, - 1067, 1066, 1065, 1064, 1063, 1062, 1061, 6, 1058, 1055, - 1053, 1046, 1042, 1040, 1, 1039, 1038, 1035, 12, 15, - 1031, 1030, 1029, 1028, 1027, 725, 42, 1026, 24, 1025, - 1023, 1022, 1021, 1018, 1016, 1013, 1010, 1008, 1004, 1003, - 1002, 1001, 1000, 999, 995, 994, 19, 990, 987, 63, - 985, 982, 980, 978, 52, 975, 23, 973, 972, 970, - 967, 960, 959, 8, 957, 956, 954, 581, 778, 953, - 37, 952, 951, 949, 947, 38, 11, 946, 945, 944, - 932, 931, 930, 927, 39, 920, 918, 81, 916, 914, - 913, 32, 884, + 0, 1217, 60, 47, 41, 619, 1215, 1213, 31, 517, + 1364, 20, 1392, 51, 65, 59, 780, 1505, 1212, 42, + 1211, 1210, 1209, 13, 1208, 53, 52, 1207, 1204, 1190, + 1189, 82, 1188, 1187, 61, 0, 1186, 1185, 1184, 5, + 1183, 1182, 574, 34, 1180, 54, 46, 1151, 26, 1150, + 1149, 1148, 1147, 1146, 1145, 1144, 1143, 1137, 1136, 1135, + 1134, 1133, 18, 1130, 1129, 1128, 1127, 1126, 1125, 58, + 1124, 1120, 29, 35, 12, 1119, 1100, 1099, 1098, 1097, + 1096, 14, 1095, 1093, 1092, 1091, 1090, 1089, 2, 1088, + 1085, 40, 1077, 1076, 11, 1075, 22, 1074, 3, 1073, + 1070, 1063, 1062, 28, 1061, 1060, 1059, 33, 1054, 21, + 37, 23, 1052, 1051, 1050, 1049, 1048, 27, 1045, 137, + 1034, 30, 1031, 1028, 1027, 1026, 1022, 1021, 1019, 1018, + 1017, 1015, 1012, 1009, 1008, 6, 1007, 1006, 1003, 1002, + 1001, 1000, 1, 999, 998, 997, 15, 7, 995, 993, + 992, 989, 986, 743, 43, 981, 24, 979, 977, 976, + 975, 974, 972, 966, 964, 962, 960, 959, 958, 957, + 953, 946, 945, 19, 942, 62, 937, 936, 935, 934, + 45, 932, 8, 931, 930, 929, 927, 926, 924, 17, + 922, 921, 920, 1233, 39, 918, 917, 38, 4, 915, + 913, 912, 911, 909, 908, 907, 36, 905, 904, 902, + 32, 859, } var yyR1 = [...]int{ - 0, 36, 27, 27, 28, 28, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 29, 29, 2, - 2, 2, 2, 30, 30, 3, 3, 3, 3, 31, - 31, 4, 4, 4, 4, 39, 39, 32, 32, 22, - 22, 22, 22, 23, 23, 24, 41, 42, 24, 45, - 46, 24, 49, 50, 24, 52, 53, 24, 55, 56, - 57, 24, 59, 24, 24, 24, 24, 24, 24, 24, + 0, 44, 34, 34, 35, 35, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 36, 36, 2, + 2, 2, 2, 37, 37, 3, 3, 3, 3, 38, + 38, 4, 4, 4, 4, 47, 47, 39, 39, 22, + 22, 22, 22, 23, 23, 24, 49, 50, 24, 53, + 54, 24, 57, 58, 24, 60, 61, 24, 63, 64, + 65, 24, 67, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 67, 24, 24, 24, 24, 24, 70, 72, 74, 75, - 76, 70, 71, 78, 71, 77, 77, 79, 79, 81, - 82, 80, 63, 63, 83, 37, 38, 86, 86, 87, - 87, 89, 84, 93, 85, 97, 85, 91, 91, 91, - 91, 92, 92, 96, 98, 98, 94, 94, 99, 99, - 65, 65, 64, 64, 100, 64, 58, 58, 66, 66, - 69, 69, 68, 68, 60, 60, 60, 60, 102, 104, - 102, 105, 102, 103, 103, 51, 51, 43, 106, 43, - 47, 107, 47, 44, 44, 48, 48, 90, 90, 108, - 108, 109, 109, 110, 110, 110, 110, 111, 111, 111, - 112, 112, 113, 113, 113, 113, 33, 33, 25, 25, - 25, 34, 34, 34, 34, 95, 95, 116, 114, 114, - 114, 121, 114, 119, 123, 123, 124, 124, 125, 125, - 126, 126, 127, 127, 128, 131, 131, 132, 132, 130, - 129, 129, 133, 133, 122, 122, 115, 115, 120, 120, - 135, 135, 134, 134, 134, 134, 134, 134, 117, 117, - 117, 117, 118, 118, 62, 62, 54, 54, 137, 136, - 136, 138, 138, 140, 140, 142, 141, 141, 141, 143, - 144, 143, 147, 145, 13, 13, 13, 149, 13, 13, + 75, 24, 24, 24, 24, 24, 78, 80, 82, 83, + 84, 78, 79, 86, 79, 85, 85, 87, 87, 89, + 90, 88, 71, 71, 91, 45, 46, 94, 94, 95, + 95, 97, 92, 101, 93, 105, 93, 99, 99, 99, + 99, 100, 100, 104, 106, 106, 102, 102, 107, 107, + 73, 73, 72, 72, 108, 72, 66, 66, 74, 74, + 77, 77, 76, 76, 68, 68, 68, 68, 110, 112, + 110, 113, 110, 111, 111, 59, 59, 51, 114, 51, + 55, 115, 55, 52, 52, 56, 56, 98, 98, 116, + 116, 117, 117, 118, 118, 118, 118, 119, 119, 119, + 120, 120, 121, 121, 121, 121, 40, 40, 25, 25, + 25, 41, 41, 41, 41, 103, 103, 124, 122, 122, + 122, 129, 122, 127, 131, 131, 132, 132, 133, 133, + 134, 134, 135, 135, 136, 139, 139, 140, 140, 138, + 137, 137, 141, 141, 130, 130, 123, 123, 128, 128, + 143, 143, 142, 142, 142, 142, 142, 142, 125, 125, + 125, 125, 126, 126, 70, 70, 62, 62, 145, 144, + 144, 146, 146, 148, 148, 150, 149, 149, 149, 151, + 152, 151, 155, 153, 13, 13, 13, 157, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 150, 13, 151, 13, - 152, 13, 153, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 158, 13, 159, 13, + 160, 13, 161, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 154, 13, 155, 156, 13, 157, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 160, 13, - 13, 13, 13, 13, 13, 13, 165, 13, 167, 13, - 61, 61, 61, 61, 162, 162, 162, 162, 163, 163, - 88, 166, 166, 170, 170, 170, 170, 171, 21, 172, - 21, 173, 21, 175, 21, 177, 21, 178, 21, 179, - 21, 180, 21, 9, 9, 9, 9, 73, 73, 73, - 146, 146, 182, 184, 181, 181, 185, 185, 186, 159, - 159, 159, 164, 164, 164, 148, 148, 5, 5, 5, + 13, 13, 162, 13, 163, 164, 13, 165, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 168, 13, + 13, 13, 13, 13, 13, 13, 172, 13, 174, 13, + 69, 69, 69, 69, 169, 169, 169, 169, 170, 170, + 96, 173, 173, 176, 176, 176, 176, 177, 21, 178, + 21, 179, 21, 181, 21, 183, 21, 184, 21, 185, + 21, 186, 21, 9, 9, 9, 9, 81, 81, 81, + 154, 154, 188, 190, 187, 187, 191, 191, 192, 167, + 167, 167, 171, 171, 171, 156, 156, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, - 26, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 168, 168, 168, 168, 161, 161, - 161, 161, 161, 161, 161, 190, 190, 195, 195, 194, - 194, 194, 194, 12, 12, 40, 40, 14, 15, 16, - 17, 17, 197, 197, 198, 139, 199, 199, 201, 200, - 196, 196, 196, 176, 176, 202, 202, 10, 20, 20, + 26, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 33, 33, 33, 33, 27, 27, + 27, 27, 27, 27, 27, 194, 194, 197, 197, 196, + 196, 196, 196, 12, 12, 48, 48, 14, 15, 16, + 17, 17, 199, 199, 200, 147, 201, 201, 203, 202, + 198, 198, 198, 182, 182, 204, 204, 10, 20, 20, 18, 18, 18, 19, 19, 19, 8, 8, 8, 7, - 7, 11, 11, 183, 183, 203, 203, 203, 174, 174, - 35, 35, 101, 101, 204, 205, 204, 204, 169, 169, - 206, 206, 206, 206, 206, 206, 206, 206, 187, 187, - 187, 187, 207, 208, 207, 207, 207, 207, 207, 209, - 209, 209, 158, 158, 158, 158, 158, 158, 158, 158, - 210, 212, 210, 211, 211, 192, 192, 189, 193, + 7, 11, 11, 189, 189, 205, 205, 205, 180, 180, + 43, 43, 109, 109, 206, 207, 206, 206, 175, 175, + 208, 208, 208, 208, 208, 208, 208, 208, 42, 42, + 42, 42, 31, 31, 31, 31, 31, 31, 32, 32, + 32, 166, 166, 166, 166, 166, 166, 166, 166, 209, + 211, 209, 210, 210, 28, 28, 29, 30, } var yyR2 = [...]int{ @@ -1693,121 +1690,120 @@ var yyR2 = [...]int{ 4, 0, 1, 1, 1, 4, 4, 1, 1, 3, 1, 2, 3, 1, 1, 0, 5, 0, 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, - 1, 2, 1, 0, 5, 3, 3, 6, 3, 1, - 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, - 1, 0, 4, 1, 1, 3, 3, 3, 3, + 1, 2, 1, 4, 3, 3, 6, 3, 1, 1, + 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, + 0, 4, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -36, -27, -1, -23, -37, -38, 51, 79, 44, - -39, -24, 10, -84, -85, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -61, 46, 98, 19, 14, - -12, 48, 25, 27, 121, 40, 43, 36, -88, -91, - -96, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -1000, -44, -34, -1, -23, -45, -46, 51, 79, 44, + -47, -24, 10, -92, -93, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -69, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -96, -99, + -104, 97, -14, -13, 37, 52, 99, 53, 100, 54, -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, - -40, -145, 123, -158, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -161, -162, -163, 118, 96, -18, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -168, -193, + -48, -153, 123, -166, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -27, -169, -170, 118, 96, -18, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -33, -30, -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, - -192, -28, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -35, -202, -10, -176, -7, 134, - 12, 123, -28, 119, 82, 10, -29, 37, 38, -2, - -28, 82, 121, 135, 122, 10, -32, -40, 123, -49, - -52, 123, -40, 121, -12, 97, -88, 98, 79, 121, - -12, 121, -13, -17, -12, 121, -33, -25, 12, 134, - -34, -88, 12, -62, -12, 121, 149, 150, 87, 89, + -28, -35, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -43, -204, -10, -182, -7, 134, + 12, 123, -35, 119, 82, 10, -36, 37, 38, -2, + -35, 82, 121, 135, 122, 10, -39, -48, 123, -57, + -60, 123, -48, 121, -12, 97, -96, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -40, -25, 12, 134, + -41, -96, 12, -70, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -67, 119, -12, 10, -86, + 160, 90, 127, 123, 123, -75, 119, -12, 10, -94, 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -12, 104, 105, -16, -17, -28, 79, 82, - -9, -10, 98, -16, -12, -12, -12, -12, -145, -12, - -61, -12, -12, -12, -12, -12, -12, -12, -159, 123, - -40, -160, 125, 125, -164, 17, -187, -207, 12, 76, - 77, -12, 57, -146, -9, -181, -28, 79, 82, -19, - -8, -35, -10, 123, 123, -12, -12, 123, -12, -12, - 125, -187, 17, 17, 75, -187, 125, 123, -169, -206, - -12, 128, 125, 125, 82, -171, -28, 78, 125, 119, - -8, 134, 78, -180, 119, 124, 121, 119, -27, -28, - 121, 135, -30, -3, -28, 82, -31, -4, -28, 82, - 29, -28, 10, 136, -22, 120, -23, -37, -38, 51, - -41, 122, -40, -23, -54, -136, -12, -59, 121, -86, + 147, 123, -12, 104, 105, -16, -17, -35, 79, 82, + -9, -10, 98, -16, -12, -12, -12, -12, -153, -12, + -69, -12, -12, -12, -12, -12, -12, -12, -167, 123, + -48, -168, 125, 125, -171, 17, -42, -31, 12, 76, + 77, -12, 57, -154, -9, -187, -35, 79, 82, -19, + -8, -43, -10, 123, 123, -12, -12, 123, -12, -12, + 125, -42, 17, 17, 75, -42, 125, 123, -175, -208, + -12, 128, 125, 125, 82, -177, -35, 78, 125, 119, + -8, 134, 78, -186, 119, 124, 121, 119, -34, -35, + 121, 135, -37, -3, -35, 82, -38, -4, -35, 82, + 29, -35, 10, 136, -22, 120, -23, -45, -46, 51, + -49, 122, -48, -23, -62, -144, -12, -67, 121, -94, 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, - -86, 136, 121, 135, -150, -151, -152, -153, -12, -12, + -94, 136, 121, 135, -158, -159, -160, -161, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -146, - -155, 122, -63, -83, -17, -17, -13, 123, -32, 121, - 121, 10, -165, -92, 55, -97, 58, -12, 128, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -154, + -163, 122, -71, -91, -17, -17, -13, 123, -39, 121, + 121, 10, -172, -100, 55, -105, 58, -12, 128, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -101, -204, -17, 59, 82, -28, 78, 78, 124, - 124, 124, 124, -12, -11, -12, -11, 118, -207, -207, - 17, 125, 57, -12, 11, -17, -183, -203, -176, -174, - -8, -35, 10, 119, -147, 78, 82, -28, 57, -8, - 78, -210, -211, -17, -13, -17, -13, -12, -11, 117, - 75, 75, -11, -169, 126, -195, 135, 58, -15, -17, - -11, -11, 10, -111, 123, -173, -174, -176, 10, 52, - -11, -12, -174, -176, 10, -111, -12, 121, -27, 120, - -172, -2, 121, 135, 29, -28, 121, 135, 29, -28, - 10, 29, 136, -26, -188, -5, -189, -28, 79, 82, - 60, 125, -6, 62, -191, 18, 74, -9, 131, 132, - 130, 129, 123, 123, -23, -45, -50, 21, 121, 135, - -60, 119, 122, -25, -12, 12, -167, -26, -12, -12, - -12, -12, -12, -12, -157, 124, 135, 29, 29, -68, - 10, 120, -89, 123, -93, -73, -28, 79, 82, -98, - 55, -13, -17, -17, 91, 124, 135, 123, -28, -154, - 126, 126, -208, 10, 120, 125, 120, -196, -200, -199, - -201, 125, 119, -8, -12, -148, -111, -176, -28, -182, - -176, 124, 135, 124, 124, 124, 126, 126, 124, -12, - 128, -12, 128, 126, 126, 124, -112, -61, -113, -13, - -17, 128, 83, -111, -175, -177, 126, 120, -178, -179, - 120, 120, -111, -3, 10, 29, -4, 10, 29, 10, - -26, 125, 130, 129, 164, 167, 165, 166, 151, 128, - 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, - 156, 153, 154, 157, 159, 158, 160, 127, 82, -28, - 123, -190, -194, -188, 17, 78, -188, -188, -188, -188, - -188, 124, -42, -32, -51, -23, 122, -53, -55, -137, - -102, 121, -102, 121, 120, 136, 123, 122, -12, 121, - -83, -64, -17, 128, 59, -64, 124, 135, 136, -70, - 41, 123, -90, -108, -109, -110, 60, 61, -73, -94, - 56, 82, -28, 119, -99, -73, -146, 136, -204, -205, - -143, -144, -209, 10, 13, 12, -12, -197, 125, 125, - -111, -11, -12, 120, -183, -212, 58, -15, -15, 124, - 135, 124, -15, -12, -111, -111, -111, -111, 10, 10, - -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, 122, -188, -28, -190, - 126, -195, 135, 58, 10, 52, 124, 121, -43, -46, - -32, -40, -54, -12, 120, 32, 33, -102, 31, -102, - -26, -90, -156, -65, 58, -17, 123, -65, -69, -23, - 122, 10, -26, -71, 42, 123, -90, 124, 135, -86, - 119, -99, -28, -95, 135, -149, -12, -101, -141, -140, - -138, 125, -139, 57, 126, 126, -139, -11, -11, 126, - 120, -184, -211, -12, 128, -113, 126, -188, 122, 124, - -188, -188, -44, 93, 94, -47, 22, 121, 121, -12, - -103, 122, 121, 120, 121, 31, 124, -12, 124, -64, - -100, 124, -32, 136, -78, -72, 124, -166, 44, -109, - -87, 83, -95, 120, -114, -115, -118, -119, -120, -135, - 47, 38, 44, -134, 103, 102, 101, 98, 99, 100, - -73, -148, 124, 125, -142, -139, -11, -183, 120, 126, - 126, -185, -15, -188, 58, -40, -23, -48, 93, 94, - 121, -56, -103, -105, 121, -166, -66, -23, 122, -101, - -66, 28, -26, 119, -73, 119, 119, 123, 12, 120, - -116, 121, 135, -88, -134, 10, -123, -73, -11, -138, - 126, -198, -186, 57, -188, -106, 95, -40, 122, -54, - -104, -32, 119, -32, 124, 121, -32, -74, -32, -32, - -170, 12, 128, 136, -117, 12, 10, -86, 136, -124, - 135, 121, 119, 126, -196, -183, -23, 121, 122, -32, - 124, -32, -32, 26, 120, 12, 120, 120, 124, 135, - 12, -26, 121, 135, 136, 136, 10, -26, -73, -125, - -126, -127, -128, -129, -130, -132, -73, 10, -107, -57, - 120, 121, 124, 12, 128, 12, -26, -26, -121, 120, - -127, 121, 121, 45, 29, 78, -32, -58, -23, 122, - -75, 12, 136, 123, -131, -73, -133, -134, 10, -32, - 119, -26, -90, 135, 10, 24, -32, 124, -73, 121, - 120, -122, 121, 119, -76, -32, -77, -79, -80, 41, - 120, -80, 123, -73, -81, 12, 124, -82, 119, -32, - 120, + -12, -109, -206, -17, 59, 82, -35, 78, 78, 124, + 124, 124, 124, -12, -11, -12, -11, 118, -31, -31, + 17, 125, 57, -12, 11, -17, -189, -205, -182, -180, + -8, -43, 10, 119, -155, 78, 82, -35, 57, -8, + 78, -209, -210, -17, -13, -17, -13, -12, -11, 117, + 75, 75, -11, -175, 126, -197, 135, 58, -15, -17, + -11, -11, 10, -119, 123, -179, -180, -182, 10, 52, + -11, -12, -180, -182, 10, -119, -12, 121, -34, 120, + -178, -2, 121, 135, 29, -35, 121, 135, 29, -35, + 10, 29, 136, -26, -193, -5, -29, -35, 79, 82, + 60, 125, -6, 62, -195, 18, 74, -9, 131, 132, + 130, 129, 123, 123, -23, -53, -58, 21, 121, 135, + -68, 119, 122, -25, -12, 12, -174, -26, -12, -12, + -12, -12, -12, -12, -165, 124, 135, 29, 29, -76, + 10, 120, -97, 123, -101, -81, -35, 79, 82, -106, + 55, -13, -17, -17, 91, 124, 135, 123, -35, -162, + 126, 126, -32, 10, 13, 12, 10, 120, 125, 120, + -198, -202, -201, -203, 125, 119, -8, -12, -156, -119, + -182, -35, -188, -182, 124, 135, 124, 124, 124, 126, + 126, 124, -12, 128, -12, 128, 126, 126, 124, -120, + -69, -121, -13, -17, 128, 83, -119, -181, -183, 126, + 120, -184, -185, 120, 120, -119, -3, 10, 29, -4, + 10, 29, 10, -26, 125, 130, 129, 164, 167, 165, + 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, + 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, + 127, 82, -35, 123, -194, -196, -193, 17, 78, -193, + -193, -193, -193, -193, 124, -50, -39, -59, -23, 122, + -61, -63, -145, -110, 121, -110, 121, 120, 136, 123, + 122, -12, 121, -91, -72, -17, 128, 59, -72, 124, + 135, 136, -78, 41, 123, -98, -116, -117, -118, 60, + 61, -81, -102, 56, 82, -35, 119, -107, -81, -154, + 136, -206, -207, -151, -152, 126, -12, -199, 125, 125, + -119, -11, -12, 120, -189, -211, 58, -15, -15, 124, + 135, 124, -15, -12, -119, -119, -119, -119, 10, 10, + -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, + -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, + -193, -193, -193, -193, -193, -193, 122, -193, -35, -194, + 126, -197, 135, 58, 10, 52, 124, 121, -51, -54, + -39, -48, -62, -12, 120, 32, 33, -110, 31, -110, + -26, -98, -164, -73, 58, -17, 123, -73, -77, -23, + 122, 10, -26, -79, 42, 123, -98, 124, 135, -94, + 119, -107, -35, -103, 135, -157, -12, -109, -149, -148, + -146, 125, -147, 57, 126, -147, -11, -11, 126, 120, + -190, -210, -12, 128, -121, 126, -193, 122, 124, -193, + -193, -52, 93, 94, -55, 22, 121, 121, -12, -111, + 122, 121, 120, 121, 31, 124, -12, 124, -72, -108, + 124, -39, 136, -86, -80, 124, -173, 44, -117, -95, + 83, -103, 120, -122, -123, -126, -127, -128, -143, 47, + 38, 44, -142, 103, 102, 101, 98, 99, 100, -81, + -156, 124, 125, -150, -147, -11, -189, 120, 126, 126, + -191, -15, -193, 58, -48, -23, -56, 93, 94, 121, + -64, -111, -113, 121, -173, -74, -23, 122, -109, -74, + 28, -26, 119, -81, 119, 119, 123, 12, 120, -124, + 121, 135, -96, -142, 10, -131, -81, -11, -146, 126, + -200, -192, 57, -193, -114, 95, -48, 122, -62, -112, + -39, 119, -39, 124, 121, -39, -82, -39, -39, -176, + 12, 128, 136, -125, 12, 10, -94, 136, -132, 135, + 121, 119, 126, -198, -189, -23, 121, 122, -39, 124, + -39, -39, 26, 120, 12, 120, 120, 124, 135, 12, + -26, 121, 135, 136, 136, 10, -26, -81, -133, -134, + -135, -136, -137, -138, -140, -81, 10, -115, -65, 120, + 121, 124, 12, 128, 12, -26, -26, -129, 120, -135, + 121, 121, 45, 29, 78, -39, -66, -23, 122, -83, + 12, 136, 123, -139, -81, -141, -142, 10, -39, 119, + -26, -98, 135, 10, 24, -39, 124, -81, 121, 120, + -130, 121, 119, -84, -39, -85, -87, -88, 41, 120, + -88, 123, -81, -89, 12, 124, -90, 119, -39, 120, } var yyDef = [...]int{ @@ -1838,7 +1834,7 @@ var yyDef = [...]int{ 0, 330, 331, 332, 333, 334, 335, 336, 337, 0, 401, 0, 521, 521, 0, 403, 404, 550, 552, 0, 0, 344, 0, 262, 390, 391, 384, 0, 0, 395, - -2, 0, 0, 0, 0, 565, 566, 0, 568, 569, + -2, 0, 0, 0, 0, 564, 565, 0, 567, 568, 521, 0, 0, 0, 418, 0, 521, 538, 0, 477, 543, 0, 521, 521, 0, 0, -2, 0, 521, 0, -2, 531, 0, 0, 0, 0, 10, 3, 0, -2, @@ -1854,11 +1850,11 @@ var yyDef = [...]int{ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 0, 533, 534, 0, 0, -2, 0, 0, 322, 485, 486, 400, 339, 0, 522, 0, 343, 551, 548, - 549, 553, 0, 0, 468, 0, -2, 523, 524, 527, + 549, 0, 0, 0, 468, 0, -2, 523, 524, 527, 503, 0, 528, 0, 405, 0, 0, 386, 392, 514, - 0, 0, 570, -2, -2, -2, 484, 0, 0, 472, + 0, 0, 569, -2, -2, -2, 484, 0, 0, 472, 417, 473, 0, 0, 359, 539, 478, 0, 547, 488, - 0, 0, 5, 368, 0, 0, 373, -2, -2, 578, + 0, 0, 5, 368, 0, 0, 373, -2, -2, 577, 0, 0, 377, -2, -2, 382, 0, 9, 0, 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, 33, 20, 0, 0, 36, 420, 421, 422, -2, 0, 0, @@ -1868,58 +1864,57 @@ var yyDef = [...]int{ 289, 291, 293, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, -2, 126, 122, 387, 0, 0, 0, 0, -2, -2, 266, 0, 0, 537, 535, -2, -2, - 355, 354, 0, 555, 556, 0, 558, 493, 500, 501, - 0, 521, 0, 504, 0, 263, 406, 505, 385, 0, - 506, 562, 571, 563, 564, 567, 357, 356, 358, 541, - 0, 542, 0, 508, 509, 177, 0, 0, 180, -2, - -2, 0, 0, 372, 0, 0, 516, 517, 0, 0, - 520, 11, 370, 23, 26, 0, 29, 32, 0, 22, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 355, 354, 0, 558, 559, 560, 554, 555, 0, 557, + 493, 500, 501, 0, 521, 0, 504, 0, 263, 406, + 505, 385, 0, 506, 561, 570, 562, 563, 566, 357, + 356, 358, 541, 0, 542, 0, 508, 509, 177, 0, + 0, 180, -2, -2, 0, 0, 372, 0, 0, 516, + 517, 0, 0, 520, 11, 370, 23, 26, 0, 29, + 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, - 475, 0, 477, 482, 0, 0, 438, 439, 461, 462, - 0, 0, 157, 50, 54, 155, 38, 0, 246, 0, - 0, 148, 0, 148, 190, 0, -2, 325, 328, 77, - 103, 130, 132, 0, 0, 130, 0, 0, 0, 92, - 0, -2, 0, 167, 169, 107, 174, 175, 176, 0, - 0, 0, 389, 196, 125, 128, 267, 0, 532, 537, - 323, 0, 0, 559, 560, 561, 0, 490, 521, 521, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2, 475, 0, 477, 482, 0, 0, 438, + 439, 461, 462, 0, 0, 157, 50, 54, 155, 38, + 0, 246, 0, 0, 148, 0, 148, 190, 0, -2, + 325, 328, 77, 103, 130, 132, 0, 0, 130, 0, + 0, 0, 92, 0, -2, 0, 167, 169, 107, 174, + 175, 176, 0, 0, 0, 389, 196, 125, 128, 267, + 0, 532, 537, 323, 0, 553, 0, 490, 521, 521, 499, 0, 0, 529, 393, 0, 0, 545, 546, 178, 0, 179, 184, 185, 374, 376, 378, 380, 28, 34, 0, 432, 433, 434, 435, 436, 437, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, - 427, 476, 478, 0, 419, 577, 463, 42, 163, 160, + 427, 476, 478, 0, 419, 576, 463, 42, 163, 160, 0, 0, 0, 249, 144, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 133, 134, 0, 81, 140, 38, 0, 142, 83, 93, 87, 0, 361, 173, 109, 196, 127, 388, 228, 0, 405, 264, 0, 261, -2, - 258, 521, 252, 0, 554, 0, 492, 0, 0, 525, - 526, 397, 572, 540, 0, 181, 431, 459, 0, 426, - 480, 481, 48, 0, 0, 165, 0, 57, 59, 0, - 151, 153, 154, 145, 146, 0, 361, 326, 0, 131, - 537, 0, 0, 0, 0, 0, 0, 0, 0, 170, - 0, 110, 228, 116, 195, 197, 0, 200, 0, -2, - 227, 0, 0, 230, 232, 233, 234, 235, 236, 237, - 129, 268, 536, 521, 0, 251, 0, 494, 557, 497, - 496, 394, 544, 460, 0, 158, 164, 0, 0, 0, - 156, 246, 149, 38, 147, 0, 78, 138, 38, 0, - 79, 0, 143, 38, 88, 38, 38, 0, 171, 114, - 0, 199, 0, 107, 231, 0, 0, 204, 0, 256, - 254, -2, 396, 0, 479, 0, 0, 0, 38, 0, - 38, 152, 38, 0, 135, 141, 0, 0, 0, 0, - 0, 365, 0, 0, 0, 240, 0, 0, 0, 203, - 0, 206, 208, 253, 495, 398, 159, 51, 161, 166, - 60, 150, 0, 0, 94, 0, 112, 347, 362, 0, - 366, 172, 198, 0, 0, 0, 201, 243, 205, 0, - 209, 210, 0, 0, 218, 0, 0, -2, 38, 0, - 349, 139, 89, 363, 0, 238, 241, 242, 0, 207, - 211, 212, 213, 0, 222, 0, 162, 61, 136, 38, - 0, 364, 0, -2, 214, 215, 0, -2, 219, 0, - 38, 239, 0, 0, 220, 0, 0, 0, 216, 137, - 90, 202, 224, 38, 96, 0, 91, 95, 97, 0, - 225, 98, 0, 99, 0, 0, 100, 0, 38, 0, - 101, + 258, 521, 252, 0, 0, 492, 0, 0, 525, 526, + 397, 571, 540, 0, 181, 431, 459, 0, 426, 480, + 481, 48, 0, 0, 165, 0, 57, 59, 0, 151, + 153, 154, 145, 146, 0, 361, 326, 0, 131, 537, + 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, + 110, 228, 116, 195, 197, 0, 200, 0, -2, 227, + 0, 0, 230, 232, 233, 234, 235, 236, 237, 129, + 268, 536, 521, 0, 251, 0, 494, 556, 497, 496, + 394, 544, 460, 0, 158, 164, 0, 0, 0, 156, + 246, 149, 38, 147, 0, 78, 138, 38, 0, 79, + 0, 143, 38, 88, 38, 38, 0, 171, 114, 0, + 199, 0, 107, 231, 0, 0, 204, 0, 256, 254, + -2, 396, 0, 479, 0, 0, 0, 38, 0, 38, + 152, 38, 0, 135, 141, 0, 0, 0, 0, 0, + 365, 0, 0, 0, 240, 0, 0, 0, 203, 0, + 206, 208, 253, 495, 398, 159, 51, 161, 166, 60, + 150, 0, 0, 94, 0, 112, 347, 362, 0, 366, + 172, 198, 0, 0, 0, 201, 243, 205, 0, 209, + 210, 0, 0, 218, 0, 0, -2, 38, 0, 349, + 139, 89, 363, 0, 238, 241, 242, 0, 207, 211, + 212, 213, 0, 222, 0, 162, 61, 136, 38, 0, + 364, 0, -2, 214, 215, 0, -2, 219, 0, 38, + 239, 0, 0, 220, 0, 0, 0, 216, 137, 90, + 202, 224, 38, 96, 0, 91, 95, 97, 0, 225, + 98, 0, 99, 0, 0, 100, 0, 38, 0, 101, } var yyTok1 = [...]int{ @@ -2297,25 +2292,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:211 + //line php5/php5.y:212 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:217 + //line php5/php5.y:218 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:218 + //line php5/php5.y:219 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:223 + //line php5/php5.y:224 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2324,7 +2319,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:230 + //line php5/php5.y:231 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2333,31 +2328,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:239 + //line php5/php5.y:240 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:240 + //line php5/php5.y:241 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:241 + //line php5/php5.y:242 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:242 + //line php5/php5.y:243 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:244 + //line php5/php5.y:245 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2369,7 +2364,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:254 + //line php5/php5.y:255 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2381,7 +2376,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:264 + //line php5/php5.y:265 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2389,7 +2384,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:270 + //line php5/php5.y:271 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2397,7 +2392,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:276 + //line php5/php5.y:277 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2409,7 +2404,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:286 + //line php5/php5.y:287 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2421,25 +2416,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:295 + //line php5/php5.y:296 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:299 + //line php5/php5.y:300 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:300 + //line php5/php5.y:301 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:305 + //line php5/php5.y:306 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2451,7 +2446,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:315 + //line php5/php5.y:316 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2466,7 +2461,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:328 + //line php5/php5.y:329 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2478,7 +2473,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:338 + //line php5/php5.y:339 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2493,19 +2488,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:354 + //line php5/php5.y:355 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:358 + //line php5/php5.y:359 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:365 + //line php5/php5.y:366 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2517,7 +2512,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:375 + //line php5/php5.y:376 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2532,7 +2527,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:388 + //line php5/php5.y:389 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2544,7 +2539,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:398 + //line php5/php5.y:399 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2559,19 +2554,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:414 + //line php5/php5.y:415 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:418 + //line php5/php5.y:419 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:425 + //line php5/php5.y:426 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2583,7 +2578,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:435 + //line php5/php5.y:436 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2598,7 +2593,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:448 + //line php5/php5.y:449 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2610,7 +2605,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:458 + //line php5/php5.y:459 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2625,640 +2620,640 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:473 + //line php5/php5.y:474 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:474 + //line php5/php5.y:475 { } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:478 + //line php5/php5.y:479 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:479 + //line php5/php5.y:480 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:484 + //line php5/php5.y:485 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:486 { yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:486 + //line php5/php5.y:487 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:487 + //line php5/php5.y:488 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:493 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:494 { } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:497 + //line php5/php5.y:498 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:499 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:499 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:499 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:500 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:500 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:500 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:506 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:508 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:510 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:511 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:512 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:512 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:513 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:513 + //line php5/php5.y:514 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:514 + //line php5/php5.y:515 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:516 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:517 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:518 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:519 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:520 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:521 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:522 { } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:523 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:524 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:525 { yyVAL.node = yyDollar[1].node } case 77: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:526 { } case 78: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:526 + //line php5/php5.y:527 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:528 { } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:529 { } case 81: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:529 { } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:530 { } case 83: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:531 { } case 84: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:532 { } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:533 { } case 86: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:537 { } case 87: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:538 { } case 88: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { } case 89: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:540 { } case 90: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:541 { } case 91: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:541 + //line php5/php5.y:542 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:545 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:546 { } case 94: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:546 { } case 95: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:550 { } case 96: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:550 + //line php5/php5.y:551 { } case 97: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:554 + //line php5/php5.y:555 { } case 98: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:555 + //line php5/php5.y:556 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:560 { } case 100: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:560 { } case 101: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:560 { } case 104: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:568 + //line php5/php5.y:569 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:572 + //line php5/php5.y:573 { } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:576 + //line php5/php5.y:577 { } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:580 + //line php5/php5.y:581 { } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:581 + //line php5/php5.y:582 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:585 + //line php5/php5.y:586 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:586 + //line php5/php5.y:587 { } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:590 + //line php5/php5.y:591 { } case 112: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:592 + //line php5/php5.y:593 { } case 113: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:597 + //line php5/php5.y:598 { } case 114: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:601 + //line php5/php5.y:602 { } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:603 + //line php5/php5.y:604 { } case 116: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:607 + //line php5/php5.y:608 { } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:612 + //line php5/php5.y:613 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:613 + //line php5/php5.y:614 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:614 + //line php5/php5.y:615 { } case 120: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:615 + //line php5/php5.y:616 { } case 121: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:619 + //line php5/php5.y:620 { } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:620 + //line php5/php5.y:621 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:624 + //line php5/php5.y:625 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:638 + //line php5/php5.y:639 { } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:639 + //line php5/php5.y:640 { } case 130: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:643 + //line php5/php5.y:644 { } case 131: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:644 + //line php5/php5.y:645 { } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:648 + //line php5/php5.y:649 { } case 133: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:649 + //line php5/php5.y:650 { } case 134: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:651 { } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:651 { } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:672 + //line php5/php5.y:673 { } case 143: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:673 + //line php5/php5.y:674 { } case 144: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:678 + //line php5/php5.y:679 { } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:679 + //line php5/php5.y:680 { } case 146: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:680 + //line php5/php5.y:681 { } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:681 + //line php5/php5.y:682 { } case 148: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:686 + //line php5/php5.y:687 { } case 149: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:688 { } case 150: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:688 { } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:688 + //line php5/php5.y:689 { } case 152: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:688 + //line php5/php5.y:689 { } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:707 + //line php5/php5.y:708 { } case 159: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:707 + //line php5/php5.y:708 { } case 161: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:713 + //line php5/php5.y:714 { } case 162: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:713 + //line php5/php5.y:714 { } case 171: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:742 + //line php5/php5.y:743 { } case 172: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:744 + //line php5/php5.y:745 { } case 173: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:749 + //line php5/php5.y:750 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:750 + //line php5/php5.y:751 { } case 175: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:751 + //line php5/php5.y:752 { } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:752 + //line php5/php5.y:753 { } case 177: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:757 + //line php5/php5.y:758 { } case 178: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:758 + //line php5/php5.y:759 { } case 179: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:759 + //line php5/php5.y:760 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:769 + //line php5/php5.y:770 { } case 183: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:770 + //line php5/php5.y:771 { } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:771 + //line php5/php5.y:772 { } case 185: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:772 + //line php5/php5.y:773 { } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:776 + //line php5/php5.y:777 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:777 + //line php5/php5.y:778 { yyVAL.list = []node.Node{yyDollar[1].node} } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:783 + //line php5/php5.y:784 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3270,7 +3265,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:793 + //line php5/php5.y:794 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3278,7 +3273,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:799 + //line php5/php5.y:800 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3286,7 +3281,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:809 + //line php5/php5.y:810 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3305,7 +3300,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:826 + //line php5/php5.y:827 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3324,7 +3319,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:843 + //line php5/php5.y:844 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3343,7 +3338,7 @@ yydefault: } case 194: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:860 + //line php5/php5.y:861 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3362,868 +3357,868 @@ yydefault: } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:887 + //line php5/php5.y:888 { } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:890 + //line php5/php5.y:891 { } case 202: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:892 + //line php5/php5.y:893 { } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:900 + //line php5/php5.y:901 { } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:901 + //line php5/php5.y:902 { } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:925 + //line php5/php5.y:926 { } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:929 + //line php5/php5.y:930 { } case 216: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:930 + //line php5/php5.y:931 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:934 + //line php5/php5.y:935 { } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:935 + //line php5/php5.y:936 { } case 219: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:939 + //line php5/php5.y:940 { } case 220: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:943 + //line php5/php5.y:944 { } case 221: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:944 + //line php5/php5.y:945 { } case 222: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:948 + //line php5/php5.y:949 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:949 + //line php5/php5.y:950 { } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:953 + //line php5/php5.y:954 { } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:954 + //line php5/php5.y:955 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:958 + //line php5/php5.y:959 { } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:960 { } case 228: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:963 + //line php5/php5.y:964 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:964 + //line php5/php5.y:965 { } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:968 + //line php5/php5.y:969 { } case 231: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:970 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:974 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:975 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:976 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:977 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:977 + //line php5/php5.y:978 { } case 237: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:978 + //line php5/php5.y:979 { } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:982 + //line php5/php5.y:983 { } case 239: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:984 { } case 240: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:984 + //line php5/php5.y:985 { } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:986 { } case 242: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:990 { } case 243: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:991 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:995 { } case 245: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:996 { } case 246: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1000 + //line php5/php5.y:1001 { } case 247: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1002 { } case 248: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1005 + //line php5/php5.y:1006 { } case 249: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1005 + //line php5/php5.y:1006 { } case 250: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1007 { } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1010 + //line php5/php5.y:1011 { } case 252: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1012 { } case 253: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1015 + //line php5/php5.y:1016 { } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1017 { } case 255: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1021 { } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1021 { } case 257: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1022 { } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1023 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1026 + //line php5/php5.y:1027 { } case 260: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1028 { } case 261: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1029 { } case 262: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1032 + //line php5/php5.y:1033 { } case 263: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1032 + //line php5/php5.y:1033 { } case 264: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1036 + //line php5/php5.y:1037 { yyVAL.node = nil } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1038 { } case 266: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1039 { } case 267: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1040 { } case 268: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1040 { } case 269: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1040 + //line php5/php5.y:1041 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1041 + //line php5/php5.y:1042 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1042 + //line php5/php5.y:1043 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1044 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1044 + //line php5/php5.y:1045 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1046 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1046 + //line php5/php5.y:1047 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1047 + //line php5/php5.y:1048 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1048 + //line php5/php5.y:1049 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1049 + //line php5/php5.y:1050 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1051 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1052 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1052 + //line php5/php5.y:1053 { } case 282: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1053 + //line php5/php5.y:1054 { } case 283: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1054 + //line php5/php5.y:1055 { } case 284: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1055 + //line php5/php5.y:1056 { } case 285: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1056 + //line php5/php5.y:1057 { } case 286: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1057 + //line php5/php5.y:1058 { } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1057 + //line php5/php5.y:1058 { } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1058 + //line php5/php5.y:1059 { } case 289: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1058 + //line php5/php5.y:1059 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1059 + //line php5/php5.y:1060 { } case 291: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1059 + //line php5/php5.y:1060 { } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1060 + //line php5/php5.y:1061 { } case 293: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1060 + //line php5/php5.y:1061 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1061 + //line php5/php5.y:1062 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1062 + //line php5/php5.y:1063 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1063 + //line php5/php5.y:1064 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1064 + //line php5/php5.y:1065 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1066 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1066 + //line php5/php5.y:1067 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1068 { } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1069 { } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1069 + //line php5/php5.y:1070 { } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1070 + //line php5/php5.y:1071 { } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1071 + //line php5/php5.y:1072 { } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1072 + //line php5/php5.y:1073 { } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1073 + //line php5/php5.y:1074 { } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1074 + //line php5/php5.y:1075 { } case 308: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1076 { } case 309: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1077 { } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1078 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { } case 312: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1080 { } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1081 { } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1082 { } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1083 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1084 { } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1085 { } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1086 { } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1087 { } case 320: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1088 { } case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1088 + //line php5/php5.y:1089 { } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1089 + //line php5/php5.y:1090 { } case 323: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1089 + //line php5/php5.y:1090 { } case 324: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1090 + //line php5/php5.y:1091 { } case 325: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1091 + //line php5/php5.y:1092 { } case 326: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1092 + //line php5/php5.y:1093 { } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1094 { } case 328: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1095 { } case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1096 { } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1097 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1098 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1099 { } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1100 { } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1100 + //line php5/php5.y:1101 { } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1102 { } case 336: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1102 + //line php5/php5.y:1103 { } case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1104 { } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1105 { } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1105 { } case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1106 { } case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1107 { } case 342: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1107 + //line php5/php5.y:1108 { } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1108 + //line php5/php5.y:1109 { } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1109 + //line php5/php5.y:1110 { } case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1110 + //line php5/php5.y:1111 { } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1111 + //line php5/php5.y:1112 { } case 347: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1114 { } case 348: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1114 + //line php5/php5.y:1115 { } case 349: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1116 + //line php5/php5.y:1117 { } case 350: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1120 + //line php5/php5.y:1121 { } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1121 + //line php5/php5.y:1122 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1123 { } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1123 + //line php5/php5.y:1124 { } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1128 { } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1128 + //line php5/php5.y:1129 { } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1130 { } case 357: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1131 { } case 358: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1134 + //line php5/php5.y:1135 { } case 359: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1135 + //line php5/php5.y:1136 { } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1139 + //line php5/php5.y:1140 { } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1148 + //line php5/php5.y:1149 { } case 364: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1150 { } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1151 { } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1152 { } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1155 + //line php5/php5.y:1156 { } case 368: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1156 + //line php5/php5.y:1157 { } case 369: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1157 + //line php5/php5.y:1158 { } case 370: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1159 { } case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1159 + //line php5/php5.y:1160 { } case 372: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1161 { } case 373: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1161 + //line php5/php5.y:1162 { } case 374: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1162 + //line php5/php5.y:1163 { } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1163 + //line php5/php5.y:1164 { } case 376: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1164 + //line php5/php5.y:1165 { } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1165 + //line php5/php5.y:1166 { } case 378: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1166 + //line php5/php5.y:1167 { } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1167 + //line php5/php5.y:1168 { } case 380: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1168 + //line php5/php5.y:1169 { } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1169 + //line php5/php5.y:1170 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1170 + //line php5/php5.y:1171 { } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1175 + //line php5/php5.y:1176 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4231,7 +4226,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1181 + //line php5/php5.y:1182 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4239,7 +4234,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1187 + //line php5/php5.y:1188 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4247,7 +4242,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1193 + //line php5/php5.y:1194 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4255,97 +4250,97 @@ yydefault: } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1201 + //line php5/php5.y:1202 { } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1202 + //line php5/php5.y:1203 { } case 389: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1203 + //line php5/php5.y:1204 { } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1209 + //line php5/php5.y:1210 { } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1210 + //line php5/php5.y:1211 { } case 392: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1215 + //line php5/php5.y:1216 { } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1216 + //line php5/php5.y:1217 { } case 394: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1217 + //line php5/php5.y:1218 { } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1218 + //line php5/php5.y:1219 { } case 398: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1229 + //line php5/php5.y:1230 { } case 399: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1233 + //line php5/php5.y:1234 { } case 400: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1234 + //line php5/php5.y:1235 { } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1235 + //line php5/php5.y:1236 { } case 402: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1239 + //line php5/php5.y:1240 { } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1240 + //line php5/php5.y:1241 { } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1241 + //line php5/php5.y:1242 { } case 405: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1245 + //line php5/php5.y:1246 { } case 406: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1246 + //line php5/php5.y:1247 { } case 407: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1251 + //line php5/php5.y:1252 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4353,7 +4348,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1257 + //line php5/php5.y:1258 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4361,13 +4356,13 @@ yydefault: } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1262 + //line php5/php5.y:1263 { yyVAL.node = nil } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1265 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4375,7 +4370,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1270 + //line php5/php5.y:1271 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4383,7 +4378,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1276 + //line php5/php5.y:1277 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4391,7 +4386,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1282 + //line php5/php5.y:1283 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4399,7 +4394,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1288 + //line php5/php5.y:1289 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4407,7 +4402,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1294 + //line php5/php5.y:1295 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4415,7 +4410,7 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1300 + //line php5/php5.y:1301 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4423,19 +4418,23 @@ yydefault: } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1307 { - yyVAL.node = nil + yyVAL.node = scalar.NewString(yyDollar[2].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 418: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1306 + //line php5/php5.y:1312 { - yyVAL.node = nil + yyVAL.node = scalar.NewEncapsed(nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1311 + //line php5/php5.y:1321 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4447,477 +4446,496 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1323 + //line php5/php5.y:1333 { } case 421: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1337 { } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1328 + //line php5/php5.y:1338 { } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1329 + //line php5/php5.y:1339 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1330 + //line php5/php5.y:1340 { } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1331 + //line php5/php5.y:1341 { } case 426: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1342 { } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1333 + //line php5/php5.y:1343 { } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1334 + //line php5/php5.y:1344 { } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1335 + //line php5/php5.y:1345 { } case 430: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1336 + //line php5/php5.y:1346 { } case 431: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1340 + //line php5/php5.y:1350 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1351 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1342 + //line php5/php5.y:1352 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1343 + //line php5/php5.y:1353 { } case 435: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1344 + //line php5/php5.y:1354 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1355 { } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1346 + //line php5/php5.y:1356 { } case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1347 + //line php5/php5.y:1357 { } case 439: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1348 + //line php5/php5.y:1358 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1349 + //line php5/php5.y:1359 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1350 + //line php5/php5.y:1360 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1351 + //line php5/php5.y:1361 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1352 + //line php5/php5.y:1362 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1353 + //line php5/php5.y:1363 { } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1354 + //line php5/php5.y:1364 { } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1355 + //line php5/php5.y:1365 { } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1356 + //line php5/php5.y:1366 { } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1357 + //line php5/php5.y:1367 { } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1358 + //line php5/php5.y:1368 { } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1369 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1360 + //line php5/php5.y:1370 { } case 452: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1361 + //line php5/php5.y:1371 { } case 453: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1362 + //line php5/php5.y:1372 { } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1363 + //line php5/php5.y:1373 { } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1364 + //line php5/php5.y:1374 { } case 456: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1375 { } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1366 + //line php5/php5.y:1376 { } case 458: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1367 + //line php5/php5.y:1377 { } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1368 + //line php5/php5.y:1378 { } case 460: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1369 + //line php5/php5.y:1379 { } case 461: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1370 + //line php5/php5.y:1380 { } case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1371 + //line php5/php5.y:1381 { } case 463: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1372 + //line php5/php5.y:1382 { } case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1376 + //line php5/php5.y:1386 { } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1377 + //line php5/php5.y:1387 { } case 466: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1378 + //line php5/php5.y:1388 { } case 467: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1379 + //line php5/php5.y:1389 { } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1394 { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1384 + //line php5/php5.y:1404 { + yyVAL.node = yyDollar[1].node } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1385 + //line php5/php5.y:1406 { + yyVAL.node = yyDollar[1].node } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1386 + //line php5/php5.y:1408 { + yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1387 + //line php5/php5.y:1410 { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1388 + //line php5/php5.y:1416 { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1422 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 475: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1393 + //line php5/php5.y:1430 { } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1394 + //line php5/php5.y:1431 { } case 479: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1403 + //line php5/php5.y:1440 { } case 480: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1404 + //line php5/php5.y:1441 { } case 481: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1405 + //line php5/php5.y:1442 { } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1406 + //line php5/php5.y:1443 { } case 483: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1410 + //line php5/php5.y:1447 { yyVAL.node = yyDollar[1].node } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1411 + //line php5/php5.y:1448 { } case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1415 + //line php5/php5.y:1452 { } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1416 + //line php5/php5.y:1453 { } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1422 + //line php5/php5.y:1459 { yyVAL.node = yyDollar[1].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1430 + //line php5/php5.y:1467 { yyVAL.node = yyDollar[1].node } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1437 + //line php5/php5.y:1474 { yyVAL.node = yyDollar[1].node } case 490: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1444 + //line php5/php5.y:1481 { } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1446 + //line php5/php5.y:1483 { yyVAL.node = yyDollar[1].node } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1487 { } case 493: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1488 { } case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1493 { } case 495: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1493 { } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1460 + //line php5/php5.y:1497 { } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1461 + //line php5/php5.y:1498 { } case 498: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1465 + //line php5/php5.y:1502 { } case 499: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1466 + //line php5/php5.y:1503 { } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1470 + //line php5/php5.y:1507 { } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1471 + //line php5/php5.y:1508 { } case 502: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1472 + //line php5/php5.y:1509 { } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1513 { } case 504: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1477 + //line php5/php5.y:1514 { } case 505: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1481 + //line php5/php5.y:1518 { } case 506: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1519 { } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1525 { yyVAL.node = yyDollar[1].node } case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1494 + //line php5/php5.y:1531 { } case 509: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1495 + //line php5/php5.y:1532 { } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1499 + //line php5/php5.y:1536 { yyVAL.node = yyDollar[1].node } case 511: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1500 + //line php5/php5.y:1537 { yyVAL.node = yyDollar[1].node } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1501 + //line php5/php5.y:1538 { yyVAL.node = yyDollar[1].node } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1506 + //line php5/php5.y:1543 { yyVAL.node = yyDollar[1].node } case 514: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1508 + //line php5/php5.y:1545 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4929,12 +4947,12 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1517 + //line php5/php5.y:1554 { } case 516: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1522 + //line php5/php5.y:1559 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4942,7 +4960,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1528 + //line php5/php5.y:1565 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4950,13 +4968,13 @@ yydefault: } case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1533 + //line php5/php5.y:1570 { yyVAL.node = yyDollar[1].node } case 519: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1576 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4968,7 +4986,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1586 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4976,54 +4994,54 @@ yydefault: } case 521: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1557 + //line php5/php5.y:1594 { yyVAL.node = nil } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1558 + //line php5/php5.y:1595 { yyVAL.node = yyDollar[1].node } case 523: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1563 + //line php5/php5.y:1600 { } case 524: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1564 + //line php5/php5.y:1601 { } case 525: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1568 + //line php5/php5.y:1605 { } case 526: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1569 + //line php5/php5.y:1606 { } case 527: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1607 { } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1574 + //line php5/php5.y:1611 { } case 529: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1575 + //line php5/php5.y:1612 { } case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1580 + //line php5/php5.y:1617 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5033,7 +5051,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1588 + //line php5/php5.y:1625 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5047,228 +5065,324 @@ yydefault: } case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1608 + //line php5/php5.y:1645 { } case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1609 + //line php5/php5.y:1646 { } case 536: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1609 + //line php5/php5.y:1646 { } case 537: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1610 + //line php5/php5.y:1647 { } case 538: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1615 + //line php5/php5.y:1652 { } case 539: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1616 + //line php5/php5.y:1653 { } case 540: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1620 + //line php5/php5.y:1657 { } case 541: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1621 + //line php5/php5.y:1658 { } case 542: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1622 + //line php5/php5.y:1659 { } case 543: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1623 + //line php5/php5.y:1660 { } case 544: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1624 + //line php5/php5.y:1661 { } case 545: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1625 + //line php5/php5.y:1662 { } case 546: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1626 + //line php5/php5.y:1663 { } case 547: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1627 + //line php5/php5.y:1664 { } case 548: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1631 + //line php5/php5.y:1669 { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 549: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1632 + //line php5/php5.y:1671 { + encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.list = append(yyDollar[1].list, encapsed) + comments.AddComments(encapsed, yyDollar[2].token.Comments()) } case 550: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1633 + //line php5/php5.y:1678 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 551: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1634 + //line php5/php5.y:1680 { + encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.list = []node.Node{encapsed, yyDollar[2].node} + comments.AddComments(encapsed, yyDollar[1].token.Comments()) } case 552: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1640 + //line php5/php5.y:1690 { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 553: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1641 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1700 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 554: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1641 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1713 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fetch := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(fetch, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewPropertyFetch(variable, fetch) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(fetch, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 555: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1642 + //line php5/php5.y:1729 { + yyVAL.node = expr.NewVariable(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 556: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1643 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1735 { + identifier := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) + + comments.AddComments(identifier, yyDollar[2].token.Comments()) + comments.AddComments(variable, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 557: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1644 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1749 { + yyVAL.node = yyDollar[2].node } case 558: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1645 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1754 { + yyVAL.node = scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 559: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1650 + //line php5/php5.y:1760 { + // TODO: add option to handle 64 bit integer + if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { + yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + } else { + yyVAL.node = scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + } + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 560: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1651 + //line php5/php5.y:1772 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = expr.NewVariable(identifier) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + + comments.AddComments(identifier, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 561: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1652 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1785 { } case 562: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1657 + //line php5/php5.y:1786 { } case 563: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1658 + //line php5/php5.y:1787 { } case 564: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1659 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1788 { } case 565: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1660 + //line php5/php5.y:1789 { } case 566: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1661 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1790 { } case 567: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1662 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1791 { } case 568: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1663 + //line php5/php5.y:1792 { } case 569: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1664 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1796 { } case 570: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1668 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1797 { } case 571: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1669 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1797 { } case 572: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1669 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1801 { } case 573: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1673 + //line php5/php5.y:1802 { } case 574: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1674 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1807 { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 575: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1678 + //line php5/php5.y:1817 { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 576: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1679 + //line php5/php5.y:1830 { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 577: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1683 - { - } - case 578: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1687 + //line php5/php5.y:1843 { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } } goto yystack /* stack new state and value */ diff --git a/php5/php5.y b/php5/php5.y index cdbe0cd..71db309 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -4,7 +4,7 @@ package php5 import ( // "fmt" // "strings" -// "strconv" + "strconv" "github.com/z7zmey/php-parser/token" "github.com/z7zmey/php-parser/node" @@ -197,10 +197,11 @@ import ( %type static_class_constant compound_variable reference_variable class_name variable_class_name %type dim_offset expr expr_without_variable r_variable w_variable rw_variable variable base_variable_with_function_calls %type base_variable array_function_dereference function_call inner_statement statement unticked_statement -%type inner_statement statement global_var static_scalar +%type inner_statement statement global_var static_scalar scalar class_constant static_class_name_scalar class_name_scalar +%type encaps_var encaps_var encaps_var_offset general_constant %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations -%type inner_statement_list global_var_list static_var_list +%type inner_statement_list global_var_list static_var_list encaps_list %type simple_indirect_reference @@ -1302,8 +1303,18 @@ common_scalar: positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } - | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { $$ = nil } - | T_START_HEREDOC T_END_HEREDOC { $$ = nil } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC + { + $$ = scalar.NewString($2.Value) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3))/* TODO: mark as Heredoc*/ + comments.AddComments($$, $1.Comments()) + } + | T_START_HEREDOC T_END_HEREDOC + { + $$ = scalar.NewEncapsed(nil) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; static_class_constant: @@ -1380,13 +1391,40 @@ general_constant: ; scalar: - T_STRING_VARNAME { } - | general_constant { } - | class_name_scalar { } - | common_scalar { } - | '"' encaps_list '"' { } - | T_START_HEREDOC encaps_list T_END_HEREDOC { } - | T_CLASS_C { } + T_STRING_VARNAME + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | general_constant + { $$ = $1 } + | class_name_scalar + { $$ = $1 } + | common_scalar + { $$ = $1 } + | '"' encaps_list '"' + { + $$ = scalar.NewEncapsed($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_START_HEREDOC encaps_list T_END_HEREDOC + { + $$ = scalar.NewEncapsed($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_CLASS_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } ; static_array_pair_list: @@ -1628,28 +1666,119 @@ non_empty_array_pair_list: ; encaps_list: - encaps_list encaps_var { } - | encaps_list T_ENCAPSED_AND_WHITESPACE { } - | encaps_var { } - | T_ENCAPSED_AND_WHITESPACE encaps_var { } + encaps_list encaps_var + { $$ = append($1, $2) } + | encaps_list T_ENCAPSED_AND_WHITESPACE + { + encapsed := scalar.NewEncapsedStringPart($2.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($2)) + $$ = append($1, encapsed) + comments.AddComments(encapsed, $2.Comments()) + } + | encaps_var + { $$ = []node.Node{$1} } + | T_ENCAPSED_AND_WHITESPACE encaps_var + { + encapsed := scalar.NewEncapsedStringPart($1.Value) + positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($1)) + $$ = []node.Node{encapsed, $2} + comments.AddComments(encapsed, $1.Comments()) + } ; - - encaps_var: - T_VARIABLE { } - | T_VARIABLE '[' { } encaps_var_offset ']' { } - | T_VARIABLE T_OBJECT_OPERATOR T_STRING { } - | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { } - | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { } - | T_CURLY_OPEN variable '}' { } + T_VARIABLE + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(name, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE '[' encaps_var_offset ']' + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewArrayDimFetch(variable, $3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE T_OBJECT_OPERATOR T_STRING + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + fetch := node.NewIdentifier($3.Value) + positions.AddPosition(fetch, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewPropertyFetch(variable, fetch) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments(fetch, $3.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' + { + $$ = expr.NewVariable($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' + { + identifier := node.NewIdentifier($2.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) + $$ = expr.NewArrayDimFetch(variable, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) + + + comments.AddComments(identifier, $2.Comments()) + comments.AddComments(variable, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } + | T_CURLY_OPEN variable '}' + { $$ = $2; } ; - encaps_var_offset: - T_STRING { } - | T_NUM_STRING { } - | T_VARIABLE { } + T_STRING + { + $$ = scalar.NewString($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_NUM_STRING + { + // TODO: add option to handle 64 bit integer + if _, err := strconv.Atoi($1.Value); err == nil { + $$ = scalar.NewLnumber($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + } else { + $$ = scalar.NewString($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + } + comments.AddComments($$, $1.Comments()) + } + | T_VARIABLE + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + $$ = expr.NewVariable(identifier) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + + comments.AddComments(identifier, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } ; @@ -1675,16 +1804,52 @@ isset_variable: ; class_constant: - class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewClassConstFetch($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewClassConstFetch($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } ; static_class_name_scalar: - class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewClassConstFetch($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } ; class_name_scalar: - class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { } + class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + $$ = expr.NewClassConstFetch($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + + comments.AddComments(target, $3.Comments()) + comments.AddComments($$, comments[$1]) + } ; %% \ No newline at end of file From 58d606e3c22fe07dd9fcdf43d93998f546836335 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Thu, 1 Feb 2018 12:04:17 +0200 Subject: [PATCH 12/31] php5 syntax --- php5/php5.go | 2834 ++++++++++++++++++++++++++------------------------ php5/php5.y | 150 ++- 2 files changed, 1571 insertions(+), 1413 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 6fbdcb5..873bbd5 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -346,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1854 +//line php5/php5.y:1954 //line yacctab:1 var yyExca = [...]int{ @@ -457,12 +457,12 @@ var yyExca = [...]int{ -1, 453, 104, 489, 105, 489, - 124, 572, - 135, 572, + 124, 571, + 135, 571, -2, 487, -1, 454, - 124, 573, - 135, 573, + 124, 572, + 135, 572, -2, 484, -1, 455, 104, 489, @@ -473,13 +473,13 @@ var yyExca = [...]int{ -2, 505, -1, 478, 123, 528, - -2, 574, + -2, 573, -1, 483, 123, 379, -2, 506, -1, 484, 123, 528, - -2, 575, + -2, 574, -1, 507, 78, 384, -2, 423, @@ -576,326 +576,280 @@ var yyExca = [...]int{ -1, 829, 57, 255, -2, 257, - -1, 888, + -1, 887, 37, 229, -2, 226, - -1, 950, + -1, 949, 123, 498, -2, 502, - -1, 1016, + -1, 1015, 29, 217, -2, 4, - -1, 1042, + -1, 1041, 124, 168, -2, 173, - -1, 1046, + -1, 1045, 121, 221, -2, 223, } const yyPrivate = 57344 -const yyLast = 8356 +const yyLast = 8286 var yyAct = [...]int{ - 101, 892, 1067, 705, 580, 136, 1010, 832, 117, 122, - 130, 199, 925, 326, 711, 830, 4, 436, 334, 876, - 424, 411, 146, 859, 588, 38, 60, 707, 823, 694, - 611, 113, 452, 717, 114, 803, 412, 683, 465, 664, - 383, 317, 97, 263, 137, 439, 328, 313, 142, 6, - 161, 43, 503, 157, 327, 227, 227, 5, 25, 468, - 129, 2, 288, 191, 178, 42, 1041, 125, 634, 120, - 634, 1004, 636, 635, 1003, 1001, 152, 634, 977, 981, - 266, 980, 257, 997, 972, 963, 940, 191, 901, 1002, - 739, 872, 720, 203, 998, 979, 566, 1052, 250, 566, - 941, 740, 824, 296, 644, 645, 646, 637, 639, 640, - 638, 270, 638, 701, 271, 688, 637, 639, 640, 638, - 502, 240, 269, 699, 442, 309, 120, 594, 314, 318, - 351, 484, 321, 120, 700, 496, 228, 589, 595, 229, - 178, 168, 170, 169, 191, 565, 300, 323, 634, 497, - 818, 492, 636, 635, 333, 232, 566, 545, 339, 38, - 227, 177, 179, 180, 178, 493, 332, 782, 546, 125, - 161, 120, 529, 350, 466, 861, 860, 120, 125, 352, - 120, 192, 172, 176, 175, 308, 646, 637, 639, 640, - 638, 119, 266, 353, 227, 200, 120, 240, 982, 158, - 949, 909, 388, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 227, 270, 1022, 345, 271, 697, 348, 343, - 416, 310, 908, 443, 269, 379, 833, 132, 267, 838, - 443, 268, 349, 344, 970, 311, 386, 228, 119, 634, - 229, 133, 642, 636, 635, 119, 780, 232, 299, 725, - 619, 227, 607, 606, 298, 902, 232, 600, 599, 447, - 571, 438, 570, 464, 426, 641, 643, 654, 655, 652, - 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 227, 119, 440, 729, 696, 441, 728, 119, - 578, 458, 119, 449, 831, 293, 477, 462, 240, 1071, - 292, 483, 130, 470, 471, 478, 495, 120, 301, 480, - 499, 159, 4, 286, 507, 454, 456, 280, 253, 440, - 585, 38, 441, 125, 440, 120, 584, 441, 428, 429, - 1023, 252, 432, 476, 524, 1075, 1056, 1021, 482, 634, - 463, 989, 507, 636, 635, 6, 1042, 479, 875, 870, - 971, 191, 867, 5, 429, 428, 428, 865, 429, 488, - 848, 817, 491, 125, 741, 120, 674, 654, 655, 652, - 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 601, 597, 421, 556, 419, 305, 533, 227, - 176, 175, 228, 138, 537, 229, 890, 936, 987, 555, - 431, 38, 891, 474, 564, 889, 568, 815, 125, 806, - 120, 232, 414, 704, 443, 689, 477, 483, 861, 860, - 1028, 663, 567, 473, 174, 177, 179, 180, 178, 119, - 553, 485, 228, 531, 523, 229, 532, 591, 561, 440, - 440, 387, 441, 441, 590, 287, 294, 119, 277, 593, - 274, 232, 273, 476, 482, 249, 896, 897, 898, 895, - 894, 893, 221, 586, 194, 193, 141, 440, 121, 1062, - 441, 1061, 440, 957, 381, 441, 331, 228, 938, 134, - 229, 795, 796, 307, 314, 306, 1058, 119, 318, 1031, - 795, 796, 4, 507, 1030, 1020, 232, 986, 964, 923, - 662, 38, 507, 919, 863, 857, 856, 103, 191, 507, - 507, 507, 507, 507, 787, 692, 612, 346, 686, 1077, - 684, 676, 528, 610, 487, 6, 390, 341, 155, 629, - 678, 626, 119, 5, 907, 579, 1049, 227, 227, 227, - 961, 935, 934, 932, 556, 633, 820, 176, 175, 715, - 125, 556, 716, 304, 196, 266, 258, 227, 427, 955, - 685, 430, 230, 230, 256, 718, 223, 224, 698, 862, - 896, 897, 898, 895, 894, 893, 880, 693, 794, 181, - 182, 174, 177, 179, 180, 178, 270, 264, 125, 271, - 1034, 438, 294, 721, 227, 731, 227, 269, 719, 125, - 734, 917, 918, 616, 1016, 227, 852, 853, 714, 90, - 125, 661, 125, 631, 440, 127, 128, 441, 625, 628, - 259, 260, 124, 446, 125, 507, 507, 507, 507, 507, + 101, 705, 1009, 1066, 891, 114, 136, 113, 711, 122, + 130, 580, 436, 830, 832, 50, 199, 334, 411, 117, + 875, 858, 588, 924, 43, 707, 60, 694, 326, 823, + 611, 4, 424, 717, 803, 465, 664, 452, 383, 317, + 153, 412, 683, 25, 137, 313, 157, 2, 142, 152, + 503, 97, 129, 263, 288, 227, 227, 204, 439, 634, + 178, 328, 468, 478, 6, 120, 203, 1040, 42, 327, + 226, 226, 5, 168, 170, 169, 191, 442, 1003, 120, + 266, 191, 191, 257, 980, 271, 979, 270, 1002, 484, + 1000, 120, 976, 971, 871, 939, 720, 701, 250, 146, + 978, 638, 38, 296, 1001, 479, 240, 860, 859, 940, + 496, 688, 996, 192, 172, 176, 175, 502, 351, 962, + 176, 175, 300, 997, 497, 309, 323, 161, 314, 318, + 566, 269, 321, 1051, 824, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 174, 177, 179, 180, 178, 178, + 227, 818, 900, 339, 191, 634, 332, 782, 739, 333, + 699, 308, 443, 566, 120, 347, 529, 466, 350, 740, + 120, 700, 240, 200, 158, 634, 443, 119, 1021, 636, + 635, 589, 266, 969, 227, 981, 948, 271, 443, 270, + 594, 119, 901, 388, 637, 639, 640, 638, 908, 384, + 385, 595, 125, 119, 120, 907, 634, 729, 565, 386, + 636, 635, 227, 646, 637, 639, 640, 638, 345, 566, + 416, 545, 492, 1070, 838, 780, 38, 413, 177, 179, + 180, 178, 546, 269, 725, 379, 493, 161, 656, 658, + 657, 659, 644, 645, 646, 637, 639, 640, 638, 352, + 348, 227, 833, 125, 343, 120, 310, 619, 441, 447, + 440, 132, 607, 353, 349, 606, 435, 299, 344, 449, + 311, 228, 438, 298, 229, 133, 426, 600, 585, 453, + 455, 599, 227, 240, 584, 432, 119, 571, 454, 456, + 232, 570, 301, 441, 1022, 440, 159, 469, 441, 970, + 440, 464, 130, 458, 728, 578, 495, 477, 293, 462, + 499, 346, 483, 292, 507, 470, 471, 1057, 286, 280, + 831, 480, 228, 253, 252, 229, 119, 4, 1074, 428, + 429, 1055, 463, 634, 564, 1020, 988, 636, 635, 874, + 869, 232, 507, 866, 864, 488, 476, 191, 847, 524, + 817, 482, 1041, 431, 491, 429, 428, 428, 741, 429, + 6, 674, 125, 125, 120, 120, 601, 138, 5, 644, + 645, 646, 637, 639, 640, 638, 597, 119, 421, 419, + 125, 533, 120, 305, 935, 556, 176, 175, 474, 227, + 860, 859, 537, 555, 815, 806, 704, 689, 38, 663, + 567, 553, 562, 523, 563, 531, 568, 125, 532, 120, + 387, 561, 697, 441, 441, 440, 440, 294, 181, 182, + 174, 177, 179, 180, 178, 287, 277, 477, 483, 414, + 274, 228, 228, 273, 229, 229, 249, 591, 221, 586, + 194, 441, 193, 440, 141, 121, 441, 986, 440, 228, + 232, 232, 229, 956, 307, 590, 306, 1061, 381, 1060, + 593, 103, 795, 796, 331, 134, 476, 482, 232, 1030, + 795, 796, 1029, 879, 1076, 1019, 267, 473, 38, 268, + 613, 696, 985, 963, 314, 485, 119, 119, 318, 612, + 922, 1048, 918, 507, 862, 232, 856, 855, 787, 692, + 662, 686, 507, 684, 119, 528, 487, 4, 610, 507, + 507, 507, 507, 507, 390, 341, 230, 230, 1027, 258, + 155, 906, 676, 579, 430, 960, 934, 629, 933, 626, + 931, 119, 820, 716, 304, 196, 427, 227, 227, 227, + 6, 264, 954, 633, 556, 678, 223, 224, 5, 715, + 861, 556, 384, 695, 695, 266, 1033, 227, 794, 718, + 271, 294, 270, 90, 714, 685, 698, 916, 917, 851, + 852, 256, 413, 661, 446, 693, 415, 124, 38, 668, + 450, 445, 418, 259, 260, 460, 417, 125, 441, 125, + 440, 302, 804, 125, 227, 734, 227, 125, 721, 1015, + 297, 453, 438, 833, 951, 227, 269, 731, 719, 469, + 454, 469, 895, 896, 897, 894, 893, 892, 448, 262, + 469, 230, 713, 735, 459, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 778, 737, 507, 738, 281, 285, 125, 123, - 131, 459, 709, 710, 742, 415, 294, 230, 557, 501, - 498, 558, 294, 557, 494, 790, 558, 124, 258, 507, - 556, 557, 319, 801, 558, 320, 668, 227, 450, 38, - 792, 445, 507, 779, 781, 556, 315, 791, 816, 264, - 258, 230, 418, 809, 556, 822, 417, 302, 297, 460, - 819, 730, 797, 227, 799, 258, 804, 667, 718, 833, - 430, 952, 294, 294, 807, 835, 448, 294, 262, 230, - 131, 800, 713, 61, 827, 560, 394, 821, 294, 836, - 837, 460, 259, 260, 812, 744, 745, 258, 207, 746, - 747, 634, 283, 206, 258, 636, 635, 258, 841, 430, - 1032, 844, 282, 784, 259, 260, 877, 507, 230, 814, - 53, 1068, 703, 507, 507, 284, 162, 454, 461, 259, - 260, 44, 612, 656, 658, 657, 659, 644, 645, 646, - 637, 639, 640, 638, 1033, 227, 238, 258, 548, 230, - 527, 44, 255, 38, 1074, 785, 871, 1040, 1024, 556, - 284, 259, 260, 999, 573, 556, 575, 574, 259, 260, - 994, 259, 260, 974, 868, 225, 233, 1053, 904, 899, - 937, 517, 438, 535, 227, 1047, 878, 1005, 507, 881, - 900, 906, 905, 864, 795, 796, 798, 795, 796, 735, - 975, 944, 125, 811, 749, 440, 748, 915, 441, 517, - 227, 259, 260, 507, 632, 556, 630, 627, 576, 914, - 550, 926, 921, 929, 926, 924, 500, 890, 472, 933, - 943, 928, 556, 891, 38, 391, 889, 322, 202, 201, - 198, 135, 451, 911, 289, 722, 946, 437, 115, 583, - 942, 581, 582, 950, 507, 727, 230, 665, 514, 948, - 951, 910, 840, 947, 592, 931, 265, 303, 960, 622, - 621, 618, 617, 962, 475, 490, 295, 969, 965, 958, - 967, 968, 536, 505, 956, 392, 254, 896, 897, 898, - 895, 894, 893, 75, 976, 983, 904, 74, 251, 248, - 63, 438, 544, 988, 802, 990, 380, 991, 985, 882, - 984, 505, 569, 507, 357, 356, 355, 354, 507, 825, - 556, 444, 556, 38, 440, 38, 724, 441, 38, 723, - 38, 38, 903, 828, 1007, 829, 1015, 682, 335, 888, - 1045, 1014, 1043, 1013, 507, 507, 1012, 1011, 1009, 1008, - 556, 38, 978, 38, 38, 945, 1029, 1060, 1027, 887, - 517, 886, 885, 1035, 1015, 1000, 973, 939, 884, 517, - 1006, 883, 1037, 556, 609, 1046, 517, 517, 517, 517, - 517, 191, 507, 556, 1048, 708, 1051, 1044, 706, 1017, - 954, 922, 959, 556, 869, 1055, 1025, 1026, 38, 559, - 395, 40, 712, 554, 230, 230, 230, 1057, 1064, 1070, - 393, 38, 556, 39, 552, 879, 14, 13, 38, 172, - 176, 175, 264, 1078, 230, 1076, 1072, 38, 1073, 1066, - 873, 1065, 1063, 1039, 1050, 966, 874, 813, 702, 808, - 549, 38, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 195, - 382, 230, 505, 230, 163, 530, 337, 1036, 1018, 920, - 681, 505, 230, 680, 140, 677, 526, 139, 505, 505, - 505, 505, 505, 916, 854, 789, 525, 851, 788, 675, - 330, 10, 517, 517, 517, 517, 517, 517, 517, 517, + 507, 507, 778, 264, 507, 230, 737, 616, 738, 319, + 560, 124, 557, 281, 285, 558, 125, 742, 557, 315, + 61, 558, 625, 125, 631, 125, 790, 628, 667, 507, + 556, 801, 501, 230, 394, 258, 498, 227, 494, 792, + 779, 781, 507, 127, 128, 556, 816, 791, 123, 207, + 814, 320, 805, 53, 556, 822, 258, 206, 1067, 1031, + 876, 430, 718, 227, 44, 819, 258, 797, 809, 799, + 784, 283, 230, 807, 258, 709, 710, 294, 413, 800, + 294, 827, 835, 238, 703, 294, 284, 821, 131, 294, + 1032, 294, 812, 548, 557, 131, 613, 558, 460, 259, + 260, 836, 837, 230, 294, 612, 527, 1073, 225, 233, + 1039, 843, 785, 258, 1023, 730, 38, 507, 430, 461, + 259, 260, 162, 507, 507, 998, 993, 258, 973, 284, + 259, 260, 282, 936, 535, 517, 258, 1052, 259, 260, + 1046, 255, 863, 795, 796, 227, 1004, 44, 974, 744, + 745, 943, 125, 746, 747, 811, 749, 870, 722, 556, + 695, 748, 632, 517, 630, 556, 798, 795, 796, 627, + 576, 550, 867, 898, 500, 472, 391, 259, 260, 441, + 322, 440, 202, 227, 877, 903, 905, 507, 899, 201, + 880, 259, 260, 438, 573, 198, 575, 574, 469, 135, + 259, 260, 437, 115, 904, 583, 581, 582, 949, 227, + 230, 727, 507, 665, 556, 514, 950, 909, 913, 920, + 840, 914, 932, 592, 413, 923, 265, 927, 303, 622, + 38, 556, 942, 928, 621, 925, 618, 505, 925, 945, + 617, 475, 490, 295, 968, 910, 536, 392, 254, 75, + 74, 251, 248, 507, 544, 802, 947, 380, 569, 357, + 356, 355, 930, 354, 825, 505, 444, 724, 959, 723, + 902, 828, 596, 961, 946, 829, 682, 957, 964, 335, + 966, 967, 887, 955, 208, 209, 210, 211, 213, 214, + 215, 216, 217, 218, 219, 220, 212, 441, 975, 440, + 1044, 982, 903, 987, 983, 989, 1013, 990, 1042, 1012, + 38, 438, 507, 1011, 517, 1010, 1008, 507, 1007, 556, + 977, 556, 984, 517, 944, 1059, 941, 1006, 1026, 1014, + 517, 517, 517, 517, 517, 886, 885, 884, 972, 938, + 883, 882, 609, 507, 507, 708, 706, 1016, 953, 556, + 921, 1028, 958, 868, 559, 395, 40, 1014, 230, 230, + 230, 712, 999, 1034, 554, 393, 39, 1005, 552, 878, + 14, 13, 556, 1075, 1072, 1065, 264, 1045, 230, 872, + 1043, 507, 556, 1050, 1047, 1064, 1036, 1062, 1038, 965, + 873, 813, 556, 1024, 1025, 1054, 702, 808, 549, 38, + 1056, 38, 195, 382, 38, 163, 38, 38, 1063, 1069, + 530, 556, 337, 1035, 1017, 230, 505, 230, 919, 1071, + 681, 680, 140, 1077, 677, 505, 230, 38, 526, 38, + 38, 1049, 505, 505, 505, 505, 505, 139, 915, 853, + 789, 525, 850, 788, 675, 330, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 596, - 1, 517, 160, 156, 316, 312, 126, 88, 572, 89, - 506, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 100, 342, 517, 73, 11, 324, - 99, 98, 78, 118, 230, 512, 547, 3, 0, 517, - 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, - 219, 220, 212, 504, 0, 0, 0, 0, 0, 0, - 230, 0, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 505, 505, 505, 505, 505, 505, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 10, 38, 517, 1, 289, 451, 160, + 156, 316, 312, 126, 63, 88, 572, 38, 89, 506, + 100, 73, 11, 324, 38, 99, 98, 78, 118, 512, + 517, 3, 0, 38, 0, 0, 0, 0, 230, 0, + 0, 0, 0, 517, 0, 0, 0, 38, 0, 0, + 0, 0, 0, 0, 0, 0, 504, 0, 0, 0, + 0, 0, 0, 0, 230, 0, 191, 0, 0, 0, + 0, 0, 116, 0, 0, 0, 0, 0, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 176, 175, 505, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 517, 0, 0, 0, 0, 0, - 517, 517, 0, 0, 649, 647, 648, 0, 505, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 0, 505, 230, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 0, 0, 0, 847, - 0, 0, 634, 0, 660, 642, 636, 635, 208, 209, - 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, - 212, 230, 0, 0, 116, 517, 651, 650, 641, 643, - 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, - 646, 637, 639, 640, 638, 0, 0, 230, 0, 0, - 517, 0, 30, 0, 0, 0, 505, 0, 0, 0, - 0, 0, 505, 505, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 150, 154, 0, 231, - 231, 164, 0, 0, 0, 0, 0, 0, 0, 197, - 0, 517, 0, 0, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 272, 222, 0, 0, 0, 234, - 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, - 244, 245, 246, 247, 0, 0, 0, 505, 0, 0, - 261, 0, 0, 0, 0, 275, 276, 0, 278, 279, - 0, 172, 176, 175, 0, 0, 0, 0, 0, 290, - 517, 0, 505, 0, 0, 517, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 50, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 517, 517, 0, 231, 0, 0, 0, 0, 0, - 153, 239, 0, 505, 336, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 272, 0, 231, 517, - 226, 226, 0, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 0, 0, 231, 154, 0, 0, - 0, 0, 505, 0, 0, 0, 0, 505, 0, 0, - 0, 397, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 505, 505, 231, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 239, 0, 423, 425, 425, 0, 0, 0, - 0, 0, 433, 0, 0, 0, 231, 0, 0, 0, - 0, 505, 0, 0, 0, 347, 154, 154, 0, 0, - 457, 0, 0, 425, 0, 0, 0, 0, 634, 425, - 290, 642, 636, 635, 0, 425, 425, 0, 0, 0, - 0, 425, 481, 0, 0, 0, 0, 486, 0, 384, - 385, 0, 651, 650, 641, 643, 654, 655, 652, 653, + 505, 505, 505, 505, 505, 176, 175, 505, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 517, 0, + 0, 0, 0, 0, 517, 517, 0, 231, 231, 649, + 647, 648, 505, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 505, 230, 0, 0, 0, + 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 846, 0, 0, 634, 0, 660, + 642, 636, 635, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 0, 0, 0, 517, 0, + 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, + 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 230, 0, 547, 517, 0, 30, 0, 0, 0, 0, + 505, 0, 0, 0, 0, 0, 505, 505, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 144, 150, + 154, 0, 0, 0, 164, 0, 0, 0, 0, 0, + 0, 0, 197, 0, 517, 0, 0, 205, 0, 0, + 0, 0, 0, 0, 272, 0, 231, 0, 222, 0, + 0, 0, 234, 235, 236, 237, 0, 0, 239, 0, + 241, 242, 243, 244, 245, 246, 247, 0, 0, 0, + 505, 0, 0, 261, 231, 0, 0, 0, 275, 276, + 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 290, 517, 0, 505, 0, 0, 517, 208, + 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, + 220, 212, 0, 231, 0, 0, 0, 0, 634, 0, + 0, 642, 636, 635, 517, 517, 0, 0, 0, 0, + 0, 0, 0, 0, 239, 0, 505, 336, 0, 0, + 0, 0, 0, 0, 231, 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, - 638, 0, 0, 0, 0, 0, 0, 413, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 0, 0, 0, 0, 0, 666, 538, 539, 540, 541, - 542, 0, 669, 670, 671, 672, 673, 0, 0, 0, - 0, 0, 0, 231, 0, 0, 435, 0, 0, 0, - 0, 0, 0, 543, 0, 649, 647, 648, 0, 453, - 455, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 0, 634, 0, 0, 642, 636, 635, 469, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 634, 845, 660, 642, 636, 635, 654, - 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, - 637, 639, 640, 638, 0, 0, 587, 651, 650, 641, - 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, - 645, 646, 637, 639, 640, 638, 0, 0, 0, 602, - 604, 0, 0, 0, 0, 0, 0, 154, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, - 772, 773, 774, 775, 777, 913, 0, 666, 0, 0, - 0, 0, 562, 0, 563, 0, 0, 0, 0, 0, - 0, 231, 231, 231, 634, 0, 660, 642, 636, 635, - 0, 0, 0, 0, 649, 647, 648, 0, 0, 272, - 0, 231, 0, 0, 0, 0, 0, 691, 651, 650, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 0, 0, 0, - 0, 0, 634, 0, 660, 642, 636, 635, 231, 0, - 231, 726, 647, 648, 0, 0, 0, 425, 732, 231, - 613, 0, 0, 0, 0, 0, 651, 650, 641, 643, - 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, - 646, 637, 639, 640, 638, 0, 0, 0, 743, 634, - 846, 660, 642, 636, 635, 0, 849, 850, 0, 0, - 0, 0, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, + 638, 0, 517, 0, 0, 0, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 377, 378, 0, 0, 0, + 154, 0, 0, 0, 0, 505, 0, 0, 0, 0, + 505, 0, 0, 0, 397, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 505, 505, 0, 0, + 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 239, 0, 423, 425, 425, + 0, 231, 0, 0, 0, 433, 0, 0, 0, 0, + 0, 649, 647, 648, 505, 0, 0, 0, 0, 154, + 154, 0, 0, 457, 0, 0, 425, 0, 0, 0, + 634, 0, 425, 290, 636, 635, 0, 0, 425, 425, + 0, 0, 0, 0, 425, 481, 0, 0, 0, 634, + 486, 660, 642, 636, 635, 0, 0, 0, 654, 655, + 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, + 639, 640, 638, 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 384, 695, 695, 0, 0, 0, 0, 839, - 0, 231, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 413, 0, 336, 793, 0, 0, 0, 0, - 0, 912, 0, 0, 0, 0, 0, 231, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 0, 0, 469, - 0, 469, 0, 826, 0, 0, 0, 0, 0, 0, - 469, 425, 425, 0, 0, 0, 0, 0, 154, 842, - 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 634, 0, 953, 642, 636, - 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, - 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, - 659, 644, 645, 646, 637, 639, 640, 638, 858, 0, - 168, 170, 169, 191, 0, 866, 0, 0, 0, 0, - 0, 0, 805, 0, 0, 0, 0, 0, 231, 0, - 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 425, 0, 0, 0, 413, 834, - 192, 172, 176, 175, 231, 0, 0, 0, 0, 0, - 0, 453, 0, 0, 0, 0, 613, 0, 0, 172, - 176, 175, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 0, 0, 0, 0, 425, 0, 0, 0, 0, + 640, 638, 534, 0, 0, 342, 0, 0, 666, 538, + 539, 540, 541, 542, 0, 669, 670, 671, 672, 673, + 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, + 219, 220, 212, 0, 634, 0, 543, 642, 636, 635, + 0, 0, 889, 0, 0, 0, 0, 0, 890, 0, + 0, 888, 154, 0, 0, 0, 0, 0, 0, 231, + 231, 231, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 272, 0, 231, + 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, + 219, 220, 212, 0, 0, 0, 0, 0, 0, 587, + 0, 0, 895, 896, 897, 894, 893, 892, 0, 0, + 0, 889, 0, 0, 0, 0, 231, 890, 231, 0, + 888, 0, 602, 604, 937, 0, 0, 231, 0, 0, + 154, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 774, 775, 777, 0, 0, + 666, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 895, 896, 897, 894, 893, 892, 0, 0, 0, + 0, 0, 0, 0, 634, 0, 0, 642, 636, 635, + 649, 647, 648, 881, 0, 0, 0, 0, 0, 0, + 691, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 0, 634, 844, + 660, 642, 636, 635, 726, 231, 170, 169, 191, 0, + 425, 732, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 154, 651, 650, 641, 643, 654, 655, 652, 653, + 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, + 638, 743, 0, 845, 0, 192, 172, 176, 175, 848, + 849, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 695, 0, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 469, - 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, - 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, - 47, 49, 0, 0, 0, 413, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 624, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, - 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 489, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 0, 634, 0, 0, 642, 636, 635, 336, 793, 0, + 0, 0, 0, 911, 0, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 231, 650, 641, 643, 654, + 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, + 637, 639, 640, 638, 0, 0, 826, 0, 0, 0, + 0, 231, 0, 0, 425, 425, 0, 834, 192, 172, + 176, 175, 841, 0, 0, 0, 154, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 952, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 18, 857, 20, 0, 32, 0, 33, 0, 865, 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, - 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 7, 45, 47, 49, 0, 0, 0, 425, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 624, + 34, 0, 62, 0, 96, 0, 0, 425, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 12, 87, 120, 0, 29, 336, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, + 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, + 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1079, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 489, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 15, + 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, + 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 1069, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, @@ -908,138 +862,7 @@ var yyAct = [...]int{ 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 1059, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 1054, 32, 0, - 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 1019, 34, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 996, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 995, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 993, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 992, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 930, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 855, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 551, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 325, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 1078, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, @@ -1052,33 +875,164 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 1068, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 1038, 62, 0, 96, + 0, 91, 76, 16, 1058, 34, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 1053, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 1018, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 995, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 994, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 992, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 991, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 929, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 854, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 551, 34, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 927, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -1091,7 +1045,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 810, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 1037, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -1104,7 +1058,7 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 679, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 926, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, @@ -1115,151 +1069,190 @@ var yyAct = [...]int{ 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 649, 647, 648, + 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 783, 0, 0, 91, 76, 16, 0, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 0, 786, 634, 0, 660, 642, 636, - 635, 649, 647, 648, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 736, 0, 0, 651, - 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, - 659, 644, 645, 646, 637, 639, 640, 638, 0, 634, - 0, 660, 642, 636, 635, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, - 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 810, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 679, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 0, 34, 0, 62, 0, 96, 172, 176, 175, 57, + 56, 58, 59, 72, 119, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 733, 0, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 0, 0, 168, + 182, 174, 177, 179, 180, 178, 0, 0, 839, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 649, + 647, 648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 783, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 786, 634, 0, 660, + 642, 636, 635, 649, 647, 648, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, + 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, + 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 0, 634, 0, 660, 642, 636, 635, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 651, 650, 641, 643, 654, + 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, + 637, 639, 640, 638, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 733, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 690, 0, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 690, 0, 0, 0, 0, 192, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 687, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 687, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 623, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 623, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 620, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 620, 0, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, + 182, 174, 177, 179, 180, 178, 598, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 598, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 577, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 577, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 396, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 420, 0, 0, - 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 389, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, + 190, 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 340, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 338, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 165, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 649, 647, 648, 0, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 420, + 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 634, 0, 660, 642, 636, 635, + 179, 180, 178, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 389, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 0, 0, 0, - 192, 172, 176, 175, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 192, 172, 176, 175, 0, 648, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 634, 0, 660, 642, 636, 635, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 0, 192, 172, - 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, + 177, 179, 180, 178, 340, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 338, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 165, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 649, 647, + 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 0, 634, 0, 660, 642, + 636, 635, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 192, - 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, + 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, + 657, 659, 644, 645, 646, 637, 639, 640, 638, 0, + 0, 0, 192, 172, 176, 175, 647, 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 0, 172, 176, 175, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 634, 0, 660, 642, 636, 635, 0, + 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 651, 650, 641, + 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, + 645, 646, 637, 639, 640, 638, 634, 0, 660, 642, + 636, 635, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, + 657, 659, 644, 645, 646, 637, 639, 640, 638, 0, + 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 615, 84, 85, 86, 191, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 608, 96, 176, 175, 614, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 615, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 634, 91, 76, 642, 636, 635, - 0, 62, 0, 96, 0, 0, 614, 57, 56, 58, - 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 82, 83, 71, + 180, 178, 634, 0, 660, 642, 636, 635, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 651, 650, 641, 643, + 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, + 646, 637, 639, 640, 638, 634, 0, 0, 642, 636, + 635, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, + 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, + 659, 644, 645, 646, 637, 639, 640, 638, 0, 172, + 176, 175, 0, 0, 0, 0, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 615, 84, 85, 86, 191, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 0, 0, 62, 608, 96, 176, 175, + 614, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 191, + 0, 0, 148, 112, 108, 102, 615, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 172, 176, 175, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 614, 57, 56, 58, 59, 72, 119, 0, 0, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1272,7 +1265,7 @@ var yyAct = [...]int{ 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 843, 57, 56, 58, 59, 72, 119, 82, 83, + 0, 842, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1322,15 +1315,15 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 84, 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 422, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 422, 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 0, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, @@ -1438,200 +1431,200 @@ var yyAct = [...]int{ } var yyPact = [...]int{ - -1000, -1000, 2579, -1000, -1000, -1000, -1000, 355, 550, 588, - 116, -1000, 367, -1000, -1000, 891, -1000, 280, -1000, -1000, - 353, 280, 7670, 7539, 7408, 417, 187, 774, 7801, -1000, - 5855, 352, 351, -1000, -1000, 445, 7801, 890, 67, 889, - 888, 7801, -1000, -1000, -1000, -1000, 711, -1000, 706, -1000, - 1212, 349, 7801, 472, 57, 57, 7801, 7801, 7801, 7801, - -1000, -1000, 8063, -1000, 7801, 7801, 7801, 7801, 7801, 7801, - 7801, 342, -1000, -1000, 216, 203, 795, 7801, 681, 159, - 339, 337, 7801, 7801, 335, 7801, 7801, -1000, 202, -1000, - -1000, 755, 745, -1000, 198, 332, 7015, -1000, 185, 180, - -1000, 520, 852, 640, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 139, 184, -1000, 639, -1000, -1000, 444, - -1000, 273, 374, -1000, 852, -1000, 110, 624, 610, -1000, - 666, 852, -1000, 887, -1000, 11, 4282, 364, 8063, 280, - 5068, 7801, -1000, -1000, 5808, -1000, 67, 754, 605, -1000, - 5761, -1000, 416, 1084, 5943, -1000, 108, -1000, -1000, 408, - 107, 67, -6, 58, 5943, -1000, -1000, -1000, -1000, -1000, - 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, - 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, - 7801, 159, 362, 57, 7801, 328, -1000, 5714, 415, 885, - -1000, 691, -1000, -1000, 1212, 5667, -1000, -1000, 7277, 7801, - 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, 7801, - 7801, 363, -1000, -1000, -1000, -1000, -1000, 520, 593, 852, - 638, 634, -1000, -1000, -103, -103, -27, -103, 272, 5623, - 270, -103, -103, -103, -103, -103, -103, -103, -1000, 7146, - -1000, 7801, 7801, 7801, 450, 698, 752, -1000, 285, 7932, - 57, 6112, 114, -1000, 623, -1000, 520, 551, 852, 679, - 139, 184, 620, 7801, 7801, 5943, 5943, 7801, 5943, 5943, - 7801, 554, 698, 676, -1000, 713, 7801, 7015, 147, 39, - 5579, 57, 7801, 7801, 878, 290, 520, 305, 7801, 7801, - 139, 444, 121, 290, 7801, 413, -1000, -1000, 2448, 520, - -1000, 658, 30, -1000, 655, 852, 14, -1000, 651, 852, - 876, 650, -16, 8223, -1000, -1000, -1000, -1000, -1000, 321, - 5068, -1000, -1000, 789, 411, 37, 5943, 324, -1000, -1000, - -1000, -1000, -1000, -1000, 187, -1000, 7801, -1000, -1000, 831, - -1000, 8223, -1000, 7801, 7801, 7801, 7801, 7801, 6071, 6851, - 6314, 1353, -3, -3, -3, -27, -103, -27, -27, 271, - 271, 1152, 1152, 1152, 1152, 428, 428, 428, 428, -1000, - 7801, -1000, 33, -1000, -1000, 1187, 779, 870, 4151, -1000, - -1000, -1000, 317, -1000, 599, 690, 7801, 6112, 323, 6112, - 6112, 6112, 6112, 6112, 6112, 6112, 6112, 6112, 6112, 6112, - 6112, 21, -1000, -1000, 309, 852, 520, 114, 114, -1000, - -1000, -1000, -1000, -103, 146, 5943, 144, -1000, -1000, -1000, - -1000, 814, 868, 5498, 175, 425, -1000, 211, -1000, -1000, - 139, 184, -1000, 7801, 290, 165, 852, 520, -1000, 139, - 165, 3, -1000, 1212, -1000, 1055, 269, 5450, 142, -1000, - -1000, -1000, 141, 268, -1000, -1000, 6865, 6734, -1000, -1000, - 137, 136, -1000, -1000, 6317, 290, -1000, -1000, -1000, -1000, - 134, 5406, -1000, -1000, -1000, -1000, 5358, -1000, 2317, -1000, - 290, -1000, -1000, 624, 867, 600, -1000, 610, 866, 594, - -1000, 864, 8223, -1000, 5899, -1000, -1000, 520, 539, 852, - 308, 8223, -1000, -1000, -1000, -1000, 710, 618, 8223, 8223, - 8223, 8223, 8223, 252, -1000, -1000, 4937, -1000, -1000, -1000, - -1000, 409, 407, -1000, 5310, -21, 302, -1000, 5943, 2121, - 951, 5986, 6112, 5262, 7801, 404, 57, 168, 168, -1, - -23, 741, 300, 612, 686, -1000, 520, 536, 852, 443, - 599, -1000, 1212, -1000, 159, -44, 363, -1000, 520, -1000, - -1000, -1000, 133, -1000, -1000, -1000, -1000, -1000, 7801, -1000, - -1000, 173, 170, 290, 7801, 7801, 139, 5216, -1000, -1000, - -1000, 520, 114, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 5168, 57, 5943, 57, -1000, -1000, -1000, -34, - 250, -1000, -1000, 1212, 57, 7801, -1000, 290, 290, -1000, - -1000, 290, 290, -1000, -1000, -1000, -1000, -1000, 856, -1000, - -1000, 854, -1000, -1000, 8223, 8223, 8223, 8223, 8223, 8223, - 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, - 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, - 8148, 852, 520, 8223, 130, 32, 5124, 644, 763, -55, - -55, -48, -48, 5080, 403, -1000, 4413, -1000, -1000, -1000, - 280, 7801, 7801, 468, -1000, 825, -1000, -1000, 8223, 612, - -1000, 6153, -1000, -1000, 668, -1000, 57, 296, 668, 4806, - 853, 8223, 737, 294, 612, 247, 15, -1000, 67, -1000, - -1000, -1000, 437, 599, 852, 520, -1000, -33, -1000, -1000, - 7801, -1000, 363, -1000, 179, -1000, 2103, 672, 7801, 7801, - -1000, 113, 1939, -1000, -1000, 7801, 6603, -1000, -1000, -1000, - 6448, -1000, -1000, 5943, -1000, -1000, -1000, -1000, -1000, -1000, - 1688, -48, -48, -55, -55, -55, -55, 6439, 224, 1666, - 23, 23, -48, 6029, 1789, 1884, 124, 2020, 636, 636, - 636, 636, -57, -57, -57, -57, 8223, 1217, 520, 246, - -1000, -1000, 8223, 8223, -1000, -1000, -1000, -1000, 523, -1000, - 4020, 395, 394, 5943, -1000, 7801, 307, 459, 393, 822, - -1000, 243, 7801, 238, 168, -1000, -1000, 235, -1000, -1000, - -1000, -45, -1000, -1000, -1000, -1000, 234, 732, 612, 503, - -1000, -33, 520, 849, 599, 290, 6112, -36, -1000, 140, - 672, 7801, -1000, 114, 424, -1000, 106, 75, -1000, -1000, - -1000, -1000, 5943, 57, -1000, -1000, 1553, 8223, -1000, 1837, - 5899, -1000, 280, 5068, 518, 392, -1000, -1000, 54, -1000, - -1000, -1000, -1000, -1000, 388, 732, 6153, 4675, -1000, 363, - 4675, 3889, 8223, 434, 599, 433, 432, 284, -1000, 828, - -1000, 368, -1000, -1000, -1000, -35, -1000, 754, 482, -1000, - 851, 599, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 7801, 672, -1000, 74, -1000, -1000, -1000, -1000, - 674, -1000, 1553, 8223, -1000, -1000, 474, 280, 361, -1000, - 7801, -1000, -1000, -1000, 431, -1000, -1000, -1000, -39, -1000, - 387, -1000, -1000, -1000, -1000, -1000, 232, -52, -1000, 821, - -1000, 850, 67, -1000, -58, -40, -1000, 72, 672, -1000, - -1000, -1000, 114, 5899, 5068, 386, 286, -1000, 227, -1000, - 4413, -1000, 3758, -1000, -1000, 3627, 818, 3496, 3365, -41, - -1000, 811, 8223, -46, -62, -65, 837, 8223, -1000, 599, - -1000, 604, -1000, -1000, -1000, -1000, -1000, -1000, 4413, -1000, - 4413, 3234, 384, -1000, 223, -1000, -1000, -1000, 212, -1000, - -1000, -1000, 806, 8223, 8223, -1000, -1000, -1000, 310, 604, - -1000, 383, 378, 725, 775, 522, -1000, -1000, 4544, -1000, - -1000, -1000, -1000, 805, -70, -1000, -1000, 233, -1000, -1000, - -1000, -1000, 599, 482, 835, 4413, -1000, -1000, -1000, 427, - -1000, 8223, 612, -38, -1000, 827, -1000, -1000, 3103, -1000, - -1000, 222, 599, -1000, 375, 2972, 360, -1000, -1000, -1000, - -1000, -1000, -1000, 740, 2841, -1000, 740, -1000, 186, -1000, - -1000, 599, -1000, 802, 221, -1000, 410, -1000, 2710, -1000, + -1000, -1000, 2381, -1000, -1000, -1000, -1000, 332, 589, 666, + 150, -1000, 353, -1000, -1000, 849, -1000, 254, -1000, -1000, + 331, 254, 7600, 7469, 7338, 409, 172, 770, 7731, -1000, + 5737, 329, 327, -1000, -1000, 426, 7731, 845, 55, 839, + 832, 7731, -1000, -1000, -1000, -1000, 665, -1000, 657, -1000, + 1634, 325, 7731, 452, 362, 362, 7731, 7731, 7731, 7731, + -1000, -1000, 7993, -1000, 7731, 7731, 7731, 7731, 7731, 7731, + 7731, 323, -1000, -1000, 209, 208, 784, 7731, 572, 407, + 320, 317, 7731, 7731, 313, 7731, 7731, -1000, 204, -1000, + -1000, 775, 714, -1000, 203, 312, 6945, -1000, 198, 193, + -1000, 489, 802, 532, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 158, 168, -1000, 523, -1000, -1000, 425, + -1000, 269, 345, -1000, 802, -1000, 145, 597, 587, -1000, + 682, 802, -1000, 830, -1000, -10, 4084, 352, 7993, 254, + 4870, 7731, -1000, -1000, 5690, -1000, 55, 687, 505, -1000, + 5643, -1000, 404, 1574, 5825, -1000, 143, -1000, -1000, 202, + 139, 55, -18, 138, 5825, -1000, -1000, -1000, -1000, -1000, + 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, + 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, + 7731, 407, 346, 362, 7731, 297, -1000, 5596, 403, 826, + -1000, 639, -1000, -1000, 1634, 5549, -1000, -1000, 7207, 7731, + 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, + 7731, 380, -1000, -1000, -1000, -1000, -1000, 489, 504, 802, + 518, 514, -1000, -1000, -107, -107, -8, -107, 265, 5505, + 264, -107, -107, -107, -107, -107, -107, -107, -1000, 7076, + -1000, 7731, 7731, 7731, 428, 722, 761, -1000, 238, 7862, + 362, 5994, 67, -1000, 513, -1000, 489, 502, 802, 571, + 158, 168, 512, 7731, 7731, 5825, 5825, 7731, 5825, 5825, + 7731, 517, 722, 683, -1000, 704, 7731, 6945, 185, 42, + 5461, 362, 7731, 7731, 825, 275, 489, 53, 7731, 7731, + 158, 425, 79, 275, 7731, 395, -1000, -1000, 2250, 489, + -1000, 673, 111, -1000, 669, 802, -11, -1000, 667, 802, + 824, 663, -19, 8153, -1000, -1000, -1000, -1000, -1000, 290, + 4870, -1000, -1000, 745, 394, 41, 5825, 296, -1000, -1000, + -1000, -1000, -1000, -1000, 172, -1000, 7731, -1000, -1000, 782, + -1000, 8153, -1000, 7731, 7731, 7731, 7731, 7731, 5953, 6781, + 6249, 7074, 74, 74, 74, -8, -107, -8, -8, -9, + -9, 1106, 1106, 1106, 1106, 267, 267, 267, 267, -1000, + 7731, -1000, 107, -1000, -1000, 1313, 724, 821, 3953, -1000, + -1000, -1000, 288, -1000, 593, 615, 7731, 5994, 253, 5994, + 5994, 5994, 5994, 5994, 5994, 5994, 5994, 5994, 5994, 5994, + 5994, 94, -1000, -1000, 287, 802, 489, 67, 67, -1000, + -1000, -1000, -1000, -107, 175, 5825, 171, -1000, -1000, -1000, + -1000, 844, 820, 5380, 190, 413, -1000, 169, -1000, -1000, + 158, 168, -1000, 7731, 275, 162, 802, 489, -1000, 158, + 162, 76, -1000, 1634, -1000, 808, 262, 5332, 165, -1000, + -1000, -1000, 161, 252, -1000, -1000, 6795, 6664, -1000, -1000, + 149, 146, -1000, -1000, 6252, 275, -1000, -1000, -1000, -1000, + 141, 5288, -1000, -1000, -1000, -1000, 5240, -1000, 2119, -1000, + 275, -1000, -1000, 597, 819, 658, -1000, 587, 814, 655, + -1000, 812, 8153, -1000, 5781, -1000, -1000, 489, 501, 802, + 286, 8153, -1000, -1000, -1000, -1000, 671, 511, 8153, 8153, + 8153, 8153, 8153, 247, -1000, -1000, 4739, -1000, -1000, -1000, + -1000, 392, 390, -1000, 5192, -25, 284, -1000, 5825, 6121, + 6369, 1838, 5994, 5144, 7731, 388, 362, 363, 363, 46, + -39, 703, 283, 675, 576, -1000, 489, 492, 802, 424, + 593, -1000, 1634, -1000, 407, -40, 380, -1000, 489, -1000, + -1000, -1000, 118, -1000, -1000, -1000, -1000, -1000, 7731, -1000, + -1000, 189, 92, 275, 7731, 7731, 158, 5098, -1000, -1000, + -1000, 489, 67, -1000, -1000, 7731, -1000, -1000, -1000, -1000, + -1000, -1000, 5050, 362, 5825, 362, -1000, -1000, -1000, 44, + 244, -1000, -1000, 1634, 362, 7731, -1000, 275, 275, -1000, + -1000, 275, 275, -1000, -1000, -1000, -1000, -1000, 811, -1000, + -1000, 806, -1000, -1000, 8153, 8153, 8153, 8153, 8153, 8153, + 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, + 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, + 8078, 802, 489, 8153, 109, 32, 5006, 520, 720, -66, + -66, 40, 40, 4962, 387, -1000, 4215, -1000, -1000, -1000, + 254, 7731, 7731, 448, -1000, 795, -1000, -1000, 8153, 675, + -1000, 4868, -1000, -1000, 544, -1000, 362, 282, 544, 4608, + 805, 8153, 668, 281, 675, 236, 26, -1000, 55, -1000, + -1000, -1000, 423, 593, 802, 489, -1000, -1, -1000, -1000, + 7731, -1000, 380, -1000, 205, -1000, 1951, 556, 7731, 7731, + -1000, 108, 4918, -1000, -1000, -1000, 6533, -1000, -1000, -1000, + 6383, -1000, -1000, 5825, -1000, -1000, -1000, -1000, -1000, -1000, + 1793, 40, 40, -66, -66, -66, -66, 1343, 1505, 1599, + 60, 60, 40, 5911, 6037, 5868, 1749, 1896, 91, 91, + 91, 91, 218, 218, 218, 218, 8153, 1172, 489, 234, + -1000, -1000, 8153, 8153, -1000, -1000, -1000, -1000, 486, -1000, + 3822, 386, 385, 5825, -1000, 7731, 279, 440, 383, 771, + -1000, 230, 7731, 229, 363, -1000, -1000, 226, -1000, -1000, + -1000, -42, -1000, -1000, -1000, -1000, 225, 676, 675, 400, + -1000, -1, 489, 1763, 593, 275, 5994, 38, -1000, 77, + 556, 7731, -1000, 67, 411, -1000, 89, 82, -1000, -1000, + -1000, 5825, 362, -1000, -1000, 6080, 8153, -1000, 1524, 5781, + -1000, 254, 4870, 484, 381, -1000, -1000, -14, -1000, -1000, + -1000, -1000, -1000, 379, 676, 4868, 4477, -1000, 380, 4477, + 3691, 8153, 421, 593, 419, 417, 271, -1000, 781, -1000, + 1694, -1000, -1000, -1000, -26, -1000, 687, 524, -1000, 801, + 593, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 7731, 556, -1000, 70, -1000, -1000, -1000, -1000, 557, + -1000, 6080, 8153, -1000, -1000, 457, 254, 341, -1000, 7731, + -1000, -1000, -1000, 416, -1000, -1000, -1000, -5, -1000, 372, + -1000, -1000, -1000, -1000, -1000, 181, -43, -1000, 776, -1000, + 798, 55, -1000, -44, -35, -1000, 69, 556, -1000, -1000, + -1000, 67, 5781, 4870, 371, 335, -1000, 222, -1000, 4215, + -1000, 3560, -1000, -1000, 3429, 774, 3298, 3167, -12, -1000, + 773, 8153, -31, -48, -58, 796, 8153, -1000, 593, -1000, + 599, -1000, -1000, -1000, -1000, -1000, -1000, 4215, -1000, 4215, + 3036, 364, -1000, 221, -1000, -1000, -1000, 176, -1000, -1000, + -1000, 762, 8153, 8153, -1000, -1000, -1000, 408, 599, -1000, + 361, 358, 674, 721, 488, -1000, -1000, 4346, -1000, -1000, + -1000, -1000, 758, -69, -1000, -1000, 239, -1000, -1000, -1000, + -1000, 593, 524, 790, 4215, -1000, -1000, -1000, 382, -1000, + 8153, 675, -2, -1000, 787, -1000, -1000, 2905, -1000, -1000, + 217, 593, -1000, 206, 2774, 348, -1000, -1000, -1000, -1000, + -1000, -1000, 677, 2643, -1000, 677, -1000, 110, -1000, -1000, + 593, -1000, 755, 214, -1000, 365, -1000, 2512, -1000, } var yyPgo = [...]int{ - 0, 1217, 60, 47, 41, 619, 1215, 1213, 31, 517, - 1364, 20, 1392, 51, 65, 59, 780, 1505, 1212, 42, - 1211, 1210, 1209, 13, 1208, 53, 52, 1207, 1204, 1190, - 1189, 82, 1188, 1187, 61, 0, 1186, 1185, 1184, 5, - 1183, 1182, 574, 34, 1180, 54, 46, 1151, 26, 1150, - 1149, 1148, 1147, 1146, 1145, 1144, 1143, 1137, 1136, 1135, - 1134, 1133, 18, 1130, 1129, 1128, 1127, 1126, 1125, 58, - 1124, 1120, 29, 35, 12, 1119, 1100, 1099, 1098, 1097, - 1096, 14, 1095, 1093, 1092, 1091, 1090, 1089, 2, 1088, - 1085, 40, 1077, 1076, 11, 1075, 22, 1074, 3, 1073, - 1070, 1063, 1062, 28, 1061, 1060, 1059, 33, 1054, 21, - 37, 23, 1052, 1051, 1050, 1049, 1048, 27, 1045, 137, - 1034, 30, 1031, 1028, 1027, 1026, 1022, 1021, 1019, 1018, - 1017, 1015, 1012, 1009, 1008, 6, 1007, 1006, 1003, 1002, - 1001, 1000, 1, 999, 998, 997, 15, 7, 995, 993, - 992, 989, 986, 743, 43, 981, 24, 979, 977, 976, - 975, 974, 972, 966, 964, 962, 960, 959, 958, 957, - 953, 946, 945, 19, 942, 62, 937, 936, 935, 934, - 45, 932, 8, 931, 930, 929, 927, 926, 924, 17, - 922, 921, 920, 1233, 39, 918, 917, 38, 4, 915, - 913, 912, 911, 909, 908, 907, 36, 905, 904, 902, - 32, 859, + 0, 1161, 52, 45, 39, 573, 1159, 1158, 7, 471, + 1202, 32, 1345, 24, 68, 62, 713, 15, 1157, 51, + 1156, 1155, 1153, 28, 1152, 46, 50, 1151, 1150, 1149, + 1148, 83, 1146, 1145, 37, 1144, 47, 0, 1143, 1142, + 1141, 6, 1140, 1139, 581, 1138, 1137, 54, 5, 1136, + 69, 61, 1133, 26, 1105, 1104, 1103, 1102, 1101, 1100, + 1099, 1098, 1097, 1088, 1084, 1082, 1081, 17, 1080, 1078, + 1074, 1073, 1072, 1070, 43, 1065, 1063, 27, 34, 23, + 1062, 1058, 1057, 1056, 1051, 1050, 8, 1049, 1048, 1047, + 1045, 1039, 1035, 3, 1034, 1033, 38, 1031, 1030, 16, + 1029, 99, 1028, 1, 1026, 1025, 1024, 1021, 29, 1016, + 1015, 1014, 33, 1013, 18, 42, 21, 1012, 1010, 1008, + 1007, 1006, 25, 1005, 191, 1002, 30, 1001, 1000, 999, + 998, 997, 996, 995, 988, 985, 984, 980, 978, 976, + 2, 975, 973, 969, 968, 966, 960, 4, 942, 939, + 936, 13, 14, 935, 931, 930, 929, 927, 680, 53, + 926, 22, 924, 923, 921, 920, 919, 918, 917, 915, + 914, 912, 911, 910, 909, 908, 907, 20, 906, 904, + 903, 902, 901, 58, 900, 19, 896, 894, 889, 888, + 886, 883, 12, 880, 877, 876, 1186, 36, 875, 873, + 35, 11, 871, 868, 867, 866, 865, 863, 862, 41, + 818, } var yyR1 = [...]int{ - 0, 44, 34, 34, 35, 35, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 36, 36, 2, - 2, 2, 2, 37, 37, 3, 3, 3, 3, 38, - 38, 4, 4, 4, 4, 47, 47, 39, 39, 22, - 22, 22, 22, 23, 23, 24, 49, 50, 24, 53, - 54, 24, 57, 58, 24, 60, 61, 24, 63, 64, - 65, 24, 67, 24, 24, 24, 24, 24, 24, 24, + 0, 49, 36, 36, 37, 37, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 38, 38, 2, + 2, 2, 2, 39, 39, 3, 3, 3, 3, 40, + 40, 4, 4, 4, 4, 52, 52, 41, 41, 22, + 22, 22, 22, 23, 23, 24, 54, 55, 24, 58, + 59, 24, 62, 63, 24, 65, 66, 24, 68, 69, + 70, 24, 72, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 75, 24, 24, 24, 24, 24, 78, 80, 82, 83, - 84, 78, 79, 86, 79, 85, 85, 87, 87, 89, - 90, 88, 71, 71, 91, 45, 46, 94, 94, 95, - 95, 97, 92, 101, 93, 105, 93, 99, 99, 99, - 99, 100, 100, 104, 106, 106, 102, 102, 107, 107, - 73, 73, 72, 72, 108, 72, 66, 66, 74, 74, - 77, 77, 76, 76, 68, 68, 68, 68, 110, 112, - 110, 113, 110, 111, 111, 59, 59, 51, 114, 51, - 55, 115, 55, 52, 52, 56, 56, 98, 98, 116, - 116, 117, 117, 118, 118, 118, 118, 119, 119, 119, - 120, 120, 121, 121, 121, 121, 40, 40, 25, 25, - 25, 41, 41, 41, 41, 103, 103, 124, 122, 122, - 122, 129, 122, 127, 131, 131, 132, 132, 133, 133, - 134, 134, 135, 135, 136, 139, 139, 140, 140, 138, - 137, 137, 141, 141, 130, 130, 123, 123, 128, 128, - 143, 143, 142, 142, 142, 142, 142, 142, 125, 125, - 125, 125, 126, 126, 70, 70, 62, 62, 145, 144, - 144, 146, 146, 148, 148, 150, 149, 149, 149, 151, - 152, 151, 155, 153, 13, 13, 13, 157, 13, 13, + 80, 24, 24, 24, 24, 24, 83, 85, 87, 88, + 89, 83, 84, 91, 84, 90, 90, 92, 92, 94, + 95, 93, 76, 76, 96, 50, 51, 99, 99, 100, + 100, 102, 97, 106, 98, 110, 98, 104, 104, 104, + 104, 105, 105, 109, 111, 111, 107, 107, 112, 112, + 78, 78, 77, 77, 113, 77, 71, 71, 79, 79, + 82, 82, 81, 81, 73, 73, 73, 73, 115, 117, + 115, 118, 115, 116, 116, 64, 64, 56, 119, 56, + 60, 120, 60, 57, 57, 61, 61, 103, 103, 121, + 121, 122, 122, 123, 123, 123, 123, 124, 124, 124, + 125, 125, 126, 126, 126, 126, 42, 42, 25, 25, + 25, 43, 43, 43, 43, 108, 108, 129, 127, 127, + 127, 134, 127, 132, 136, 136, 137, 137, 138, 138, + 139, 139, 140, 140, 141, 144, 144, 145, 145, 143, + 142, 142, 146, 146, 135, 135, 128, 128, 133, 133, + 148, 148, 147, 147, 147, 147, 147, 147, 130, 130, + 130, 130, 131, 131, 75, 75, 67, 67, 150, 149, + 149, 151, 151, 153, 153, 155, 154, 154, 154, 156, + 157, 156, 160, 158, 13, 13, 13, 162, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 158, 13, 159, 13, - 160, 13, 161, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 163, 13, 164, 13, + 165, 13, 166, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 162, 13, 163, 164, 13, 165, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 168, 13, - 13, 13, 13, 13, 13, 13, 172, 13, 174, 13, - 69, 69, 69, 69, 169, 169, 169, 169, 170, 170, - 96, 173, 173, 176, 176, 176, 176, 177, 21, 178, - 21, 179, 21, 181, 21, 183, 21, 184, 21, 185, - 21, 186, 21, 9, 9, 9, 9, 81, 81, 81, - 154, 154, 188, 190, 187, 187, 191, 191, 192, 167, - 167, 167, 171, 171, 171, 156, 156, 5, 5, 5, + 13, 13, 167, 13, 168, 169, 13, 170, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 172, 13, + 13, 13, 13, 13, 13, 13, 176, 13, 178, 13, + 74, 74, 74, 74, 173, 173, 173, 173, 174, 174, + 101, 177, 177, 179, 179, 179, 179, 180, 21, 181, + 21, 182, 21, 184, 21, 186, 21, 187, 21, 188, + 21, 189, 21, 9, 9, 9, 9, 86, 86, 86, + 159, 159, 191, 193, 190, 190, 194, 194, 195, 171, + 171, 171, 175, 175, 175, 161, 161, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, - 26, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 33, 33, 33, 33, 27, 27, - 27, 27, 27, 27, 27, 194, 194, 197, 197, 196, - 196, 196, 196, 12, 12, 48, 48, 14, 15, 16, - 17, 17, 199, 199, 200, 147, 201, 201, 203, 202, - 198, 198, 198, 182, 182, 204, 204, 10, 20, 20, + 26, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 198, 198, 198, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 198, 33, 33, 33, 33, 27, 27, + 27, 27, 27, 27, 27, 197, 197, 200, 200, 199, + 199, 199, 199, 12, 12, 53, 53, 14, 15, 16, + 17, 17, 202, 202, 203, 152, 204, 204, 206, 205, + 201, 201, 201, 185, 185, 207, 207, 10, 20, 20, 18, 18, 18, 19, 19, 19, 8, 8, 8, 7, - 7, 11, 11, 189, 189, 205, 205, 205, 180, 180, - 43, 43, 109, 109, 206, 207, 206, 206, 175, 175, - 208, 208, 208, 208, 208, 208, 208, 208, 42, 42, - 42, 42, 31, 31, 31, 31, 31, 31, 32, 32, - 32, 166, 166, 166, 166, 166, 166, 166, 166, 209, - 211, 209, 210, 210, 28, 28, 29, 30, + 7, 11, 11, 192, 192, 208, 208, 208, 183, 183, + 48, 48, 114, 114, 209, 210, 209, 209, 47, 47, + 46, 46, 46, 46, 46, 46, 46, 46, 44, 44, + 44, 44, 31, 31, 31, 31, 31, 31, 32, 32, + 32, 35, 35, 35, 35, 35, 35, 35, 35, 45, + 45, 34, 34, 28, 28, 29, 30, } var yyR2 = [...]int{ @@ -1692,118 +1685,118 @@ var yyR2 = [...]int{ 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, 1, 2, 1, 4, 3, 3, 6, 3, 1, 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, - 0, 4, 1, 1, 3, 3, 3, 3, + 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -44, -34, -1, -23, -45, -46, 51, 79, 44, - -47, -24, 10, -92, -93, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -69, 46, 98, 19, 14, - -12, 48, 25, 27, 121, 40, 43, 36, -96, -99, - -104, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -1000, -49, -36, -1, -23, -50, -51, 51, 79, 44, + -52, -24, 10, -97, -98, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -74, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -101, -104, + -109, 97, -14, -13, 37, 52, 99, 53, 100, 54, -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, - -48, -153, 123, -166, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -27, -169, -170, 118, 96, -18, 91, + -53, -158, 123, -35, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -27, -173, -174, 118, 96, -18, 91, 49, 50, 4, 5, 84, 85, 86, 11, -33, -30, -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, - -28, -35, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -43, -204, -10, -182, -7, 134, - 12, 123, -35, 119, 82, 10, -36, 37, 38, -2, - -35, 82, 121, 135, 122, 10, -39, -48, 123, -57, - -60, 123, -48, 121, -12, 97, -96, 98, 79, 121, - -12, 121, -13, -17, -12, 121, -40, -25, 12, 134, - -41, -96, 12, -70, -12, 121, 149, 150, 87, 89, + -28, -37, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -48, -207, -10, -185, -7, 134, + 12, 123, -37, 119, 82, 10, -38, 37, 38, -2, + -37, 82, 121, 135, 122, 10, -41, -53, 123, -62, + -65, 123, -53, 121, -12, 97, -101, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -42, -25, 12, 134, + -43, -101, 12, -75, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -75, 119, -12, 10, -94, + 160, 90, 127, 123, 123, -80, 119, -12, 10, -99, 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -12, 104, 105, -16, -17, -35, 79, 82, - -9, -10, 98, -16, -12, -12, -12, -12, -153, -12, - -69, -12, -12, -12, -12, -12, -12, -12, -167, 123, - -48, -168, 125, 125, -171, 17, -42, -31, 12, 76, - 77, -12, 57, -154, -9, -187, -35, 79, 82, -19, - -8, -43, -10, 123, 123, -12, -12, 123, -12, -12, - 125, -42, 17, 17, 75, -42, 125, 123, -175, -208, - -12, 128, 125, 125, 82, -177, -35, 78, 125, 119, - -8, 134, 78, -186, 119, 124, 121, 119, -34, -35, - 121, 135, -37, -3, -35, 82, -38, -4, -35, 82, - 29, -35, 10, 136, -22, 120, -23, -45, -46, 51, - -49, 122, -48, -23, -62, -144, -12, -67, 121, -94, + 147, 123, -12, 104, 105, -16, -17, -37, 79, 82, + -9, -10, 98, -16, -12, -12, -12, -12, -158, -12, + -74, -12, -12, -12, -12, -12, -12, -12, -171, 123, + -53, -172, 125, 125, -175, 17, -44, -31, 12, 76, + 77, -12, 57, -159, -9, -190, -37, 79, 82, -19, + -8, -48, -10, 123, 123, -12, -12, 123, -12, -12, + 125, -44, 17, 17, 75, -44, 125, 123, -47, -46, + -12, 128, 125, 125, 82, -180, -37, 78, 125, 119, + -8, 134, 78, -189, 119, 124, 121, 119, -36, -37, + 121, 135, -39, -3, -37, 82, -40, -4, -37, 82, + 29, -37, 10, 136, -22, 120, -23, -50, -51, 51, + -54, 122, -53, -23, -67, -149, -12, -72, 121, -99, 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, - -94, 136, 121, 135, -158, -159, -160, -161, -12, -12, + -99, 136, 121, 135, -163, -164, -165, -166, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -154, - -163, 122, -71, -91, -17, -17, -13, 123, -39, 121, - 121, 10, -172, -100, 55, -105, 58, -12, 128, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -159, + -168, 122, -76, -96, -17, -17, -13, 123, -41, 121, + 121, 10, -176, -105, 55, -110, 58, -12, 128, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -109, -206, -17, 59, 82, -35, 78, 78, 124, + -12, -114, -209, -17, 59, 82, -37, 78, 78, 124, 124, 124, 124, -12, -11, -12, -11, 118, -31, -31, - 17, 125, 57, -12, 11, -17, -189, -205, -182, -180, - -8, -43, 10, 119, -155, 78, 82, -35, 57, -8, - 78, -209, -210, -17, -13, -17, -13, -12, -11, 117, - 75, 75, -11, -175, 126, -197, 135, 58, -15, -17, - -11, -11, 10, -119, 123, -179, -180, -182, 10, 52, - -11, -12, -180, -182, 10, -119, -12, 121, -34, 120, - -178, -2, 121, 135, 29, -35, 121, 135, 29, -35, - 10, 29, 136, -26, -193, -5, -29, -35, 79, 82, - 60, 125, -6, 62, -195, 18, 74, -9, 131, 132, - 130, 129, 123, 123, -23, -53, -58, 21, 121, 135, - -68, 119, 122, -25, -12, 12, -174, -26, -12, -12, - -12, -12, -12, -12, -165, 124, 135, 29, 29, -76, - 10, 120, -97, 123, -101, -81, -35, 79, 82, -106, - 55, -13, -17, -17, 91, 124, 135, 123, -35, -162, + 17, 125, 57, -12, 11, -17, -192, -208, -185, -183, + -8, -48, 10, 119, -160, 78, 82, -37, 57, -8, + 78, -45, -34, -17, -13, -17, -13, -12, -11, 117, + 75, 75, -11, -47, 126, -200, 135, 58, -15, -17, + -11, -11, 10, -124, 123, -182, -183, -185, 10, 52, + -11, -12, -183, -185, 10, -124, -12, 121, -36, 120, + -181, -2, 121, 135, 29, -37, 121, 135, 29, -37, + 10, 29, 136, -26, -196, -5, -29, -37, 79, 82, + 60, 125, -6, 62, -198, 18, 74, -9, 131, 132, + 130, 129, 123, 123, -23, -58, -63, 21, 121, 135, + -73, 119, 122, -25, -12, 12, -178, -26, -12, -12, + -12, -12, -12, -12, -170, 124, 135, 29, 29, -81, + 10, 120, -102, 123, -106, -86, -37, 79, 82, -111, + 55, -13, -17, -17, 91, 124, 135, 123, -37, -167, 126, 126, -32, 10, 13, 12, 10, 120, 125, 120, - -198, -202, -201, -203, 125, 119, -8, -12, -156, -119, - -182, -35, -188, -182, 124, 135, 124, 124, 124, 126, - 126, 124, -12, 128, -12, 128, 126, 126, 124, -120, - -69, -121, -13, -17, 128, 83, -119, -181, -183, 126, - 120, -184, -185, 120, 120, -119, -3, 10, 29, -4, + -201, -205, -204, -206, 125, 119, -8, -12, -161, -124, + -185, -37, -191, -185, 124, 135, 124, 124, 124, 126, + 126, 124, -12, 128, -12, 128, 126, 126, 124, -125, + -74, -126, -13, -17, 128, 83, -124, -184, -186, 126, + 120, -187, -188, 120, 120, -124, -3, 10, 29, -4, 10, 29, 10, -26, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -35, 123, -194, -196, -193, 17, 78, -193, - -193, -193, -193, -193, 124, -50, -39, -59, -23, 122, - -61, -63, -145, -110, 121, -110, 121, 120, 136, 123, - 122, -12, 121, -91, -72, -17, 128, 59, -72, 124, - 135, 136, -78, 41, 123, -98, -116, -117, -118, 60, - 61, -81, -102, 56, 82, -35, 119, -107, -81, -154, - 136, -206, -207, -151, -152, 126, -12, -199, 125, 125, - -119, -11, -12, 120, -189, -211, 58, -15, -15, 124, - 135, 124, -15, -12, -119, -119, -119, -119, 10, 10, - -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -193, -193, 122, -193, -35, -194, - 126, -197, 135, 58, 10, 52, 124, 121, -51, -54, - -39, -48, -62, -12, 120, 32, 33, -110, 31, -110, - -26, -98, -164, -73, 58, -17, 123, -73, -77, -23, - 122, 10, -26, -79, 42, 123, -98, 124, 135, -94, - 119, -107, -35, -103, 135, -157, -12, -109, -149, -148, - -146, 125, -147, 57, 126, -147, -11, -11, 126, 120, - -190, -210, -12, 128, -121, 126, -193, 122, 124, -193, - -193, -52, 93, 94, -55, 22, 121, 121, -12, -111, - 122, 121, 120, 121, 31, 124, -12, 124, -72, -108, - 124, -39, 136, -86, -80, 124, -173, 44, -117, -95, - 83, -103, 120, -122, -123, -126, -127, -128, -143, 47, - 38, 44, -142, 103, 102, 101, 98, 99, 100, -81, - -156, 124, 125, -150, -147, -11, -189, 120, 126, 126, - -191, -15, -193, 58, -48, -23, -56, 93, 94, 121, - -64, -111, -113, 121, -173, -74, -23, 122, -109, -74, - 28, -26, 119, -81, 119, 119, 123, 12, 120, -124, - 121, 135, -96, -142, 10, -131, -81, -11, -146, 126, - -200, -192, 57, -193, -114, 95, -48, 122, -62, -112, - -39, 119, -39, 124, 121, -39, -82, -39, -39, -176, - 12, 128, 136, -125, 12, 10, -94, 136, -132, 135, - 121, 119, 126, -198, -189, -23, 121, 122, -39, 124, - -39, -39, 26, 120, 12, 120, 120, 124, 135, 12, - -26, 121, 135, 136, 136, 10, -26, -81, -133, -134, - -135, -136, -137, -138, -140, -81, 10, -115, -65, 120, - 121, 124, 12, 128, 12, -26, -26, -129, 120, -135, - 121, 121, 45, 29, 78, -39, -66, -23, 122, -83, - 12, 136, 123, -139, -81, -141, -142, 10, -39, 119, - -26, -98, 135, 10, 24, -39, 124, -81, 121, 120, - -130, 121, 119, -84, -39, -85, -87, -88, 41, 120, - -88, 123, -81, -89, 12, 124, -90, 119, -39, 120, + 127, 82, -37, 123, -197, -199, -196, 17, 78, -196, + -196, -196, -196, -196, 124, -55, -41, -64, -23, 122, + -66, -68, -150, -115, 121, -115, 121, 120, 136, 123, + 122, -12, 121, -96, -77, -17, 128, 59, -77, 124, + 135, 136, -83, 41, 123, -103, -121, -122, -123, 60, + 61, -86, -107, 56, 82, -37, 119, -112, -86, -159, + 136, -209, -210, -156, -157, 126, -12, -202, 125, 125, + -124, -11, -12, 120, -192, -34, 58, -15, -15, 124, + 135, 124, -15, -12, -124, -124, -124, -124, 10, 10, + -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, + -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, + -196, -196, -196, -196, -196, -196, 122, -196, -37, -197, + 126, -200, 135, 58, 10, 52, 124, 121, -56, -59, + -41, -53, -67, -12, 120, 32, 33, -115, 31, -115, + -26, -103, -169, -78, 58, -17, 123, -78, -82, -23, + 122, 10, -26, -84, 42, 123, -103, 124, 135, -99, + 119, -112, -37, -108, 135, -162, -12, -114, -154, -153, + -151, 125, -152, 57, 126, -152, -11, -11, 126, 120, + -193, -12, 128, -126, 126, -196, 122, 124, -196, -196, + -57, 93, 94, -60, 22, 121, 121, -12, -116, 122, + 121, 120, 121, 31, 124, -12, 124, -77, -113, 124, + -41, 136, -91, -85, 124, -177, 44, -122, -100, 83, + -108, 120, -127, -128, -131, -132, -133, -148, 47, 38, + 44, -147, 103, 102, 101, 98, 99, 100, -86, -161, + 124, 125, -155, -152, -11, -192, 120, 126, 126, -194, + -15, -196, 58, -53, -23, -61, 93, 94, 121, -69, + -116, -118, 121, -177, -79, -23, 122, -114, -79, 28, + -26, 119, -86, 119, 119, 123, 12, 120, -129, 121, + 135, -101, -147, 10, -136, -86, -11, -151, 126, -203, + -195, 57, -196, -119, 95, -53, 122, -67, -117, -41, + 119, -41, 124, 121, -41, -87, -41, -41, -179, 12, + 128, 136, -130, 12, 10, -99, 136, -137, 135, 121, + 119, 126, -201, -192, -23, 121, 122, -41, 124, -41, + -41, 26, 120, 12, 120, 120, 124, 135, 12, -26, + 121, 135, 136, 136, 10, -26, -86, -138, -139, -140, + -141, -142, -143, -145, -86, 10, -120, -70, 120, 121, + 124, 12, 128, 12, -26, -26, -134, 120, -140, 121, + 121, 45, 29, 78, -41, -71, -23, 122, -88, 12, + 136, 123, -144, -86, -146, -147, 10, -41, 119, -26, + -103, 135, 10, 24, -41, 124, -86, 121, 120, -135, + 121, 119, -89, -41, -90, -92, -93, 41, 120, -93, + 123, -86, -94, 12, 124, -95, 119, -41, 120, } var yyDef = [...]int{ @@ -1854,7 +1847,7 @@ var yyDef = [...]int{ 503, 0, 528, 0, 405, 0, 0, 386, 392, 514, 0, 0, 569, -2, -2, -2, 484, 0, 0, 472, 417, 473, 0, 0, 359, 539, 478, 0, 547, 488, - 0, 0, 5, 368, 0, 0, 373, -2, -2, 577, + 0, 0, 5, 368, 0, 0, 373, -2, -2, 576, 0, 0, 377, -2, -2, 382, 0, 9, 0, 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, 33, 20, 0, 0, 36, 420, 421, 422, -2, 0, 0, @@ -1866,7 +1859,7 @@ var yyDef = [...]int{ 0, -2, -2, 266, 0, 0, 537, 535, -2, -2, 355, 354, 0, 558, 559, 560, 554, 555, 0, 557, 493, 500, 501, 0, 521, 0, 504, 0, 263, 406, - 505, 385, 0, 506, 561, 570, 562, 563, 566, 357, + 505, 385, 0, 506, 561, 0, 562, 563, 566, 357, 356, 358, 541, 0, 542, 0, 508, 509, 177, 0, 0, 180, -2, -2, 0, 0, 372, 0, 0, 516, 517, 0, 0, 520, 11, 370, 23, 26, 0, 29, @@ -1880,41 +1873,41 @@ var yyDef = [...]int{ 0, 0, 92, 0, -2, 0, 167, 169, 107, 174, 175, 176, 0, 0, 0, 389, 196, 125, 128, 267, 0, 532, 537, 323, 0, 553, 0, 490, 521, 521, - 499, 0, 0, 529, 393, 0, 0, 545, 546, 178, + 499, 0, 0, 529, 393, 570, 0, 545, 546, 178, 0, 179, 184, 185, 374, 376, 378, 380, 28, 34, 0, 432, 433, 434, 435, 436, 437, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, - 427, 476, 478, 0, 419, 576, 463, 42, 163, 160, + 427, 476, 478, 0, 419, 575, 463, 42, 163, 160, 0, 0, 0, 249, 144, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 133, 134, 0, 81, 140, 38, 0, 142, 83, 93, 87, 0, 361, 173, 109, 196, 127, 388, 228, 0, 405, 264, 0, 261, -2, 258, 521, 252, 0, 0, 492, 0, 0, 525, 526, - 397, 571, 540, 0, 181, 431, 459, 0, 426, 480, - 481, 48, 0, 0, 165, 0, 57, 59, 0, 151, - 153, 154, 145, 146, 0, 361, 326, 0, 131, 537, - 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, - 110, 228, 116, 195, 197, 0, 200, 0, -2, 227, - 0, 0, 230, 232, 233, 234, 235, 236, 237, 129, - 268, 536, 521, 0, 251, 0, 494, 556, 497, 496, - 394, 544, 460, 0, 158, 164, 0, 0, 0, 156, - 246, 149, 38, 147, 0, 78, 138, 38, 0, 79, - 0, 143, 38, 88, 38, 38, 0, 171, 114, 0, - 199, 0, 107, 231, 0, 0, 204, 0, 256, 254, - -2, 396, 0, 479, 0, 0, 0, 38, 0, 38, - 152, 38, 0, 135, 141, 0, 0, 0, 0, 0, - 365, 0, 0, 0, 240, 0, 0, 0, 203, 0, - 206, 208, 253, 495, 398, 159, 51, 161, 166, 60, - 150, 0, 0, 94, 0, 112, 347, 362, 0, 366, - 172, 198, 0, 0, 0, 201, 243, 205, 0, 209, - 210, 0, 0, 218, 0, 0, -2, 38, 0, 349, - 139, 89, 363, 0, 238, 241, 242, 0, 207, 211, - 212, 213, 0, 222, 0, 162, 61, 136, 38, 0, - 364, 0, -2, 214, 215, 0, -2, 219, 0, 38, - 239, 0, 0, 220, 0, 0, 0, 216, 137, 90, - 202, 224, 38, 96, 0, 91, 95, 97, 0, 225, - 98, 0, 99, 0, 0, 100, 0, 38, 0, 101, + 397, 540, 0, 181, 431, 459, 0, 426, 480, 481, + 48, 0, 0, 165, 0, 57, 59, 0, 151, 153, + 154, 145, 146, 0, 361, 326, 0, 131, 537, 0, + 0, 0, 0, 0, 0, 0, 0, 170, 0, 110, + 228, 116, 195, 197, 0, 200, 0, -2, 227, 0, + 0, 230, 232, 233, 234, 235, 236, 237, 129, 268, + 536, 521, 0, 251, 0, 494, 556, 497, 496, 394, + 544, 460, 0, 158, 164, 0, 0, 0, 156, 246, + 149, 38, 147, 0, 78, 138, 38, 0, 79, 0, + 143, 38, 88, 38, 38, 0, 171, 114, 0, 199, + 0, 107, 231, 0, 0, 204, 0, 256, 254, -2, + 396, 0, 479, 0, 0, 0, 38, 0, 38, 152, + 38, 0, 135, 141, 0, 0, 0, 0, 0, 365, + 0, 0, 0, 240, 0, 0, 0, 203, 0, 206, + 208, 253, 495, 398, 159, 51, 161, 166, 60, 150, + 0, 0, 94, 0, 112, 347, 362, 0, 366, 172, + 198, 0, 0, 0, 201, 243, 205, 0, 209, 210, + 0, 0, 218, 0, 0, -2, 38, 0, 349, 139, + 89, 363, 0, 238, 241, 242, 0, 207, 211, 212, + 213, 0, 222, 0, 162, 61, 136, 38, 0, 364, + 0, -2, 214, 215, 0, -2, 219, 0, 38, 239, + 0, 0, 220, 0, 0, 0, 216, 137, 90, 202, + 224, 38, 96, 0, 91, 95, 97, 0, 225, 98, + 0, 99, 0, 0, 100, 0, 38, 0, 101, } var yyTok1 = [...]int{ @@ -2292,25 +2285,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:212 + //line php5/php5.y:213 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:218 + //line php5/php5.y:219 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:219 + //line php5/php5.y:220 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:224 + //line php5/php5.y:225 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2319,7 +2312,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:231 + //line php5/php5.y:232 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2328,31 +2321,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:240 + //line php5/php5.y:241 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:241 + //line php5/php5.y:242 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:242 + //line php5/php5.y:243 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:243 + //line php5/php5.y:244 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:245 + //line php5/php5.y:246 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2364,7 +2357,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:255 + //line php5/php5.y:256 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2376,7 +2369,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:265 + //line php5/php5.y:266 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2384,7 +2377,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:271 + //line php5/php5.y:272 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2392,7 +2385,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:277 + //line php5/php5.y:278 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2404,7 +2397,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:287 + //line php5/php5.y:288 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2416,25 +2409,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:296 + //line php5/php5.y:297 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:300 + //line php5/php5.y:301 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:301 + //line php5/php5.y:302 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:306 + //line php5/php5.y:307 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2446,7 +2439,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:316 + //line php5/php5.y:317 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2461,7 +2454,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:329 + //line php5/php5.y:330 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2473,7 +2466,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:339 + //line php5/php5.y:340 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2488,19 +2481,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:355 + //line php5/php5.y:356 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:359 + //line php5/php5.y:360 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:366 + //line php5/php5.y:367 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2512,7 +2505,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:376 + //line php5/php5.y:377 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2527,7 +2520,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:389 + //line php5/php5.y:390 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2539,7 +2532,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:399 + //line php5/php5.y:400 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2554,19 +2547,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:415 + //line php5/php5.y:416 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:419 + //line php5/php5.y:420 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:426 + //line php5/php5.y:427 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2578,7 +2571,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:436 + //line php5/php5.y:437 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2593,7 +2586,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:449 + //line php5/php5.y:450 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2605,7 +2598,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:459 + //line php5/php5.y:460 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2620,640 +2613,640 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:474 + //line php5/php5.y:475 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:475 + //line php5/php5.y:476 { } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:479 + //line php5/php5.y:480 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:480 + //line php5/php5.y:481 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:486 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:486 + //line php5/php5.y:487 { yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:487 + //line php5/php5.y:488 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:488 + //line php5/php5.y:489 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:494 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:494 + //line php5/php5.y:495 { } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:499 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:500 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:500 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:500 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:503 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:503 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:503 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:507 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:511 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:512 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:513 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:513 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:513 + //line php5/php5.y:514 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:514 + //line php5/php5.y:515 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:516 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:517 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:518 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:519 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:520 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:521 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:522 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:523 { } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:524 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:525 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:526 { yyVAL.node = yyDollar[1].node } case 77: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:526 + //line php5/php5.y:527 { } case 78: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:528 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:529 { } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:530 { } case 81: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:530 { } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:531 { } case 83: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:532 { } case 84: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:533 { } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:534 { } case 86: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:538 { } case 87: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { } case 88: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:540 { } case 89: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:541 { } case 90: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:541 + //line php5/php5.y:542 { } case 91: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:542 + //line php5/php5.y:543 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:546 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:547 { } case 94: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:547 { } case 95: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:550 + //line php5/php5.y:551 { } case 96: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:551 + //line php5/php5.y:552 { } case 97: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:555 + //line php5/php5.y:556 { } case 98: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:556 + //line php5/php5.y:557 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:560 + //line php5/php5.y:561 { } case 100: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:560 + //line php5/php5.y:561 { } case 101: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:560 + //line php5/php5.y:561 { } case 104: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:569 + //line php5/php5.y:570 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:573 + //line php5/php5.y:574 { } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:577 + //line php5/php5.y:578 { } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:581 + //line php5/php5.y:582 { } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:582 + //line php5/php5.y:583 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:586 + //line php5/php5.y:587 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:587 + //line php5/php5.y:588 { } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:591 + //line php5/php5.y:592 { } case 112: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:593 + //line php5/php5.y:594 { } case 113: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:598 + //line php5/php5.y:599 { } case 114: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:602 + //line php5/php5.y:603 { } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:604 + //line php5/php5.y:605 { } case 116: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:608 + //line php5/php5.y:609 { } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:613 + //line php5/php5.y:614 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:614 + //line php5/php5.y:615 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:615 + //line php5/php5.y:616 { } case 120: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:616 + //line php5/php5.y:617 { } case 121: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:620 + //line php5/php5.y:621 { } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:621 + //line php5/php5.y:622 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:625 + //line php5/php5.y:626 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:639 + //line php5/php5.y:640 { } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:640 + //line php5/php5.y:641 { } case 130: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:644 + //line php5/php5.y:645 { } case 131: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:645 + //line php5/php5.y:646 { } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:649 + //line php5/php5.y:650 { } case 133: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:651 { } case 134: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:651 + //line php5/php5.y:652 { } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:651 + //line php5/php5.y:652 { } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:673 + //line php5/php5.y:674 { } case 143: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:674 + //line php5/php5.y:675 { } case 144: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:679 + //line php5/php5.y:680 { } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:680 + //line php5/php5.y:681 { } case 146: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:681 + //line php5/php5.y:682 { } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:682 + //line php5/php5.y:683 { } case 148: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:688 { } case 149: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:688 + //line php5/php5.y:689 { } case 150: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:688 + //line php5/php5.y:689 { } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:689 + //line php5/php5.y:690 { } case 152: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:689 + //line php5/php5.y:690 { } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:708 + //line php5/php5.y:709 { } case 159: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:708 + //line php5/php5.y:709 { } case 161: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:714 + //line php5/php5.y:715 { } case 162: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:714 + //line php5/php5.y:715 { } case 171: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:743 + //line php5/php5.y:744 { } case 172: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:745 + //line php5/php5.y:746 { } case 173: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:750 + //line php5/php5.y:751 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:751 + //line php5/php5.y:752 { } case 175: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:752 + //line php5/php5.y:753 { } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:753 + //line php5/php5.y:754 { } case 177: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:758 + //line php5/php5.y:759 { } case 178: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:759 + //line php5/php5.y:760 { } case 179: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:760 + //line php5/php5.y:761 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:770 + //line php5/php5.y:771 { } case 183: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:771 + //line php5/php5.y:772 { } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:772 + //line php5/php5.y:773 { } case 185: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:773 + //line php5/php5.y:774 { } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:777 + //line php5/php5.y:778 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:778 + //line php5/php5.y:779 { yyVAL.list = []node.Node{yyDollar[1].node} } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:784 + //line php5/php5.y:785 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3265,7 +3258,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:794 + //line php5/php5.y:795 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3273,7 +3266,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:800 + //line php5/php5.y:801 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3281,7 +3274,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:810 + //line php5/php5.y:811 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3300,7 +3293,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:827 + //line php5/php5.y:828 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3319,7 +3312,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:844 + //line php5/php5.y:845 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3338,7 +3331,7 @@ yydefault: } case 194: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:861 + //line php5/php5.y:862 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3357,868 +3350,868 @@ yydefault: } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:888 + //line php5/php5.y:889 { } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:891 + //line php5/php5.y:892 { } case 202: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:893 + //line php5/php5.y:894 { } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:901 + //line php5/php5.y:902 { } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:902 + //line php5/php5.y:903 { } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:926 + //line php5/php5.y:927 { } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:930 + //line php5/php5.y:931 { } case 216: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:931 + //line php5/php5.y:932 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:935 + //line php5/php5.y:936 { } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:936 + //line php5/php5.y:937 { } case 219: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:940 + //line php5/php5.y:941 { } case 220: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:944 + //line php5/php5.y:945 { } case 221: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:945 + //line php5/php5.y:946 { } case 222: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:949 + //line php5/php5.y:950 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:950 + //line php5/php5.y:951 { } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:954 + //line php5/php5.y:955 { } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:956 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:960 { } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:961 { } case 228: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:964 + //line php5/php5.y:965 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:965 + //line php5/php5.y:966 { } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:970 { } case 231: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:970 + //line php5/php5.y:971 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:975 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:976 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:977 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:977 + //line php5/php5.y:978 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:978 + //line php5/php5.y:979 { } case 237: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:979 + //line php5/php5.y:980 { } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:984 { } case 239: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:984 + //line php5/php5.y:985 { } case 240: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:986 { } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:986 + //line php5/php5.y:987 { } case 242: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:991 { } case 243: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:992 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:996 { } case 245: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:996 + //line php5/php5.y:997 { } case 246: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1002 { } case 247: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1003 { } case 248: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1007 { } case 249: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1007 { } case 250: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1007 + //line php5/php5.y:1008 { } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1012 { } case 252: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1012 + //line php5/php5.y:1013 { } case 253: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1017 { } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1018 { } case 255: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1022 { } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1022 { } case 257: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1023 { } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1023 + //line php5/php5.y:1024 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1028 { } case 260: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1029 { } case 261: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1029 + //line php5/php5.y:1030 { } case 262: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1033 + //line php5/php5.y:1034 { } case 263: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1033 + //line php5/php5.y:1034 { } case 264: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1038 { yyVAL.node = nil } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1039 { } case 266: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1040 { } case 267: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1040 + //line php5/php5.y:1041 { } case 268: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1040 + //line php5/php5.y:1041 { } case 269: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1041 + //line php5/php5.y:1042 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1042 + //line php5/php5.y:1043 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1044 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1044 + //line php5/php5.y:1045 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1046 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1046 + //line php5/php5.y:1047 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1047 + //line php5/php5.y:1048 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1048 + //line php5/php5.y:1049 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1049 + //line php5/php5.y:1050 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1051 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1052 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1052 + //line php5/php5.y:1053 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1053 + //line php5/php5.y:1054 { } case 282: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1054 + //line php5/php5.y:1055 { } case 283: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1055 + //line php5/php5.y:1056 { } case 284: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1056 + //line php5/php5.y:1057 { } case 285: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1057 + //line php5/php5.y:1058 { } case 286: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1058 + //line php5/php5.y:1059 { } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1058 + //line php5/php5.y:1059 { } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1059 + //line php5/php5.y:1060 { } case 289: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1059 + //line php5/php5.y:1060 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1060 + //line php5/php5.y:1061 { } case 291: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1060 + //line php5/php5.y:1061 { } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1061 + //line php5/php5.y:1062 { } case 293: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1061 + //line php5/php5.y:1062 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1062 + //line php5/php5.y:1063 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1063 + //line php5/php5.y:1064 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1064 + //line php5/php5.y:1065 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1066 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1066 + //line php5/php5.y:1067 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1068 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1069 { } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1069 + //line php5/php5.y:1070 { } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1070 + //line php5/php5.y:1071 { } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1071 + //line php5/php5.y:1072 { } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1072 + //line php5/php5.y:1073 { } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1073 + //line php5/php5.y:1074 { } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1074 + //line php5/php5.y:1075 { } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1076 { } case 308: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1077 { } case 309: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1078 { } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1080 { } case 312: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1081 { } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1082 { } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1083 { } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1084 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1085 { } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1086 { } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1087 { } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1088 { } case 320: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1088 + //line php5/php5.y:1089 { } case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1089 + //line php5/php5.y:1090 { } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1090 + //line php5/php5.y:1091 { } case 323: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1090 + //line php5/php5.y:1091 { } case 324: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1091 + //line php5/php5.y:1092 { } case 325: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1092 + //line php5/php5.y:1093 { } case 326: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1094 { } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1095 { } case 328: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1096 { } case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1097 { } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1098 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1099 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1100 { } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1100 + //line php5/php5.y:1101 { } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1102 { } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1102 + //line php5/php5.y:1103 { } case 336: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1104 { } case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1105 { } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1106 { } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1106 { } case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1107 { } case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1107 + //line php5/php5.y:1108 { } case 342: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1108 + //line php5/php5.y:1109 { } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1109 + //line php5/php5.y:1110 { } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1110 + //line php5/php5.y:1111 { } case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1111 + //line php5/php5.y:1112 { } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1112 + //line php5/php5.y:1113 { } case 347: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1114 + //line php5/php5.y:1115 { } case 348: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1116 { } case 349: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1118 { } case 350: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1121 + //line php5/php5.y:1122 { } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1123 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1123 + //line php5/php5.y:1124 { } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1124 + //line php5/php5.y:1125 { } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1128 + //line php5/php5.y:1129 { } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1130 { } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1131 { } case 357: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1132 { } case 358: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1135 + //line php5/php5.y:1136 { } case 359: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1136 + //line php5/php5.y:1137 { } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1140 + //line php5/php5.y:1141 { } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1150 { } case 364: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1151 { } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1152 { } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1152 + //line php5/php5.y:1153 { } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1156 + //line php5/php5.y:1157 { } case 368: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1157 + //line php5/php5.y:1158 { } case 369: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1159 { } case 370: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1159 + //line php5/php5.y:1160 { } case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1161 { } case 372: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1161 + //line php5/php5.y:1162 { } case 373: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1162 + //line php5/php5.y:1163 { } case 374: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1163 + //line php5/php5.y:1164 { } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1164 + //line php5/php5.y:1165 { } case 376: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1165 + //line php5/php5.y:1166 { } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1166 + //line php5/php5.y:1167 { } case 378: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1167 + //line php5/php5.y:1168 { } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1168 + //line php5/php5.y:1169 { } case 380: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1169 + //line php5/php5.y:1170 { } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1170 + //line php5/php5.y:1171 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1171 + //line php5/php5.y:1172 { } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1176 + //line php5/php5.y:1177 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4226,7 +4219,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1182 + //line php5/php5.y:1183 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4234,7 +4227,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1188 + //line php5/php5.y:1189 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4242,7 +4235,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1194 + //line php5/php5.y:1195 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4250,97 +4243,97 @@ yydefault: } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1202 + //line php5/php5.y:1203 { } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1203 + //line php5/php5.y:1204 { } case 389: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1204 + //line php5/php5.y:1205 { } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1210 + //line php5/php5.y:1211 { } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1211 + //line php5/php5.y:1212 { } case 392: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1216 + //line php5/php5.y:1217 { } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1217 + //line php5/php5.y:1218 { } case 394: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1218 + //line php5/php5.y:1219 { } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1219 + //line php5/php5.y:1220 { } case 398: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1230 + //line php5/php5.y:1231 { } case 399: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1234 + //line php5/php5.y:1235 { } case 400: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1235 + //line php5/php5.y:1236 { } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1236 + //line php5/php5.y:1237 { } case 402: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1240 + //line php5/php5.y:1241 { } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1241 + //line php5/php5.y:1242 { } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1242 + //line php5/php5.y:1243 { } case 405: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1246 + //line php5/php5.y:1247 { } case 406: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1247 + //line php5/php5.y:1248 { } case 407: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1252 + //line php5/php5.y:1253 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4348,7 +4341,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:1259 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4356,13 +4349,13 @@ yydefault: } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1263 + //line php5/php5.y:1264 { yyVAL.node = nil } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1266 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4370,7 +4363,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1271 + //line php5/php5.y:1272 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4378,7 +4371,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1277 + //line php5/php5.y:1278 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4386,7 +4379,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1283 + //line php5/php5.y:1284 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4394,7 +4387,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1289 + //line php5/php5.y:1290 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4402,7 +4395,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1295 + //line php5/php5.y:1296 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4410,7 +4403,7 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1301 + //line php5/php5.y:1302 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4418,7 +4411,7 @@ yydefault: } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1307 + //line php5/php5.y:1308 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -4426,7 +4419,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1312 + //line php5/php5.y:1313 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -4434,7 +4427,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1321 + //line php5/php5.y:1322 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4446,247 +4439,247 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1333 + //line php5/php5.y:1334 { } case 421: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1337 + //line php5/php5.y:1338 { } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1339 { } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1339 + //line php5/php5.y:1340 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1340 + //line php5/php5.y:1341 { } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1342 { } case 426: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1342 + //line php5/php5.y:1343 { } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1343 + //line php5/php5.y:1344 { } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1344 + //line php5/php5.y:1345 { } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1346 { } case 430: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1346 + //line php5/php5.y:1347 { } case 431: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1350 + //line php5/php5.y:1351 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1351 + //line php5/php5.y:1352 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1352 + //line php5/php5.y:1353 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1353 + //line php5/php5.y:1354 { } case 435: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1354 + //line php5/php5.y:1355 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1355 + //line php5/php5.y:1356 { } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1356 + //line php5/php5.y:1357 { } case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1357 + //line php5/php5.y:1358 { } case 439: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1358 + //line php5/php5.y:1359 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1360 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1360 + //line php5/php5.y:1361 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1361 + //line php5/php5.y:1362 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1362 + //line php5/php5.y:1363 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1363 + //line php5/php5.y:1364 { } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1364 + //line php5/php5.y:1365 { } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1366 { } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1366 + //line php5/php5.y:1367 { } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1367 + //line php5/php5.y:1368 { } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1368 + //line php5/php5.y:1369 { } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1369 + //line php5/php5.y:1370 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1370 + //line php5/php5.y:1371 { } case 452: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1371 + //line php5/php5.y:1372 { } case 453: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1372 + //line php5/php5.y:1373 { } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1374 { } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1374 + //line php5/php5.y:1375 { } case 456: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1375 + //line php5/php5.y:1376 { } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1376 + //line php5/php5.y:1377 { } case 458: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1377 + //line php5/php5.y:1378 { } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1378 + //line php5/php5.y:1379 { } case 460: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1379 + //line php5/php5.y:1380 { } case 461: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1380 + //line php5/php5.y:1381 { } case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1381 + //line php5/php5.y:1382 { } case 463: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1382 + //line php5/php5.y:1383 { } case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1386 + //line php5/php5.y:1387 { } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1387 + //line php5/php5.y:1388 { } case 466: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1388 + //line php5/php5.y:1389 { } case 467: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1390 { } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1394 + //line php5/php5.y:1395 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4698,25 +4691,25 @@ yydefault: } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1404 + //line php5/php5.y:1405 { yyVAL.node = yyDollar[1].node } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1406 + //line php5/php5.y:1407 { yyVAL.node = yyDollar[1].node } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1408 + //line php5/php5.y:1409 { yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1410 + //line php5/php5.y:1411 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4724,7 +4717,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1416 + //line php5/php5.y:1417 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4732,7 +4725,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1422 + //line php5/php5.y:1423 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4740,202 +4733,202 @@ yydefault: } case 475: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1430 + //line php5/php5.y:1431 { } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1431 + //line php5/php5.y:1432 { } case 479: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1440 + //line php5/php5.y:1441 { } case 480: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1441 + //line php5/php5.y:1442 { } case 481: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1443 { } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1443 + //line php5/php5.y:1444 { } case 483: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1447 + //line php5/php5.y:1448 { yyVAL.node = yyDollar[1].node } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1448 + //line php5/php5.y:1449 { } case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1452 + //line php5/php5.y:1453 { } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1453 + //line php5/php5.y:1454 { } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1459 + //line php5/php5.y:1460 { yyVAL.node = yyDollar[1].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1467 + //line php5/php5.y:1468 { yyVAL.node = yyDollar[1].node } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1474 + //line php5/php5.y:1475 { yyVAL.node = yyDollar[1].node } case 490: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1481 + //line php5/php5.y:1482 { } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1483 + //line php5/php5.y:1484 { yyVAL.node = yyDollar[1].node } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1487 + //line php5/php5.y:1488 { } case 493: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1489 { } case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1493 + //line php5/php5.y:1494 { } case 495: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1493 + //line php5/php5.y:1494 { } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1497 + //line php5/php5.y:1498 { } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1498 + //line php5/php5.y:1499 { } case 498: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1502 + //line php5/php5.y:1503 { } case 499: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1503 + //line php5/php5.y:1504 { } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1507 + //line php5/php5.y:1508 { } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1508 + //line php5/php5.y:1509 { } case 502: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1509 + //line php5/php5.y:1510 { } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1513 + //line php5/php5.y:1514 { } case 504: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1514 + //line php5/php5.y:1515 { } case 505: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1518 + //line php5/php5.y:1519 { } case 506: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1519 + //line php5/php5.y:1520 { } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1525 + //line php5/php5.y:1526 { yyVAL.node = yyDollar[1].node } case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1531 + //line php5/php5.y:1532 { } case 509: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1532 + //line php5/php5.y:1533 { } case 510: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1536 - { - yyVAL.node = yyDollar[1].node - } - case 511: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1537 { yyVAL.node = yyDollar[1].node } - case 512: + case 511: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1538 { yyVAL.node = yyDollar[1].node } + case 512: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1539 + { + yyVAL.node = yyDollar[1].node + } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1543 + //line php5/php5.y:1544 { yyVAL.node = yyDollar[1].node } case 514: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1545 + //line php5/php5.y:1546 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4947,12 +4940,12 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1554 + //line php5/php5.y:1555 { } case 516: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1559 + //line php5/php5.y:1560 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4960,7 +4953,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1565 + //line php5/php5.y:1566 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4968,13 +4961,13 @@ yydefault: } case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1571 { yyVAL.node = yyDollar[1].node } case 519: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1576 + //line php5/php5.y:1577 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4986,7 +4979,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1586 + //line php5/php5.y:1587 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4994,54 +4987,54 @@ yydefault: } case 521: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1594 + //line php5/php5.y:1595 { yyVAL.node = nil } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1595 + //line php5/php5.y:1596 { yyVAL.node = yyDollar[1].node } case 523: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1600 + //line php5/php5.y:1601 { } case 524: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1602 { } case 525: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1605 + //line php5/php5.y:1606 { } case 526: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1606 + //line php5/php5.y:1607 { } case 527: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1607 + //line php5/php5.y:1608 { } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1611 + //line php5/php5.y:1612 { } case 529: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1612 + //line php5/php5.y:1613 { } case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1617 + //line php5/php5.y:1618 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5051,7 +5044,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1625 + //line php5/php5.y:1626 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5065,83 +5058,125 @@ yydefault: } case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1645 + //line php5/php5.y:1646 { } case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1646 + //line php5/php5.y:1647 { } case 536: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1646 + //line php5/php5.y:1647 { } case 537: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1647 + //line php5/php5.y:1648 { } case 538: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:1654 { + yyVAL.list = nil } case 539: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1653 + //line php5/php5.y:1656 { + yyVAL.list = yyDollar[1].list } case 540: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1657 + //line php5/php5.y:1661 { + arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) + comments.AddComments(arrayItem, comments[yyDollar[3].node]) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 541: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1658 + //line php5/php5.y:1669 { + arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) + comments.AddComments(arrayItem, comments[yyDollar[3].node]) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 542: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1677 { + arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(arrayItem, comments[yyDollar[1].node]) + + yyVAL.list = []node.Node{arrayItem} } case 543: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1660 + //line php5/php5.y:1685 { + arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(arrayItem, comments[yyDollar[1].node]) + + yyVAL.list = []node.Node{arrayItem} } case 544: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1661 + //line php5/php5.y:1693 { + arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) + comments.AddComments(arrayItem, comments[yyDollar[3].node]) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 545: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1662 + //line php5/php5.y:1701 { + arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) + positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) + comments.AddComments(arrayItem, yyDollar[3].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 546: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1663 + //line php5/php5.y:1709 { + arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(arrayItem, comments[yyDollar[1].node]) + + yyVAL.list = []node.Node{arrayItem} } case 547: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1664 + //line php5/php5.y:1717 { + arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) + positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(arrayItem, yyDollar[1].token.Comments()) + + yyVAL.list = []node.Node{arrayItem} } case 548: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1669 + //line php5/php5.y:1728 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 549: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1730 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5150,13 +5185,13 @@ yydefault: } case 550: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1678 + //line php5/php5.y:1737 { yyVAL.list = []node.Node{yyDollar[1].node} } case 551: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1680 + //line php5/php5.y:1739 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5165,7 +5200,7 @@ yydefault: } case 552: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1749 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5177,7 +5212,7 @@ yydefault: } case 553: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1700 + //line php5/php5.y:1759 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5192,7 +5227,7 @@ yydefault: } case 554: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1713 + //line php5/php5.y:1772 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5210,7 +5245,7 @@ yydefault: } case 555: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1729 + //line php5/php5.y:1788 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5218,7 +5253,7 @@ yydefault: } case 556: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1735 + //line php5/php5.y:1794 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5233,13 +5268,13 @@ yydefault: } case 557: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1749 + //line php5/php5.y:1808 { yyVAL.node = yyDollar[2].node } case 558: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1754 + //line php5/php5.y:1813 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5247,7 +5282,7 @@ yydefault: } case 559: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1760 + //line php5/php5.y:1819 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5261,7 +5296,7 @@ yydefault: } case 560: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1772 + //line php5/php5.y:1831 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5273,72 +5308,107 @@ yydefault: } case 561: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1785 + //line php5/php5.y:1844 { + yyVAL.node = expr.NewIsset(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 562: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1786 + //line php5/php5.y:1850 { + yyVAL.node = expr.NewEmpty(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 563: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1787 + //line php5/php5.y:1856 { + yyVAL.node = expr.NewEmpty(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 564: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1788 + //line php5/php5.y:1862 { + yyVAL.node = expr.NewInclude(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 565: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1789 + //line php5/php5.y:1868 { + yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 566: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1790 + //line php5/php5.y:1874 { + yyVAL.node = expr.NewEval(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 567: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1791 + //line php5/php5.y:1880 { + yyVAL.node = expr.NewRequire(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 568: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1886 { + yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 569: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1796 + //line php5/php5.y:1895 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 570: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1797 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1897 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 571: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1797 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1901 { + yyVAL.node = yyDollar[1].node } case 572: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1801 + //line php5/php5.y:1902 { + yyVAL.node = yyDollar[1].node } case 573: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1802 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1907 { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 574: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1807 + //line php5/php5.y:1917 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5350,7 +5420,7 @@ yydefault: } case 575: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1817 + //line php5/php5.y:1930 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5362,19 +5432,7 @@ yydefault: } case 576: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1830 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 577: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1843 + //line php5/php5.y:1943 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 71db309..09bedae 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -198,10 +198,11 @@ import ( %type dim_offset expr expr_without_variable r_variable w_variable rw_variable variable base_variable_with_function_calls %type base_variable array_function_dereference function_call inner_statement statement unticked_statement %type inner_statement statement global_var static_scalar scalar class_constant static_class_name_scalar class_name_scalar -%type encaps_var encaps_var encaps_var_offset general_constant +%type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations -%type inner_statement_list global_var_list static_var_list encaps_list +%type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list +%type array_pair_list %type simple_indirect_reference @@ -1650,19 +1651,77 @@ assignment_list_element: array_pair_list: - /* empty */ { } - | non_empty_array_pair_list possible_comma { } + /* empty */ + { $$ = nil } + | non_empty_array_pair_list possible_comma + { $$ = $1 } ; non_empty_array_pair_list: - non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { } - | non_empty_array_pair_list ',' expr { } - | expr T_DOUBLE_ARROW expr { } - | expr { } - | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { } - | non_empty_array_pair_list ',' '&' w_variable { } - | expr T_DOUBLE_ARROW '&' w_variable { } - | '&' w_variable { } + non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr + { + arrayItem := expr.NewArrayItem($3, $5, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($3, $5)) + comments.AddComments(arrayItem, comments[$3]) + + $$ = append($1, arrayItem) + } + | non_empty_array_pair_list ',' expr + { + arrayItem := expr.NewArrayItem(nil, $3, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition($3)) + comments.AddComments(arrayItem, comments[$3]) + + $$ = append($1, arrayItem) + } + | expr T_DOUBLE_ARROW expr + { + arrayItem := expr.NewArrayItem($1, $3, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments(arrayItem, comments[$1]) + + $$ = []node.Node{arrayItem} + } + | expr + { + arrayItem := expr.NewArrayItem(nil, $1, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition($1)) + comments.AddComments(arrayItem, comments[$1]) + + $$ = []node.Node{arrayItem} + } + | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable + { + arrayItem := expr.NewArrayItem($3, $6, true) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($3, $6)) + comments.AddComments(arrayItem, comments[$3]) + + $$ = append($1, arrayItem) + } + | non_empty_array_pair_list ',' '&' w_variable + { + arrayItem := expr.NewArrayItem(nil, $4, true) + positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition($3, $4)) + comments.AddComments(arrayItem, $3.Comments()) + + $$ = append($1, arrayItem) + } + | expr T_DOUBLE_ARROW '&' w_variable + { + arrayItem := expr.NewArrayItem($1, $4, true) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments(arrayItem, comments[$1]) + + $$ = []node.Node{arrayItem} + } + | '&' w_variable + { + arrayItem := expr.NewArrayItem(nil, $2, true) + positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments(arrayItem, $1.Comments()) + + $$ = []node.Node{arrayItem} + } ; encaps_list: @@ -1781,26 +1840,67 @@ encaps_var_offset: } ; - internal_functions_in_yacc: - T_ISSET '(' isset_variables ')' { } - | T_EMPTY '(' variable ')' { } - | T_EMPTY '(' expr_without_variable ')' { } - | T_INCLUDE expr { } - | T_INCLUDE_ONCE expr { } - | T_EVAL '(' expr ')' { } - | T_REQUIRE expr { } - | T_REQUIRE_ONCE expr { } + T_ISSET '(' isset_variables ')' + { + $$ = expr.NewIsset($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_EMPTY '(' variable ')' + { + $$ = expr.NewEmpty($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_EMPTY '(' expr_without_variable ')' + { + $$ = expr.NewEmpty($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_INCLUDE expr + { + $$ = expr.NewInclude($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_INCLUDE_ONCE expr + { + $$ = expr.NewIncludeOnce($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_EVAL '(' expr ')' + { + $$ = expr.NewEval($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_REQUIRE expr + { + $$ = expr.NewRequire($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_REQUIRE_ONCE expr + { + $$ = expr.NewRequireOnce($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; isset_variables: - isset_variable { } - | isset_variables ',' { } isset_variable { } + isset_variable + { $$ = []node.Node{$1} } + | isset_variables ',' isset_variable + { $$ = append($1, $3) } ; isset_variable: - variable { } - | expr_without_variable { } + variable { $$ = $1 } + | expr_without_variable { $$ = $1 } ; class_constant: From 799cd1d5cea0093bd407b18d451b49de8e8cf87d Mon Sep 17 00:00:00 2001 From: z7zmey Date: Thu, 1 Feb 2018 12:35:43 +0200 Subject: [PATCH 13/31] php5 syntax --- php5/php5.go | 4461 +++++++++++++++++++++++++------------------------- php5/php5.y | 60 +- 2 files changed, 2285 insertions(+), 2236 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 873bbd5..0eed938 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -11,12 +11,12 @@ import ( "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/expr" + "github.com/z7zmey/php-parser/node/expr/assign_op" "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/token" -// "github.com/z7zmey/php-parser/node/expr/assign_op" // "github.com/z7zmey/php-parser/node/expr/binary_op" // "github.com/z7zmey/php-parser/node/expr/cast" ) @@ -27,8 +27,8 @@ type yySymType struct { node node.Node token token.Token // boolWithToken boolWithToken - list []node.Node - // foreachVariable foreachVariable + list []node.Node + foreachVariable foreachVariable // nodesWithEndToken *nodesWithEndToken simpleIndirectReference simpleIndirectReference // str string @@ -346,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1954 +//line php5/php5.y:1988 //line yacctab:1 var yyExca = [...]int{ @@ -354,593 +354,498 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 489, - 105, 489, - -2, 487, + 104, 488, + 105, 488, + -2, 486, -1, 101, - 78, 384, - 123, 367, - -2, 465, + 78, 383, + 123, 366, + -2, 464, -1, 113, - 78, 507, - 123, 503, - -2, 513, + 78, 506, + 123, 502, + -2, 512, -1, 153, - 104, 489, - 105, 489, - -2, 487, + 104, 488, + 105, 488, + -2, 486, -1, 203, + 121, 349, + 124, 349, + -2, 483, + -1, 204, + 104, 488, + 105, 488, 121, 350, 124, 350, - -2, 484, - -1, 204, - 104, 489, - 105, 489, - 121, 351, - 124, 351, - -2, 487, + -2, 486, -1, 227, - 123, 367, - -2, 384, + 123, 366, + -2, 383, -1, 270, - 78, 507, - -2, 513, + 78, 506, + -2, 512, -1, 296, - 78, 386, - 123, 371, - -2, 467, - -1, 300, - 123, 504, - -2, 514, - -1, 309, 78, 385, - 123, 369, + 123, 370, -2, 466, + -1, 300, + 123, 503, + -2, 513, + -1, 309, + 78, 384, + 123, 368, + -2, 465, -1, 371, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 311, + -2, 310, -1, 372, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 312, + -2, 311, -1, 373, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 313, + -2, 312, -1, 374, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 314, + -2, 313, -1, 375, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 315, + -2, 314, -1, 376, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 316, + -2, 315, -1, 377, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 317, + -2, 316, -1, 378, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 318, + -2, 317, -1, 385, - 104, 489, - 105, 489, - -2, 487, + 104, 488, + 105, 488, + -2, 486, -1, 416, - 123, 371, - -2, 386, + 123, 370, + -2, 385, -1, 436, - 123, 498, - -2, 502, + 123, 497, + -2, 501, -1, 453, - 104, 489, - 105, 489, - 124, 571, - 135, 571, - -2, 487, + 104, 488, + 105, 488, + 124, 569, + 135, 569, + -2, 486, -1, 454, - 124, 572, - 135, 572, - -2, 484, + 124, 570, + 135, 570, + -2, 483, -1, 455, - 104, 489, - 105, 489, - -2, 487, + 104, 488, + 105, 488, + -2, 486, -1, 477, - 123, 375, - -2, 505, + 123, 374, + -2, 504, -1, 478, - 123, 528, - -2, 573, + 123, 527, + -2, 571, -1, 483, - 123, 379, - -2, 506, + 123, 378, + -2, 505, -1, 484, - 123, 528, - -2, 574, + 123, 527, + -2, 572, -1, 507, - 78, 384, - -2, 423, + 78, 383, + -2, 422, -1, 553, - 124, 168, - -2, 173, + 124, 167, + -2, 172, -1, 561, + 121, 351, + 124, 351, + -2, 483, + -1, 562, + 104, 488, + 105, 488, 121, 352, 124, 352, - -2, 484, - -1, 562, - 104, 489, - 105, 489, - 121, 353, - 124, 353, - -2, 487, + -2, 486, -1, 568, - 123, 369, - -2, 385, + 123, 368, + -2, 384, -1, 569, - 57, 260, - 125, 260, - -2, 259, + 57, 259, + 125, 259, + -2, 258, -1, 612, + 124, 181, + 135, 181, + -2, 483, + -1, 613, + 104, 488, + 105, 488, 124, 182, 135, 182, - -2, 484, - -1, 613, - 104, 489, - 105, 489, - 124, 183, - 135, 183, - -2, 487, + -2, 486, -1, 662, - 78, 386, - -2, 425, + 78, 385, + -2, 424, -1, 689, - 124, 168, - -2, 173, + 124, 167, + -2, 172, -1, 704, - 124, 168, - -2, 173, + 124, 167, + -2, 172, -1, 768, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 451, + -2, 450, -1, 769, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 452, + -2, 451, -1, 770, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 453, + -2, 452, -1, 771, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 454, + -2, 453, -1, 772, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 455, + -2, 454, -1, 773, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 456, + -2, 455, -1, 774, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 457, + -2, 456, -1, 775, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 458, + -2, 457, -1, 778, - 78, 385, - -2, 424, + 78, 384, + -2, 423, -1, 829, - 57, 255, - -2, 257, + 57, 254, + -2, 256, -1, 887, - 37, 229, - -2, 226, - -1, 949, - 123, 498, - -2, 502, - -1, 1015, - 29, 217, + 37, 228, + -2, 225, + -1, 948, + 123, 497, + -2, 501, + -1, 1013, + 29, 216, -2, 4, - -1, 1041, - 124, 168, - -2, 173, - -1, 1045, - 121, 221, - -2, 223, + -1, 1039, + 124, 167, + -2, 172, + -1, 1043, + 121, 220, + -2, 222, } const yyPrivate = 57344 -const yyLast = 8286 +const yyLast = 8220 var yyAct = [...]int{ - 101, 705, 1009, 1066, 891, 114, 136, 113, 711, 122, - 130, 580, 436, 830, 832, 50, 199, 334, 411, 117, - 875, 858, 588, 924, 43, 707, 60, 694, 326, 823, - 611, 4, 424, 717, 803, 465, 664, 452, 383, 317, - 153, 412, 683, 25, 137, 313, 157, 2, 142, 152, - 503, 97, 129, 263, 288, 227, 227, 204, 439, 634, - 178, 328, 468, 478, 6, 120, 203, 1040, 42, 327, - 226, 226, 5, 168, 170, 169, 191, 442, 1003, 120, - 266, 191, 191, 257, 980, 271, 979, 270, 1002, 484, - 1000, 120, 976, 971, 871, 939, 720, 701, 250, 146, - 978, 638, 38, 296, 1001, 479, 240, 860, 859, 940, - 496, 688, 996, 192, 172, 176, 175, 502, 351, 962, - 176, 175, 300, 997, 497, 309, 323, 161, 314, 318, - 566, 269, 321, 1051, 824, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 174, 177, 179, 180, 178, 178, - 227, 818, 900, 339, 191, 634, 332, 782, 739, 333, - 699, 308, 443, 566, 120, 347, 529, 466, 350, 740, - 120, 700, 240, 200, 158, 634, 443, 119, 1021, 636, - 635, 589, 266, 969, 227, 981, 948, 271, 443, 270, - 594, 119, 901, 388, 637, 639, 640, 638, 908, 384, - 385, 595, 125, 119, 120, 907, 634, 729, 565, 386, - 636, 635, 227, 646, 637, 639, 640, 638, 345, 566, - 416, 545, 492, 1070, 838, 780, 38, 413, 177, 179, - 180, 178, 546, 269, 725, 379, 493, 161, 656, 658, - 657, 659, 644, 645, 646, 637, 639, 640, 638, 352, - 348, 227, 833, 125, 343, 120, 310, 619, 441, 447, - 440, 132, 607, 353, 349, 606, 435, 299, 344, 449, - 311, 228, 438, 298, 229, 133, 426, 600, 585, 453, - 455, 599, 227, 240, 584, 432, 119, 571, 454, 456, - 232, 570, 301, 441, 1022, 440, 159, 469, 441, 970, - 440, 464, 130, 458, 728, 578, 495, 477, 293, 462, - 499, 346, 483, 292, 507, 470, 471, 1057, 286, 280, - 831, 480, 228, 253, 252, 229, 119, 4, 1074, 428, - 429, 1055, 463, 634, 564, 1020, 988, 636, 635, 874, - 869, 232, 507, 866, 864, 488, 476, 191, 847, 524, - 817, 482, 1041, 431, 491, 429, 428, 428, 741, 429, - 6, 674, 125, 125, 120, 120, 601, 138, 5, 644, - 645, 646, 637, 639, 640, 638, 597, 119, 421, 419, - 125, 533, 120, 305, 935, 556, 176, 175, 474, 227, - 860, 859, 537, 555, 815, 806, 704, 689, 38, 663, - 567, 553, 562, 523, 563, 531, 568, 125, 532, 120, - 387, 561, 697, 441, 441, 440, 440, 294, 181, 182, - 174, 177, 179, 180, 178, 287, 277, 477, 483, 414, - 274, 228, 228, 273, 229, 229, 249, 591, 221, 586, - 194, 441, 193, 440, 141, 121, 441, 986, 440, 228, - 232, 232, 229, 956, 307, 590, 306, 1061, 381, 1060, - 593, 103, 795, 796, 331, 134, 476, 482, 232, 1030, - 795, 796, 1029, 879, 1076, 1019, 267, 473, 38, 268, - 613, 696, 985, 963, 314, 485, 119, 119, 318, 612, - 922, 1048, 918, 507, 862, 232, 856, 855, 787, 692, - 662, 686, 507, 684, 119, 528, 487, 4, 610, 507, - 507, 507, 507, 507, 390, 341, 230, 230, 1027, 258, - 155, 906, 676, 579, 430, 960, 934, 629, 933, 626, - 931, 119, 820, 716, 304, 196, 427, 227, 227, 227, - 6, 264, 954, 633, 556, 678, 223, 224, 5, 715, - 861, 556, 384, 695, 695, 266, 1033, 227, 794, 718, - 271, 294, 270, 90, 714, 685, 698, 916, 917, 851, - 852, 256, 413, 661, 446, 693, 415, 124, 38, 668, - 450, 445, 418, 259, 260, 460, 417, 125, 441, 125, - 440, 302, 804, 125, 227, 734, 227, 125, 721, 1015, - 297, 453, 438, 833, 951, 227, 269, 731, 719, 469, - 454, 469, 895, 896, 897, 894, 893, 892, 448, 262, - 469, 230, 713, 735, 459, 507, 507, 507, 507, 507, + 101, 891, 1064, 436, 580, 136, 705, 199, 1007, 122, + 130, 334, 830, 60, 711, 113, 875, 923, 858, 588, + 823, 707, 146, 411, 694, 38, 611, 114, 803, 465, + 452, 137, 412, 97, 664, 142, 383, 832, 683, 317, + 313, 117, 263, 25, 328, 439, 327, 6, 157, 5, + 161, 129, 2, 288, 717, 227, 227, 178, 634, 634, + 42, 468, 636, 635, 1038, 1001, 478, 1000, 120, 442, + 1049, 120, 191, 191, 326, 998, 484, 4, 120, 994, + 266, 191, 634, 974, 503, 250, 636, 635, 424, 999, + 995, 43, 969, 926, 871, 270, 646, 637, 639, 640, + 638, 638, 90, 296, 566, 824, 240, 271, 479, 720, + 172, 176, 175, 269, 257, 978, 152, 977, 644, 645, + 646, 637, 639, 640, 638, 309, 634, 818, 314, 318, + 300, 976, 321, 203, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 178, 827, 701, 332, 339, 177, 179, 180, 178, 38, + 227, 739, 566, 938, 688, 637, 639, 640, 638, 350, + 161, 502, 740, 699, 351, 443, 308, 939, 443, 323, + 782, 120, 240, 529, 700, 443, 466, 125, 594, 120, + 119, 496, 266, 119, 227, 125, 492, 120, 565, 595, + 119, 545, 388, 900, 120, 497, 158, 270, 200, 566, + 493, 1019, 546, 634, 352, 333, 642, 636, 635, 271, + 345, 348, 227, 191, 967, 269, 1072, 979, 353, 947, + 416, 907, 191, 906, 379, 349, 414, 651, 650, 641, + 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, + 645, 646, 637, 639, 640, 638, 228, 838, 780, 229, + 343, 227, 176, 175, 228, 310, 125, 229, 120, 447, + 132, 176, 175, 725, 344, 232, 564, 833, 440, 311, + 619, 607, 299, 232, 133, 606, 386, 449, 298, 125, + 441, 120, 227, 240, 181, 182, 174, 177, 179, 180, + 178, 600, 599, 119, 438, 174, 177, 179, 180, 178, + 571, 119, 130, 440, 570, 697, 495, 585, 440, 119, + 499, 464, 729, 584, 507, 441, 301, 1020, 159, 728, + 441, 38, 125, 578, 120, 228, 293, 1053, 229, 477, + 968, 463, 426, 476, 483, 831, 432, 292, 482, 286, + 280, 253, 507, 6, 232, 5, 252, 1018, 228, 986, + 488, 229, 874, 491, 869, 454, 456, 866, 864, 458, + 428, 429, 847, 817, 741, 462, 589, 232, 674, 601, + 1068, 470, 471, 4, 696, 597, 421, 480, 419, 305, + 119, 1039, 138, 533, 934, 556, 429, 428, 428, 227, + 429, 228, 1055, 474, 229, 524, 860, 859, 125, 555, + 120, 38, 294, 119, 431, 815, 568, 806, 704, 689, + 232, 663, 567, 553, 531, 523, 505, 532, 427, 387, + 287, 277, 274, 440, 440, 273, 537, 249, 221, 194, + 193, 346, 141, 121, 889, 441, 441, 591, 984, 307, + 890, 306, 1028, 888, 505, 955, 119, 586, 381, 477, + 483, 440, 331, 476, 482, 1059, 440, 1058, 795, 796, + 795, 796, 134, 441, 1027, 1017, 983, 267, 441, 961, + 268, 921, 917, 862, 856, 855, 787, 590, 561, 692, + 686, 684, 593, 528, 314, 487, 232, 390, 318, 341, + 155, 1025, 125, 507, 895, 896, 897, 894, 893, 892, + 662, 38, 507, 905, 103, 579, 1074, 256, 610, 507, + 507, 507, 507, 507, 258, 953, 936, 1046, 959, 430, + 933, 676, 119, 6, 626, 5, 932, 629, 930, 820, + 716, 304, 196, 223, 224, 915, 916, 227, 227, 227, + 851, 852, 879, 294, 556, 125, 861, 714, 794, 715, + 631, 556, 661, 4, 628, 266, 612, 227, 227, 230, + 230, 685, 446, 698, 124, 718, 415, 124, 1031, 668, + 270, 450, 445, 693, 418, 417, 302, 633, 259, 260, + 804, 722, 271, 297, 264, 460, 734, 833, 269, 721, + 950, 678, 713, 125, 227, 505, 227, 719, 440, 281, + 285, 123, 125, 294, 505, 227, 61, 294, 501, 125, + 441, 505, 505, 505, 505, 505, 735, 319, 125, 459, + 127, 128, 1013, 498, 438, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 778, 264, 507, 230, 737, 616, 738, 319, - 560, 124, 557, 281, 285, 558, 125, 742, 557, 315, - 61, 558, 625, 125, 631, 125, 790, 628, 667, 507, - 556, 801, 501, 230, 394, 258, 498, 227, 494, 792, - 779, 781, 507, 127, 128, 556, 816, 791, 123, 207, - 814, 320, 805, 53, 556, 822, 258, 206, 1067, 1031, - 876, 430, 718, 227, 44, 819, 258, 797, 809, 799, - 784, 283, 230, 807, 258, 709, 710, 294, 413, 800, - 294, 827, 835, 238, 703, 294, 284, 821, 131, 294, - 1032, 294, 812, 548, 557, 131, 613, 558, 460, 259, - 260, 836, 837, 230, 294, 612, 527, 1073, 225, 233, - 1039, 843, 785, 258, 1023, 730, 38, 507, 430, 461, - 259, 260, 162, 507, 507, 998, 993, 258, 973, 284, - 259, 260, 282, 936, 535, 517, 258, 1052, 259, 260, - 1046, 255, 863, 795, 796, 227, 1004, 44, 974, 744, - 745, 943, 125, 746, 747, 811, 749, 870, 722, 556, - 695, 748, 632, 517, 630, 556, 798, 795, 796, 627, - 576, 550, 867, 898, 500, 472, 391, 259, 260, 441, - 322, 440, 202, 227, 877, 903, 905, 507, 899, 201, - 880, 259, 260, 438, 573, 198, 575, 574, 469, 135, - 259, 260, 437, 115, 904, 583, 581, 582, 949, 227, - 230, 727, 507, 665, 556, 514, 950, 909, 913, 920, - 840, 914, 932, 592, 413, 923, 265, 927, 303, 622, - 38, 556, 942, 928, 621, 925, 618, 505, 925, 945, - 617, 475, 490, 295, 968, 910, 536, 392, 254, 75, - 74, 251, 248, 507, 544, 802, 947, 380, 569, 357, - 356, 355, 930, 354, 825, 505, 444, 724, 959, 723, - 902, 828, 596, 961, 946, 829, 682, 957, 964, 335, - 966, 967, 887, 955, 208, 209, 210, 211, 213, 214, - 215, 216, 217, 218, 219, 220, 212, 441, 975, 440, - 1044, 982, 903, 987, 983, 989, 1013, 990, 1042, 1012, - 38, 438, 507, 1011, 517, 1010, 1008, 507, 1007, 556, - 977, 556, 984, 517, 944, 1059, 941, 1006, 1026, 1014, - 517, 517, 517, 517, 517, 886, 885, 884, 972, 938, - 883, 882, 609, 507, 507, 708, 706, 1016, 953, 556, - 921, 1028, 958, 868, 559, 395, 40, 1014, 230, 230, - 230, 712, 999, 1034, 554, 393, 39, 1005, 552, 878, - 14, 13, 556, 1075, 1072, 1065, 264, 1045, 230, 872, - 1043, 507, 556, 1050, 1047, 1064, 1036, 1062, 1038, 965, - 873, 813, 556, 1024, 1025, 1054, 702, 808, 549, 38, - 1056, 38, 195, 382, 38, 163, 38, 38, 1063, 1069, - 530, 556, 337, 1035, 1017, 230, 505, 230, 919, 1071, - 681, 680, 140, 1077, 677, 505, 230, 38, 526, 38, - 38, 1049, 505, 505, 505, 505, 505, 139, 915, 853, - 789, 525, 850, 788, 675, 330, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 10, 38, 517, 1, 289, 451, 160, - 156, 316, 312, 126, 63, 88, 572, 38, 89, 506, - 100, 73, 11, 324, 38, 99, 98, 78, 118, 512, - 517, 3, 0, 38, 0, 0, 0, 0, 230, 0, - 0, 0, 0, 517, 0, 0, 0, 38, 0, 0, - 0, 0, 0, 0, 0, 0, 504, 0, 0, 0, - 0, 0, 0, 0, 230, 0, 191, 0, 0, 0, - 0, 0, 116, 0, 0, 0, 0, 0, 505, 505, + 507, 507, 778, 125, 507, 737, 560, 738, 667, 709, + 710, 294, 473, 731, 230, 131, 742, 494, 320, 238, + 485, 557, 448, 262, 558, 790, 294, 454, 557, 507, + 556, 558, 394, 792, 791, 781, 801, 227, 779, 38, + 315, 557, 507, 876, 558, 556, 264, 258, 230, 207, + 206, 816, 430, 1029, 556, 822, 819, 895, 896, 897, + 894, 893, 892, 797, 258, 799, 284, 807, 718, 283, + 294, 294, 258, 814, 784, 131, 230, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 505, 176, 175, 505, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 517, 0, - 0, 0, 0, 0, 517, 517, 0, 231, 231, 649, - 647, 648, 505, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 505, 230, 0, 0, 0, - 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 846, 0, 0, 634, 0, 660, - 642, 636, 635, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 230, 0, 0, 0, 517, 0, - 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, - 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, - 230, 0, 547, 517, 0, 30, 0, 0, 0, 0, - 505, 0, 0, 0, 0, 0, 505, 505, 0, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 144, 150, - 154, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 0, 0, 197, 0, 517, 0, 0, 205, 0, 0, - 0, 0, 0, 0, 272, 0, 231, 0, 222, 0, - 0, 0, 234, 235, 236, 237, 0, 0, 239, 0, - 241, 242, 243, 244, 245, 246, 247, 0, 0, 0, - 505, 0, 0, 261, 231, 0, 0, 0, 275, 276, - 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 290, 517, 0, 505, 0, 0, 517, 208, - 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 220, 212, 0, 231, 0, 0, 0, 0, 634, 0, - 0, 642, 636, 635, 517, 517, 0, 0, 0, 0, - 0, 0, 0, 0, 239, 0, 505, 336, 0, 0, - 0, 0, 0, 0, 231, 643, 654, 655, 652, 653, - 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, - 638, 0, 517, 0, 0, 0, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 0, 0, 0, - 154, 0, 0, 0, 0, 505, 0, 0, 0, 0, - 505, 0, 0, 0, 397, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 505, 505, 0, 0, - 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 239, 0, 423, 425, 425, - 0, 231, 0, 0, 0, 433, 0, 0, 0, 0, - 0, 649, 647, 648, 505, 0, 0, 0, 0, 154, - 154, 0, 0, 457, 0, 0, 425, 0, 0, 0, - 634, 0, 425, 290, 636, 635, 0, 0, 425, 425, - 0, 0, 0, 0, 425, 481, 0, 0, 0, 634, - 486, 660, 642, 636, 635, 0, 0, 0, 654, 655, + 505, 505, 505, 505, 1065, 835, 505, 843, 821, 258, + 461, 259, 260, 800, 809, 230, 785, 507, 703, 44, + 863, 795, 796, 507, 507, 162, 812, 284, 259, 260, + 1030, 505, 548, 258, 1050, 460, 259, 260, 430, 53, + 798, 795, 796, 527, 505, 227, 230, 227, 1071, 573, + 44, 575, 574, 38, 1037, 1021, 870, 836, 837, 556, + 996, 991, 971, 935, 535, 556, 1044, 1002, 972, 867, + 868, 258, 612, 259, 260, 942, 282, 904, 517, 898, + 877, 880, 125, 227, 437, 899, 258, 507, 811, 440, + 749, 255, 616, 748, 225, 233, 632, 259, 260, 630, + 627, 441, 576, 550, 500, 912, 517, 625, 902, 472, + 391, 322, 507, 202, 556, 438, 919, 201, 198, 505, + 135, 922, 115, 583, 581, 505, 505, 927, 931, 941, + 582, 556, 948, 38, 727, 259, 260, 665, 514, 949, + 908, 840, 592, 265, 909, 944, 303, 622, 621, 940, + 259, 260, 507, 230, 946, 618, 617, 475, 490, 295, + 903, 966, 536, 392, 254, 75, 958, 913, 74, 954, + 956, 960, 251, 248, 544, 802, 962, 504, 964, 965, + 380, 924, 569, 357, 924, 356, 355, 354, 973, 505, + 825, 444, 724, 980, 981, 723, 929, 901, 828, 829, + 730, 985, 682, 987, 335, 988, 440, 887, 1042, 1011, + 507, 1040, 1010, 1009, 505, 507, 1008, 556, 441, 556, + 1006, 38, 1005, 38, 902, 38, 975, 38, 38, 945, + 943, 1004, 438, 1012, 744, 745, 1057, 1024, 746, 747, + 886, 507, 507, 885, 884, 970, 937, 556, 38, 883, + 38, 38, 882, 609, 505, 1026, 708, 517, 706, 1014, + 1032, 1012, 952, 920, 957, 559, 517, 982, 395, 40, + 556, 712, 1043, 517, 517, 517, 517, 517, 554, 507, + 556, 1045, 393, 39, 1041, 552, 1048, 878, 14, 13, + 556, 1073, 1052, 1070, 997, 38, 1063, 872, 1062, 1003, + 1060, 230, 230, 230, 1054, 1061, 1067, 1036, 38, 556, + 963, 873, 505, 813, 702, 38, 808, 505, 549, 264, + 1075, 230, 230, 1069, 38, 1022, 1023, 195, 382, 163, + 1034, 530, 337, 596, 1033, 1015, 918, 681, 38, 680, + 140, 677, 526, 505, 505, 208, 209, 210, 211, 213, + 214, 215, 216, 217, 218, 219, 220, 212, 230, 889, + 230, 139, 914, 1047, 853, 890, 789, 525, 888, 230, + 850, 788, 675, 330, 10, 1, 289, 451, 160, 156, + 316, 505, 312, 126, 63, 88, 572, 89, 506, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 100, 73, 517, 895, + 896, 897, 894, 893, 892, 634, 11, 324, 99, 636, + 635, 191, 98, 78, 118, 512, 3, 0, 0, 0, + 0, 881, 0, 517, 0, 0, 0, 0, 0, 0, + 634, 230, 660, 642, 636, 635, 517, 656, 658, 657, + 659, 644, 645, 646, 637, 639, 640, 638, 0, 50, + 176, 175, 0, 116, 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, - 639, 640, 638, 651, 650, 641, 643, 654, 655, 652, - 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 534, 0, 0, 342, 0, 0, 666, 538, - 539, 540, 541, 542, 0, 669, 670, 671, 672, 673, + 639, 640, 638, 0, 153, 0, 0, 30, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, + 144, 150, 154, 0, 226, 226, 164, 0, 231, 231, + 0, 517, 0, 547, 197, 0, 0, 517, 517, 205, + 0, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 222, 0, 0, 272, 234, 235, 236, 237, 0, 230, + 239, 230, 241, 242, 243, 244, 245, 246, 247, 0, + 0, 0, 0, 0, 0, 261, 0, 0, 839, 0, + 275, 276, 0, 278, 279, 192, 172, 176, 175, 0, + 0, 0, 0, 0, 290, 0, 0, 230, 0, 0, + 0, 517, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 517, 0, 0, 347, + 0, 0, 0, 231, 0, 0, 239, 0, 0, 336, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, - 219, 220, 212, 0, 634, 0, 543, 642, 636, 635, - 0, 0, 889, 0, 0, 0, 0, 0, 890, 0, - 0, 888, 154, 0, 0, 0, 0, 0, 0, 231, - 231, 231, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 272, 0, 231, - 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, - 219, 220, 212, 0, 0, 0, 0, 0, 0, 587, - 0, 0, 895, 896, 897, 894, 893, 892, 0, 0, - 0, 889, 0, 0, 0, 0, 231, 890, 231, 0, - 888, 0, 602, 604, 937, 0, 0, 231, 0, 0, - 154, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, - 769, 770, 771, 772, 773, 774, 775, 777, 0, 0, - 666, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 895, 896, 897, 894, 893, 892, 0, 0, 0, - 0, 0, 0, 0, 634, 0, 0, 642, 636, 635, - 649, 647, 648, 881, 0, 0, 0, 0, 0, 0, - 691, 0, 0, 0, 0, 0, 0, 0, 0, 231, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 0, 634, 844, - 660, 642, 636, 635, 726, 231, 170, 169, 191, 0, - 425, 732, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 154, 651, 650, 641, 643, 654, 655, 652, 653, - 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, - 638, 743, 0, 845, 0, 192, 172, 176, 175, 848, - 849, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 219, 220, 212, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 385, 272, 517, 231, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 377, 378, 666, + 0, 413, 154, 0, 0, 231, 669, 670, 671, 672, + 673, 0, 0, 0, 0, 0, 397, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 0, + 0, 0, 0, 0, 517, 0, 0, 0, 0, 517, + 435, 0, 0, 0, 231, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 455, 0, 0, 239, 0, 423, + 425, 425, 0, 0, 0, 517, 517, 433, 0, 0, + 0, 469, 0, 0, 0, 231, 0, 0, 0, 0, + 0, 154, 154, 0, 0, 457, 0, 0, 425, 0, + 0, 0, 0, 0, 425, 290, 0, 0, 0, 0, + 425, 425, 0, 517, 0, 0, 425, 481, 0, 0, + 0, 0, 486, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, + 768, 769, 770, 771, 772, 773, 774, 775, 777, 0, + 0, 666, 0, 0, 534, 168, 170, 169, 191, 0, + 0, 538, 539, 540, 541, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 562, 0, 563, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 543, 860, + 859, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 0, 154, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 231, 0, 0, + 182, 174, 177, 179, 180, 178, 0, 0, 649, 647, + 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 587, 0, 0, 613, 0, 0, 634, 0, 0, + 642, 636, 635, 0, 845, 0, 0, 0, 0, 0, + 848, 849, 0, 0, 602, 604, 634, 0, 660, 642, + 636, 635, 154, 641, 643, 654, 655, 652, 653, 656, + 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, + 657, 659, 644, 645, 646, 637, 639, 640, 638, 0, + 0, 0, 0, 0, 0, 0, 384, 695, 695, 0, + 231, 231, 231, 0, 910, 0, 0, 0, 342, 0, + 0, 0, 0, 0, 0, 0, 413, 413, 272, 0, + 231, 231, 691, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 649, 647, 648, 0, + 0, 0, 0, 0, 0, 453, 0, 0, 0, 0, + 0, 0, 0, 469, 0, 469, 726, 231, 0, 231, + 0, 0, 425, 732, 469, 0, 0, 0, 231, 951, + 0, 846, 0, 154, 634, 0, 660, 642, 636, 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 634, 0, 0, 642, 636, 635, 336, 793, 0, - 0, 0, 0, 911, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 231, 650, 641, 643, 654, - 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, - 637, 639, 640, 638, 0, 0, 826, 0, 0, 0, - 0, 231, 0, 0, 425, 425, 0, 834, 192, 172, - 176, 175, 841, 0, 0, 0, 154, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 952, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 857, 20, 0, 32, 0, 33, 0, 865, 21, - 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, - 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, - 7, 45, 47, 49, 0, 0, 0, 425, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 624, - 34, 0, 62, 0, 96, 0, 0, 425, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 336, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, - 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, - 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 8, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 489, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 15, - 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, - 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 1078, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, - 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 1068, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 1058, 34, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 1053, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 0, 0, 634, 743, 0, 642, 636, 635, 651, 650, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 650, 641, 643, + 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, + 646, 637, 639, 640, 638, 0, 0, 634, 0, 0, + 642, 636, 635, 0, 0, 0, 805, 0, 0, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 336, + 793, 649, 647, 648, 643, 654, 655, 652, 653, 656, + 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 613, 0, 0, 0, 0, 0, 0, 0, 826, 634, + 844, 660, 642, 636, 635, 0, 425, 425, 0, 0, + 0, 0, 0, 0, 841, 0, 0, 0, 154, 0, + 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, + 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 695, 0, 413, 0, 231, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 857, 0, 0, 0, 0, 0, 0, + 865, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 469, 0, 0, 0, 231, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, + 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, + 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 110, 111, 106, 107, 0, 0, 0, 0, 425, 0, + 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 336, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 1018, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 624, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, + 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, + 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 995, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 489, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, + 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, + 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 994, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, @@ -953,11 +858,11 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 992, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 1076, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 991, 33, 0, 0, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, @@ -967,10 +872,10 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 1066, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 929, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, @@ -980,10 +885,10 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 1056, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 854, 20, 0, 32, 0, 33, + 94, 28, 19, 18, 0, 20, 1051, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, @@ -1006,7 +911,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 551, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 1016, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, @@ -1019,7 +924,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 325, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 993, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -1032,7 +937,138 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 992, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 990, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 989, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 928, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 854, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 551, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 0, 34, 1035, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 0, 34, 925, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 0, 34, 810, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -1045,7 +1081,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 1037, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 679, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -1056,216 +1092,186 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, + 0, 0, 0, 77, 41, 27, 168, 170, 169, 191, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 926, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 810, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 679, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 0, 62, 0, 96, 172, 176, 175, 57, - 56, 58, 59, 72, 119, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 839, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 649, - 647, 648, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 783, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 786, 634, 0, 660, - 642, 636, 635, 649, 647, 648, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, - 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, - 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, - 0, 634, 0, 660, 642, 636, 635, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 651, 650, 641, 643, 654, - 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, - 637, 639, 640, 638, 0, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 733, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 690, 0, 0, 0, - 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 687, 0, 0, 0, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 623, 0, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 620, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 598, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 577, 0, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 119, 0, 0, 0, 834, 192, 172, 176, 175, + 649, 647, 648, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 783, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 786, 634, 0, + 660, 642, 636, 635, 649, 647, 648, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, + 0, 0, 651, 650, 641, 643, 654, 655, 652, 653, + 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, + 638, 0, 634, 0, 660, 642, 636, 635, 168, 170, + 169, 191, 208, 209, 210, 211, 213, 214, 215, 216, + 217, 218, 219, 220, 212, 0, 651, 650, 641, 643, + 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, + 646, 637, 639, 640, 638, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 420, - 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 733, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 389, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 690, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 340, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 687, 0, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 338, 0, 0, 0, 0, 0, 192, 172, 176, + 178, 623, 0, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 620, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 598, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 577, 0, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, + 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 420, 0, 0, 192, 172, 176, 175, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 165, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 649, 647, - 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 389, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 0, 634, 0, 660, 642, - 636, 635, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, - 657, 659, 644, 645, 646, 637, 639, 640, 638, 0, - 0, 0, 192, 172, 176, 175, 647, 648, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 634, 0, 660, 642, 636, 635, 0, - 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 651, 650, 641, - 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, - 645, 646, 637, 639, 640, 638, 634, 0, 660, 642, - 636, 635, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, - 657, 659, 644, 645, 646, 637, 639, 640, 638, 0, - 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 340, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 634, 0, 660, 642, 636, 635, 0, 0, + 180, 178, 338, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 651, 650, 641, 643, - 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, - 646, 637, 639, 640, 638, 634, 0, 0, 642, 636, - 635, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, - 650, 641, 643, 654, 655, 652, 653, 656, 658, 657, - 659, 644, 645, 646, 637, 639, 640, 638, 0, 172, - 176, 175, 0, 0, 0, 0, 82, 83, 71, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 165, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 649, + 647, 648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 634, 0, 660, + 642, 636, 635, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, + 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 0, 0, 0, 192, 172, 176, 175, 647, 648, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 634, 0, 660, 642, 636, 635, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 0, 0, 192, + 172, 176, 175, 0, 648, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 634, 0, 660, 642, 636, 635, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 651, 650, 641, 643, 654, 655, + 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, + 639, 640, 638, 0, 192, 172, 176, 175, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 192, 172, 176, 175, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 172, 176, 175, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 172, 176, + 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 615, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 634, 62, 608, 96, 636, 635, 614, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 44, + 94, 654, 655, 652, 653, 656, 658, 657, 659, 644, + 645, 646, 637, 639, 640, 638, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 191, 0, + 0, 148, 112, 108, 102, 615, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 172, 176, 175, 91, + 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 614, 57, 56, 58, 59, 72, 119, 0, 0, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 615, 84, 85, 86, 191, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 191, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 608, 96, 176, 175, - 614, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 76, 0, 0, 0, 0, 62, 0, 96, 176, 175, + 842, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 191, - 0, 0, 148, 112, 108, 102, 615, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 172, 176, 175, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 614, 57, 56, 58, 59, 72, 119, 0, 0, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 842, 57, 56, 58, 59, 72, 119, 82, 83, + 0, 605, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1278,22 +1284,7 @@ var yyAct = [...]int{ 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 605, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 191, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 172, - 176, 175, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 603, 57, 56, 58, 59, 72, 119, - 0, 0, 0, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 82, + 0, 0, 603, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1383,248 +1374,249 @@ var yyAct = [...]int{ 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 434, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 66, 67, 68, 69, 70, 0, 0, 634, 91, 76, + 642, 636, 635, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 654, 655, 652, 653, 656, + 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 82, 83, 71, 0, 104, 105, 125, 434, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 104, 105, 125, 77, - 41, 147, 0, 0, 0, 0, 515, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, - 513, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 516, 0, 0, 0, 0, 508, 112, 108, - 509, 104, 105, 125, 0, 0, 0, 0, 0, 0, - 0, 515, 0, 0, 0, 0, 232, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 104, 105, 125, 77, 41, 147, 0, 0, 0, 0, + 515, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 510, 0, 513, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, + 0, 508, 112, 108, 509, 104, 105, 125, 0, 0, + 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, + 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 776, 522, 0, 511, 0, 0, + 0, 521, 520, 518, 519, 0, 0, 510, 0, 513, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 516, 0, 0, 0, 0, 508, 112, 108, 509, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 776, 522, 0, 511, 0, 0, 0, 521, 520, 518, - 519, 0, 0, 510, 0, 513, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 508, 112, 108, 509, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 522, 0, 511, 0, - 0, 0, 521, 520, 518, 519, + 522, 0, 511, 0, 0, 0, 521, 520, 518, 519, } var yyPact = [...]int{ - -1000, -1000, 2381, -1000, -1000, -1000, -1000, 332, 589, 666, - 150, -1000, 353, -1000, -1000, 849, -1000, 254, -1000, -1000, - 331, 254, 7600, 7469, 7338, 409, 172, 770, 7731, -1000, - 5737, 329, 327, -1000, -1000, 426, 7731, 845, 55, 839, - 832, 7731, -1000, -1000, -1000, -1000, 665, -1000, 657, -1000, - 1634, 325, 7731, 452, 362, 362, 7731, 7731, 7731, 7731, - -1000, -1000, 7993, -1000, 7731, 7731, 7731, 7731, 7731, 7731, - 7731, 323, -1000, -1000, 209, 208, 784, 7731, 572, 407, - 320, 317, 7731, 7731, 313, 7731, 7731, -1000, 204, -1000, - -1000, 775, 714, -1000, 203, 312, 6945, -1000, 198, 193, - -1000, 489, 802, 532, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 158, 168, -1000, 523, -1000, -1000, 425, - -1000, 269, 345, -1000, 802, -1000, 145, 597, 587, -1000, - 682, 802, -1000, 830, -1000, -10, 4084, 352, 7993, 254, - 4870, 7731, -1000, -1000, 5690, -1000, 55, 687, 505, -1000, - 5643, -1000, 404, 1574, 5825, -1000, 143, -1000, -1000, 202, - 139, 55, -18, 138, 5825, -1000, -1000, -1000, -1000, -1000, - 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, - 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, - 7731, 407, 346, 362, 7731, 297, -1000, 5596, 403, 826, - -1000, 639, -1000, -1000, 1634, 5549, -1000, -1000, 7207, 7731, - 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, 7731, - 7731, 380, -1000, -1000, -1000, -1000, -1000, 489, 504, 802, - 518, 514, -1000, -1000, -107, -107, -8, -107, 265, 5505, - 264, -107, -107, -107, -107, -107, -107, -107, -1000, 7076, - -1000, 7731, 7731, 7731, 428, 722, 761, -1000, 238, 7862, - 362, 5994, 67, -1000, 513, -1000, 489, 502, 802, 571, - 158, 168, 512, 7731, 7731, 5825, 5825, 7731, 5825, 5825, - 7731, 517, 722, 683, -1000, 704, 7731, 6945, 185, 42, - 5461, 362, 7731, 7731, 825, 275, 489, 53, 7731, 7731, - 158, 425, 79, 275, 7731, 395, -1000, -1000, 2250, 489, - -1000, 673, 111, -1000, 669, 802, -11, -1000, 667, 802, - 824, 663, -19, 8153, -1000, -1000, -1000, -1000, -1000, 290, - 4870, -1000, -1000, 745, 394, 41, 5825, 296, -1000, -1000, - -1000, -1000, -1000, -1000, 172, -1000, 7731, -1000, -1000, 782, - -1000, 8153, -1000, 7731, 7731, 7731, 7731, 7731, 5953, 6781, - 6249, 7074, 74, 74, 74, -8, -107, -8, -8, -9, - -9, 1106, 1106, 1106, 1106, 267, 267, 267, 267, -1000, - 7731, -1000, 107, -1000, -1000, 1313, 724, 821, 3953, -1000, - -1000, -1000, 288, -1000, 593, 615, 7731, 5994, 253, 5994, - 5994, 5994, 5994, 5994, 5994, 5994, 5994, 5994, 5994, 5994, - 5994, 94, -1000, -1000, 287, 802, 489, 67, 67, -1000, - -1000, -1000, -1000, -107, 175, 5825, 171, -1000, -1000, -1000, - -1000, 844, 820, 5380, 190, 413, -1000, 169, -1000, -1000, - 158, 168, -1000, 7731, 275, 162, 802, 489, -1000, 158, - 162, 76, -1000, 1634, -1000, 808, 262, 5332, 165, -1000, - -1000, -1000, 161, 252, -1000, -1000, 6795, 6664, -1000, -1000, - 149, 146, -1000, -1000, 6252, 275, -1000, -1000, -1000, -1000, - 141, 5288, -1000, -1000, -1000, -1000, 5240, -1000, 2119, -1000, - 275, -1000, -1000, 597, 819, 658, -1000, 587, 814, 655, - -1000, 812, 8153, -1000, 5781, -1000, -1000, 489, 501, 802, - 286, 8153, -1000, -1000, -1000, -1000, 671, 511, 8153, 8153, - 8153, 8153, 8153, 247, -1000, -1000, 4739, -1000, -1000, -1000, - -1000, 392, 390, -1000, 5192, -25, 284, -1000, 5825, 6121, - 6369, 1838, 5994, 5144, 7731, 388, 362, 363, 363, 46, - -39, 703, 283, 675, 576, -1000, 489, 492, 802, 424, - 593, -1000, 1634, -1000, 407, -40, 380, -1000, 489, -1000, - -1000, -1000, 118, -1000, -1000, -1000, -1000, -1000, 7731, -1000, - -1000, 189, 92, 275, 7731, 7731, 158, 5098, -1000, -1000, - -1000, 489, 67, -1000, -1000, 7731, -1000, -1000, -1000, -1000, - -1000, -1000, 5050, 362, 5825, 362, -1000, -1000, -1000, 44, - 244, -1000, -1000, 1634, 362, 7731, -1000, 275, 275, -1000, - -1000, 275, 275, -1000, -1000, -1000, -1000, -1000, 811, -1000, - -1000, 806, -1000, -1000, 8153, 8153, 8153, 8153, 8153, 8153, - 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, - 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, 8153, - 8078, 802, 489, 8153, 109, 32, 5006, 520, 720, -66, - -66, 40, 40, 4962, 387, -1000, 4215, -1000, -1000, -1000, - 254, 7731, 7731, 448, -1000, 795, -1000, -1000, 8153, 675, - -1000, 4868, -1000, -1000, 544, -1000, 362, 282, 544, 4608, - 805, 8153, 668, 281, 675, 236, 26, -1000, 55, -1000, - -1000, -1000, 423, 593, 802, 489, -1000, -1, -1000, -1000, - 7731, -1000, 380, -1000, 205, -1000, 1951, 556, 7731, 7731, - -1000, 108, 4918, -1000, -1000, -1000, 6533, -1000, -1000, -1000, - 6383, -1000, -1000, 5825, -1000, -1000, -1000, -1000, -1000, -1000, - 1793, 40, 40, -66, -66, -66, -66, 1343, 1505, 1599, - 60, 60, 40, 5911, 6037, 5868, 1749, 1896, 91, 91, - 91, 91, 218, 218, 218, 218, 8153, 1172, 489, 234, - -1000, -1000, 8153, 8153, -1000, -1000, -1000, -1000, 486, -1000, - 3822, 386, 385, 5825, -1000, 7731, 279, 440, 383, 771, - -1000, 230, 7731, 229, 363, -1000, -1000, 226, -1000, -1000, - -1000, -42, -1000, -1000, -1000, -1000, 225, 676, 675, 400, - -1000, -1, 489, 1763, 593, 275, 5994, 38, -1000, 77, - 556, 7731, -1000, 67, 411, -1000, 89, 82, -1000, -1000, - -1000, 5825, 362, -1000, -1000, 6080, 8153, -1000, 1524, 5781, - -1000, 254, 4870, 484, 381, -1000, -1000, -14, -1000, -1000, - -1000, -1000, -1000, 379, 676, 4868, 4477, -1000, 380, 4477, - 3691, 8153, 421, 593, 419, 417, 271, -1000, 781, -1000, - 1694, -1000, -1000, -1000, -26, -1000, 687, 524, -1000, 801, - 593, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 7731, 556, -1000, 70, -1000, -1000, -1000, -1000, 557, - -1000, 6080, 8153, -1000, -1000, 457, 254, 341, -1000, 7731, - -1000, -1000, -1000, 416, -1000, -1000, -1000, -5, -1000, 372, - -1000, -1000, -1000, -1000, -1000, 181, -43, -1000, 776, -1000, - 798, 55, -1000, -44, -35, -1000, 69, 556, -1000, -1000, - -1000, 67, 5781, 4870, 371, 335, -1000, 222, -1000, 4215, - -1000, 3560, -1000, -1000, 3429, 774, 3298, 3167, -12, -1000, - 773, 8153, -31, -48, -58, 796, 8153, -1000, 593, -1000, - 599, -1000, -1000, -1000, -1000, -1000, -1000, 4215, -1000, 4215, - 3036, 364, -1000, 221, -1000, -1000, -1000, 176, -1000, -1000, - -1000, 762, 8153, 8153, -1000, -1000, -1000, 408, 599, -1000, - 361, 358, 674, 721, 488, -1000, -1000, 4346, -1000, -1000, - -1000, -1000, 758, -69, -1000, -1000, 239, -1000, -1000, -1000, - -1000, 593, 524, 790, 4215, -1000, -1000, -1000, 382, -1000, - 8153, 675, -2, -1000, 787, -1000, -1000, 2905, -1000, -1000, - 217, 593, -1000, 206, 2774, 348, -1000, -1000, -1000, -1000, - -1000, -1000, 677, 2643, -1000, 677, -1000, 110, -1000, -1000, - 593, -1000, 755, 214, -1000, 365, -1000, 2512, -1000, + -1000, -1000, 2348, -1000, -1000, -1000, -1000, 320, 492, 593, + 149, -1000, 350, -1000, -1000, 870, -1000, 269, -1000, -1000, + 319, 269, 7510, 7379, 7248, 379, 194, 773, 7641, -1000, + 5668, 317, 316, -1000, -1000, 423, 7641, 868, 80, 867, + 863, 7641, -1000, -1000, -1000, -1000, 658, -1000, 657, -1000, + 4936, 315, 7641, 439, 279, 279, 7641, 7641, 7641, 7641, + -1000, -1000, 7927, -1000, 7641, 7641, 7641, 7641, 7641, 7641, + 7641, 314, -1000, -1000, 231, 226, 834, 7641, 626, 398, + 312, 309, 7641, 7641, 308, 7641, 7641, -1000, 225, -1000, + -1000, 819, 712, -1000, 224, 307, 6855, -1000, 222, 211, + -1000, 471, 832, 515, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 163, 192, -1000, 508, -1000, -1000, 422, + -1000, 265, 330, -1000, 832, -1000, 144, 618, 545, -1000, + 649, 832, -1000, 861, -1000, 43, 4051, 340, 7927, 269, + 4837, 7641, -1000, -1000, 5621, -1000, 80, 742, 495, -1000, + 5574, -1000, 378, 1667, 5756, -1000, 139, -1000, -1000, 322, + 100, 80, 38, 93, 5756, -1000, -1000, -1000, -1000, -1000, + 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, + 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, + 7641, 398, 336, 279, 7641, 306, -1000, 5527, 376, 860, + -1000, 637, -1000, -1000, 4936, 5480, -1000, -1000, 7117, 7641, + 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, + 7641, 177, -1000, -1000, -1000, -1000, -1000, 471, 494, 832, + 507, 506, -1000, -1000, -110, -110, -17, -110, 264, 5436, + 262, -110, -110, -110, -110, -110, -110, -110, -1000, 6986, + -1000, 7641, 7641, 7641, 310, 757, 781, -1000, 289, 7796, + 279, 5968, 59, -1000, 504, -1000, 471, 490, 832, 625, + 163, 192, 503, 7641, 7641, 5756, 5756, 7641, 5756, 5756, + 7641, 512, 757, 720, -1000, 695, 7641, 6855, 195, 51, + 5392, 279, 7641, 7641, 859, 280, 471, 56, 7641, 7641, + 163, 422, 66, 280, 7641, 374, -1000, -1000, 2217, 471, + -1000, 653, 75, -1000, 648, 832, 70, -1000, 604, 832, + 854, 589, 35, 8087, -1000, -1000, -1000, -1000, -1000, 302, + 4837, -1000, -1000, 782, 372, 48, 5756, 305, -1000, -1000, + -1000, -1000, -1000, -1000, 194, -1000, 7641, -1000, -1000, 812, + -1000, 8087, -1000, 7641, 7641, 7641, 7641, 7641, 5927, -18, + 6459, 6984, -9, -9, -9, -17, -110, -17, -17, 142, + 142, 1101, 1101, 1101, 1101, 133, 133, 133, 133, -1000, + 7641, -1000, 77, -1000, -1000, 1264, 763, 853, 3920, -1000, + -1000, -1000, 300, -1000, 602, 611, 7641, 5968, 185, 5968, + 5968, 5968, 5968, 5968, 5968, 5968, 5968, 5968, 5968, 5968, + 5968, 74, -1000, -1000, 299, 832, 471, 59, 59, -1000, + -1000, -1000, -1000, -110, 188, 5756, 184, -1000, -1000, -1000, + -1000, 799, 852, 5311, 208, 395, -1000, 198, -1000, -1000, + 163, 192, -1000, 7641, 280, 169, 832, 471, -1000, 163, + 169, 64, -1000, 4936, -1000, 969, 261, 5263, 176, -1000, + -1000, -1000, 175, 255, -1000, -1000, 6724, 6593, -1000, -1000, + 159, 155, -1000, -1000, 6181, 280, -1000, -1000, -1000, -1000, + 154, 5219, -1000, -1000, -1000, -1000, 5171, -1000, 2086, -1000, + 280, -1000, -1000, 618, 850, 535, -1000, 545, 849, 531, + -1000, 846, 8087, -1000, 5712, -1000, -1000, 471, 480, 832, + 298, 8087, -1000, -1000, -1000, -1000, 651, 501, 8087, 8087, + 8087, 8087, 8087, 254, -1000, -1000, 4706, -1000, -1000, -1000, + -1000, 370, 369, -1000, 5123, 28, 296, -1000, 5756, 6050, + 6298, 5842, 5968, 5075, 7641, 368, 279, 256, 256, 49, + 16, 737, 295, 609, 546, -1000, 471, 475, 832, 421, + 602, -1000, 4936, -1000, 398, -27, 177, 177, 471, -1000, + -1000, -1000, 147, -1000, -1000, -1000, -1000, -1000, 7641, -1000, + -1000, 204, 197, 280, 7641, 7641, 163, 5029, -1000, -1000, + -1000, 471, 59, -1000, -1000, 7641, -1000, -1000, -1000, -1000, + -1000, -1000, 4981, 279, 5756, 279, -1000, -1000, -1000, 37, + 250, -1000, -1000, 4936, 279, 7641, -1000, 280, 280, -1000, + -1000, 280, 280, -1000, -1000, -1000, -1000, -1000, 843, -1000, + -1000, 840, -1000, -1000, 8087, 8087, 8087, 8087, 8087, 8087, + 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, + 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, + 8012, 832, 471, 8087, 132, 45, 4937, 520, 724, -66, + -66, 1, 1, 4893, 365, -1000, 4182, -1000, -1000, -1000, + 269, 7641, 7641, 438, -1000, 769, -1000, -1000, 8087, 609, + -1000, 6009, -1000, -1000, 532, -1000, 279, 294, 532, 4575, + 838, 8087, 691, 292, 609, 249, -8, -1000, 80, -1000, + -1000, -1000, 420, 602, 832, 471, -1000, -30, -1000, -1000, + 7641, -1000, 27, -1000, 220, -1000, 4849, 540, 7641, 7641, + -1000, 131, 1218, -1000, -1000, -1000, 6462, -1000, -1000, -1000, + 6312, -1000, -1000, 5756, -1000, -1000, -1000, -1000, -1000, -1000, + 1854, 1, 1, -66, -66, -66, -66, 1792, 6178, 7632, + -67, -67, 1, 5885, 1085, 5799, 1582, 1747, 1060, 1060, + 1060, 1060, -43, -43, -43, -43, 8087, 1729, 471, 248, + -1000, -1000, 8087, 8087, -1000, -1000, -1000, -1000, 457, -1000, + 3789, 364, 363, 5756, -1000, 7641, 285, 436, 362, 749, + -1000, 244, 7641, 243, 256, -1000, 177, 240, -1000, -1000, + -1000, -42, -1000, -1000, -1000, -1000, 238, 659, 609, 469, + -1000, -30, 471, 1081, 602, 280, 5968, -1000, -1000, 78, + 540, 7641, -1000, 59, 393, -1000, 107, 105, -1000, -1000, + -1000, 5756, 279, -1000, -1000, 88, 8087, -1000, 1601, 5712, + -1000, 269, 4837, 452, 361, -1000, -1000, 1518, -1000, -1000, + -1000, -1000, -1000, 360, 659, 6009, 4444, -1000, -31, 4444, + 3658, 8087, 419, 602, 417, 411, 271, -1000, 811, -1000, + 406, -1000, -1000, -1000, 42, -1000, 742, 619, -1000, 825, + 602, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 7641, 540, -1000, 103, -1000, -1000, -1000, -1000, 543, -1000, + 88, 8087, -1000, -1000, 430, 269, 333, -1000, 7641, -1000, + -1000, -1000, 409, -1000, -1000, -1000, -1000, -1000, 358, -1000, + -1000, -1000, -1000, -1000, 212, -44, -1000, 810, -1000, 818, + 80, -1000, -53, -4, -1000, 101, 540, -1000, -1000, -1000, + 59, 5712, 4837, 355, 326, -1000, 235, -1000, 4182, -1000, + 3527, -1000, 3396, 809, 3265, 3134, -45, -1000, 808, 8087, + -46, -69, -71, 817, 8087, -1000, 602, -1000, 622, -1000, + -1000, -1000, -1000, -1000, -1000, 4182, -1000, 4182, 3003, 354, + -1000, 233, -1000, -1000, -1000, 199, -1000, -1000, -1000, 803, + 8087, 8087, -1000, -1000, -1000, 381, 622, -1000, 353, 331, + 668, 761, 500, -1000, -1000, 4313, -1000, -1000, -1000, -1000, + 802, -72, -1000, -1000, 268, -1000, -1000, -1000, -1000, 602, + 619, 816, 4182, -1000, -1000, -1000, 408, -1000, 8087, 609, + -65, -1000, 784, -1000, -1000, 2872, -1000, -1000, 213, 602, + -1000, 281, 2741, 346, -1000, -1000, -1000, -1000, -1000, -1000, + 723, 2610, -1000, 723, -1000, 257, -1000, -1000, 602, -1000, + 796, 102, -1000, 397, -1000, 2479, -1000, } var yyPgo = [...]int{ - 0, 1161, 52, 45, 39, 573, 1159, 1158, 7, 471, - 1202, 32, 1345, 24, 68, 62, 713, 15, 1157, 51, - 1156, 1155, 1153, 28, 1152, 46, 50, 1151, 1150, 1149, - 1148, 83, 1146, 1145, 37, 1144, 47, 0, 1143, 1142, - 1141, 6, 1140, 1139, 581, 1138, 1137, 54, 5, 1136, - 69, 61, 1133, 26, 1105, 1104, 1103, 1102, 1101, 1100, - 1099, 1098, 1097, 1088, 1084, 1082, 1081, 17, 1080, 1078, - 1074, 1073, 1072, 1070, 43, 1065, 1063, 27, 34, 23, - 1062, 1058, 1057, 1056, 1051, 1050, 8, 1049, 1048, 1047, - 1045, 1039, 1035, 3, 1034, 1033, 38, 1031, 1030, 16, - 1029, 99, 1028, 1, 1026, 1025, 1024, 1021, 29, 1016, - 1015, 1014, 33, 1013, 18, 42, 21, 1012, 1010, 1008, - 1007, 1006, 25, 1005, 191, 1002, 30, 1001, 1000, 999, - 998, 997, 996, 995, 988, 985, 984, 980, 978, 976, - 2, 975, 973, 969, 968, 966, 960, 4, 942, 939, - 936, 13, 14, 935, 931, 930, 929, 927, 680, 53, - 926, 22, 924, 923, 921, 920, 919, 918, 917, 915, - 914, 912, 911, 910, 909, 908, 907, 20, 906, 904, - 903, 902, 901, 58, 900, 19, 896, 894, 889, 888, - 886, 883, 12, 880, 877, 876, 1186, 36, 875, 873, - 35, 11, 871, 868, 867, 866, 865, 863, 862, 41, - 818, + 0, 1196, 51, 40, 39, 102, 1195, 1194, 15, 514, + 1233, 88, 1257, 91, 60, 61, 799, 1229, 1193, 33, + 1192, 1188, 1187, 74, 1186, 48, 84, 1177, 1176, 1148, + 1147, 114, 1146, 1145, 30, 1144, 32, 45, 52, 0, + 1143, 1142, 1140, 5, 1139, 1138, 517, 1137, 1136, 53, + 23, 27, 24, 1135, 46, 44, 1134, 13, 1133, 1132, + 1131, 1130, 1127, 1126, 1124, 1122, 1121, 1102, 1101, 1100, + 1099, 11, 1097, 1096, 1095, 1094, 1092, 1091, 43, 1089, + 1088, 28, 17, 1087, 1078, 1076, 1074, 1073, 1071, 14, + 1070, 1067, 1060, 1058, 1057, 1056, 2, 1053, 1051, 36, + 1049, 1048, 7, 1047, 22, 1045, 6, 1043, 1042, 1038, + 1031, 20, 1029, 1028, 1025, 54, 38, 18, 1024, 1023, + 1022, 1019, 1018, 21, 1016, 376, 1013, 26, 1012, 1009, + 1006, 1005, 1004, 1003, 1000, 997, 996, 990, 986, 982, + 980, 8, 976, 973, 972, 971, 969, 968, 1, 967, + 964, 962, 12, 37, 959, 958, 957, 955, 952, 616, + 42, 951, 19, 950, 947, 946, 945, 943, 942, 940, + 935, 934, 933, 932, 928, 925, 924, 923, 16, 922, + 921, 919, 918, 917, 916, 41, 915, 908, 907, 906, + 903, 902, 3, 901, 900, 899, 937, 34, 898, 897, + 29, 4, 894, 892, 890, 884, 883, 882, 844, } var yyR1 = [...]int{ - 0, 49, 36, 36, 37, 37, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 38, 38, 2, - 2, 2, 2, 39, 39, 3, 3, 3, 3, 40, - 40, 4, 4, 4, 4, 52, 52, 41, 41, 22, - 22, 22, 22, 23, 23, 24, 54, 55, 24, 58, - 59, 24, 62, 63, 24, 65, 66, 24, 68, 69, - 70, 24, 72, 24, 24, 24, 24, 24, 24, 24, + 0, 53, 38, 38, 39, 39, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 40, 40, 2, + 2, 2, 2, 41, 41, 3, 3, 3, 3, 42, + 42, 4, 4, 4, 4, 56, 56, 43, 43, 22, + 22, 22, 22, 23, 23, 24, 58, 59, 24, 62, + 63, 24, 66, 67, 24, 69, 70, 24, 72, 73, + 74, 24, 76, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 80, 24, 24, 24, 24, 24, 83, 85, 87, 88, - 89, 83, 84, 91, 84, 90, 90, 92, 92, 94, - 95, 93, 76, 76, 96, 50, 51, 99, 99, 100, - 100, 102, 97, 106, 98, 110, 98, 104, 104, 104, - 104, 105, 105, 109, 111, 111, 107, 107, 112, 112, - 78, 78, 77, 77, 113, 77, 71, 71, 79, 79, - 82, 82, 81, 81, 73, 73, 73, 73, 115, 117, - 115, 118, 115, 116, 116, 64, 64, 56, 119, 56, - 60, 120, 60, 57, 57, 61, 61, 103, 103, 121, - 121, 122, 122, 123, 123, 123, 123, 124, 124, 124, - 125, 125, 126, 126, 126, 126, 42, 42, 25, 25, - 25, 43, 43, 43, 43, 108, 108, 129, 127, 127, - 127, 134, 127, 132, 136, 136, 137, 137, 138, 138, - 139, 139, 140, 140, 141, 144, 144, 145, 145, 143, - 142, 142, 146, 146, 135, 135, 128, 128, 133, 133, - 148, 148, 147, 147, 147, 147, 147, 147, 130, 130, - 130, 130, 131, 131, 75, 75, 67, 67, 150, 149, - 149, 151, 151, 153, 153, 155, 154, 154, 154, 156, - 157, 156, 160, 158, 13, 13, 13, 162, 13, 13, + 83, 24, 24, 24, 24, 24, 86, 88, 90, 91, + 92, 86, 87, 94, 87, 93, 93, 95, 95, 97, + 98, 96, 80, 80, 99, 54, 55, 102, 102, 103, + 103, 105, 100, 109, 101, 113, 101, 107, 107, 107, + 107, 108, 108, 112, 114, 114, 110, 110, 115, 115, + 81, 81, 52, 52, 52, 75, 75, 82, 82, 85, + 85, 84, 84, 77, 77, 77, 77, 116, 118, 116, + 119, 116, 117, 117, 68, 68, 60, 120, 60, 64, + 121, 64, 61, 61, 65, 65, 106, 106, 122, 122, + 123, 123, 124, 124, 124, 124, 125, 125, 125, 126, + 126, 127, 127, 127, 127, 44, 44, 25, 25, 25, + 45, 45, 45, 45, 111, 111, 130, 128, 128, 128, + 135, 128, 133, 137, 137, 138, 138, 139, 139, 140, + 140, 141, 141, 142, 145, 145, 146, 146, 144, 143, + 143, 147, 147, 136, 136, 129, 129, 134, 134, 149, + 149, 148, 148, 148, 148, 148, 148, 131, 131, 131, + 131, 132, 132, 79, 79, 71, 71, 151, 150, 150, + 152, 152, 154, 154, 156, 155, 155, 155, 157, 158, + 157, 161, 159, 13, 13, 13, 163, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 163, 13, 164, 13, - 165, 13, 166, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 164, 13, 165, 13, 166, + 13, 167, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 167, 13, 168, 169, 13, 170, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 172, 13, - 13, 13, 13, 13, 13, 13, 176, 13, 178, 13, - 74, 74, 74, 74, 173, 173, 173, 173, 174, 174, - 101, 177, 177, 179, 179, 179, 179, 180, 21, 181, - 21, 182, 21, 184, 21, 186, 21, 187, 21, 188, - 21, 189, 21, 9, 9, 9, 9, 86, 86, 86, - 159, 159, 191, 193, 190, 190, 194, 194, 195, 171, - 171, 171, 175, 175, 175, 161, 161, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, - 26, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 198, 198, 198, 198, 198, 198, 198, 198, 198, + 13, 168, 13, 169, 170, 13, 171, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 173, 13, 13, + 13, 13, 13, 13, 13, 177, 13, 179, 13, 78, + 78, 78, 78, 174, 174, 174, 174, 175, 175, 104, + 178, 178, 180, 180, 180, 180, 181, 21, 182, 21, + 183, 21, 184, 21, 186, 21, 187, 21, 188, 21, + 189, 21, 9, 9, 9, 9, 89, 89, 89, 160, + 160, 191, 193, 190, 190, 194, 194, 195, 172, 172, + 172, 176, 176, 176, 162, 162, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 6, 26, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 33, 33, 33, 33, 27, 27, - 27, 27, 27, 27, 27, 197, 197, 200, 200, 199, - 199, 199, 199, 12, 12, 53, 53, 14, 15, 16, - 17, 17, 202, 202, 203, 152, 204, 204, 206, 205, - 201, 201, 201, 185, 185, 207, 207, 10, 20, 20, - 18, 18, 18, 19, 19, 19, 8, 8, 8, 7, - 7, 11, 11, 192, 192, 208, 208, 208, 183, 183, - 48, 48, 114, 114, 209, 210, 209, 209, 47, 47, - 46, 46, 46, 46, 46, 46, 46, 46, 44, 44, - 44, 44, 31, 31, 31, 31, 31, 31, 32, 32, - 32, 35, 35, 35, 35, 35, 35, 35, 35, 45, - 45, 34, 34, 28, 28, 29, 30, + 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, + 198, 198, 198, 33, 33, 33, 33, 27, 27, 27, + 27, 27, 27, 27, 197, 197, 200, 200, 199, 199, + 199, 199, 12, 12, 57, 57, 14, 15, 16, 17, + 17, 202, 202, 203, 153, 204, 204, 206, 205, 201, + 201, 201, 185, 185, 207, 207, 10, 20, 20, 18, + 18, 18, 19, 19, 19, 8, 8, 8, 7, 7, + 11, 11, 192, 192, 208, 208, 208, 37, 37, 51, + 51, 50, 50, 36, 36, 36, 49, 49, 48, 48, + 48, 48, 48, 48, 48, 48, 46, 46, 46, 46, + 31, 31, 31, 31, 31, 31, 32, 32, 32, 35, + 35, 35, 35, 35, 35, 35, 35, 47, 47, 34, + 34, 28, 28, 29, 30, } var yyR2 = [...]int{ @@ -1641,273 +1633,273 @@ var yyR2 = [...]int{ 0, 10, 1, 3, 1, 1, 1, 0, 1, 0, 1, 0, 10, 0, 8, 0, 7, 1, 2, 1, 2, 0, 2, 1, 0, 2, 0, 2, 1, 3, - 0, 2, 1, 2, 0, 5, 1, 4, 1, 4, - 1, 4, 3, 5, 3, 4, 4, 5, 0, 0, - 6, 0, 5, 1, 1, 1, 4, 0, 0, 5, - 0, 0, 6, 0, 2, 0, 3, 1, 0, 1, - 3, 4, 6, 0, 1, 1, 1, 2, 3, 3, - 1, 3, 1, 1, 2, 2, 3, 1, 1, 2, - 4, 3, 5, 1, 3, 2, 0, 0, 4, 2, - 1, 0, 9, 3, 1, 3, 1, 3, 0, 1, - 1, 2, 2, 2, 3, 1, 3, 1, 1, 3, - 4, 3, 0, 1, 1, 3, 1, 1, 0, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, - 1, 3, 5, 4, 3, 1, 0, 1, 0, 4, - 1, 2, 1, 4, 3, 0, 3, 1, 1, 0, - 0, 2, 0, 4, 6, 3, 4, 0, 7, 2, + 0, 2, 1, 2, 4, 1, 4, 1, 4, 1, + 4, 3, 5, 3, 4, 4, 5, 0, 0, 6, + 0, 5, 1, 1, 1, 4, 0, 0, 5, 0, + 0, 6, 0, 2, 0, 3, 1, 0, 1, 3, + 4, 6, 0, 1, 1, 1, 2, 3, 3, 1, + 3, 1, 1, 2, 2, 3, 1, 1, 2, 4, + 3, 5, 1, 3, 2, 0, 0, 4, 2, 1, + 0, 9, 3, 1, 3, 1, 3, 0, 1, 1, + 2, 2, 2, 3, 1, 3, 1, 1, 3, 4, + 3, 0, 1, 1, 3, 1, 1, 0, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 3, 5, 1, + 3, 5, 4, 3, 1, 0, 1, 0, 4, 1, + 2, 1, 4, 3, 0, 3, 1, 1, 0, 0, + 2, 0, 4, 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 2, 2, 0, 4, 0, 4, - 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 1, 1, 0, 5, 0, 0, 7, 0, 5, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, - 1, 1, 1, 3, 2, 1, 0, 10, 0, 11, - 2, 2, 4, 4, 4, 4, 4, 4, 4, 3, - 1, 0, 4, 3, 4, 1, 2, 0, 3, 0, - 5, 0, 4, 0, 5, 0, 5, 0, 5, 0, - 5, 0, 3, 1, 1, 3, 2, 1, 3, 2, - 1, 1, 0, 0, 6, 1, 2, 0, 2, 0, - 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 2, 3, - 1, 1, 1, 1, 3, 2, 4, 3, 1, 1, - 1, 4, 3, 3, 3, 3, 3, 3, 2, 2, + 3, 2, 2, 2, 2, 0, 4, 0, 4, 0, + 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, + 1, 0, 5, 0, 0, 7, 0, 5, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 0, 3, 1, + 1, 1, 3, 2, 1, 0, 10, 0, 11, 2, + 2, 4, 4, 4, 4, 4, 4, 4, 3, 1, + 0, 4, 3, 4, 1, 2, 0, 3, 0, 5, + 0, 4, 0, 5, 0, 5, 0, 5, 0, 5, + 0, 3, 1, 1, 3, 2, 1, 3, 2, 1, + 1, 0, 0, 6, 1, 2, 0, 2, 0, 2, + 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 2, 3, 1, + 1, 1, 1, 3, 2, 4, 3, 1, 1, 1, + 4, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, - 5, 2, 2, 3, 1, 1, 3, 2, 1, 1, - 1, 1, 3, 3, 1, 0, 2, 0, 1, 5, - 3, 3, 1, 1, 1, 3, 3, 1, 1, 1, - 5, 1, 2, 0, 0, 4, 4, 4, 0, 2, - 1, 1, 0, 1, 2, 3, 3, 1, 4, 4, - 1, 1, 1, 1, 2, 1, 4, 4, 1, 1, - 4, 0, 1, 1, 1, 4, 4, 1, 1, 3, - 1, 2, 3, 1, 1, 0, 5, 0, 0, 2, - 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, - 1, 2, 1, 4, 3, 3, 6, 3, 1, 1, - 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, - 3, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, + 2, 2, 3, 1, 1, 3, 2, 1, 1, 1, + 1, 3, 3, 1, 0, 2, 0, 1, 5, 3, + 3, 1, 1, 1, 3, 3, 1, 1, 1, 5, + 1, 2, 0, 0, 4, 4, 4, 0, 2, 1, + 1, 0, 1, 2, 3, 3, 1, 4, 4, 1, + 1, 1, 1, 2, 1, 4, 4, 1, 1, 4, + 0, 1, 1, 1, 4, 4, 1, 1, 3, 1, + 2, 3, 1, 1, 4, 0, 0, 2, 5, 3, + 3, 1, 6, 4, 4, 2, 2, 2, 1, 2, + 1, 4, 3, 3, 6, 3, 1, 1, 1, 4, + 4, 4, 2, 2, 4, 2, 2, 1, 3, 1, + 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -49, -36, -1, -23, -50, -51, 51, 79, 44, - -52, -24, 10, -97, -98, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -74, 46, 98, 19, 14, - -12, 48, 25, 27, 121, 40, 43, 36, -101, -104, - -109, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -1000, -53, -38, -1, -23, -54, -55, 51, 79, 44, + -56, -24, 10, -100, -101, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -78, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -104, -107, + -112, 97, -14, -13, 37, 52, 99, 53, 100, 54, -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, - -53, -158, 123, -35, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -27, -173, -174, 118, 96, -18, 91, + -57, -159, 123, -35, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -27, -174, -175, 118, 96, -18, 91, 49, 50, 4, 5, 84, 85, 86, 11, -33, -30, -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, - -28, -37, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -48, -207, -10, -185, -7, 134, - 12, 123, -37, 119, 82, 10, -38, 37, 38, -2, - -37, 82, 121, 135, 122, 10, -41, -53, 123, -62, - -65, 123, -53, 121, -12, 97, -101, 98, 79, 121, - -12, 121, -13, -17, -12, 121, -42, -25, 12, 134, - -43, -101, 12, -75, -12, 121, 149, 150, 87, 89, + -28, -39, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -51, -207, -10, -185, -7, 134, + 12, 123, -39, 119, 82, 10, -40, 37, 38, -2, + -39, 82, 121, 135, 122, 10, -43, -57, 123, -66, + -69, 123, -57, 121, -12, 97, -104, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -44, -25, 12, 134, + -45, -104, 12, -79, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -80, 119, -12, 10, -99, + 160, 90, 127, 123, 123, -83, 119, -12, 10, -102, 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -12, 104, 105, -16, -17, -37, 79, 82, - -9, -10, 98, -16, -12, -12, -12, -12, -158, -12, - -74, -12, -12, -12, -12, -12, -12, -12, -171, 123, - -53, -172, 125, 125, -175, 17, -44, -31, 12, 76, - 77, -12, 57, -159, -9, -190, -37, 79, 82, -19, - -8, -48, -10, 123, 123, -12, -12, 123, -12, -12, - 125, -44, 17, 17, 75, -44, 125, 123, -47, -46, - -12, 128, 125, 125, 82, -180, -37, 78, 125, 119, - -8, 134, 78, -189, 119, 124, 121, 119, -36, -37, - 121, 135, -39, -3, -37, 82, -40, -4, -37, 82, - 29, -37, 10, 136, -22, 120, -23, -50, -51, 51, - -54, 122, -53, -23, -67, -149, -12, -72, 121, -99, + 147, 123, -12, 104, 105, -16, -17, -39, 79, 82, + -9, -10, 98, -16, -12, -12, -12, -12, -159, -12, + -78, -12, -12, -12, -12, -12, -12, -12, -172, 123, + -57, -173, 125, 125, -176, 17, -46, -31, 12, 76, + 77, -12, 57, -160, -9, -190, -39, 79, 82, -19, + -8, -51, -10, 123, 123, -12, -12, 123, -12, -12, + 125, -46, 17, 17, 75, -46, 125, 123, -49, -48, + -12, 128, 125, 125, 82, -181, -39, 78, 125, 119, + -8, 134, 78, -189, 119, 124, 121, 119, -38, -39, + 121, 135, -41, -3, -39, 82, -42, -4, -39, 82, + 29, -39, 10, 136, -22, 120, -23, -54, -55, 51, + -58, 122, -57, -23, -71, -150, -12, -76, 121, -102, 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, - -99, 136, 121, 135, -163, -164, -165, -166, -12, -12, + -102, 136, 121, 135, -164, -165, -166, -167, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -159, - -168, 122, -76, -96, -17, -17, -13, 123, -41, 121, - 121, 10, -176, -105, 55, -110, 58, -12, 128, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -160, + -169, 122, -80, -99, -17, -17, -13, 123, -43, 121, + 121, 10, -177, -108, 55, -113, 58, -12, 128, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -114, -209, -17, 59, 82, -37, 78, 78, 124, + -12, -50, -36, -17, 59, 82, -39, 78, 78, 124, 124, 124, 124, -12, -11, -12, -11, 118, -31, -31, - 17, 125, 57, -12, 11, -17, -192, -208, -185, -183, - -8, -48, 10, 119, -160, 78, 82, -37, 57, -8, - 78, -45, -34, -17, -13, -17, -13, -12, -11, 117, - 75, 75, -11, -47, 126, -200, 135, 58, -15, -17, - -11, -11, 10, -124, 123, -182, -183, -185, 10, 52, - -11, -12, -183, -185, 10, -124, -12, 121, -36, 120, - -181, -2, 121, 135, 29, -37, 121, 135, 29, -37, - 10, 29, 136, -26, -196, -5, -29, -37, 79, 82, + 17, 125, 57, -12, 11, -17, -192, -208, -185, -37, + -8, -51, 10, 119, -161, 78, 82, -39, 57, -8, + 78, -47, -34, -17, -13, -17, -13, -12, -11, 117, + 75, 75, -11, -49, 126, -200, 135, 58, -15, -17, + -11, -11, 10, -125, 123, -183, -37, -185, 10, 52, + -11, -12, -37, -185, 10, -125, -12, 121, -38, 120, + -182, -2, 121, 135, 29, -39, 121, 135, 29, -39, + 10, 29, 136, -26, -196, -5, -29, -39, 79, 82, 60, 125, -6, 62, -198, 18, 74, -9, 131, 132, - 130, 129, 123, 123, -23, -58, -63, 21, 121, 135, - -73, 119, 122, -25, -12, 12, -178, -26, -12, -12, - -12, -12, -12, -12, -170, 124, 135, 29, 29, -81, - 10, 120, -102, 123, -106, -86, -37, 79, 82, -111, - 55, -13, -17, -17, 91, 124, 135, 123, -37, -167, + 130, 129, 123, 123, -23, -62, -67, 21, 121, 135, + -77, 119, 122, -25, -12, 12, -179, -26, -12, -12, + -12, -12, -12, -12, -171, 124, 135, 29, 29, -84, + 10, 120, -105, 123, -109, -89, -39, 79, 82, -114, + 55, -13, -17, -17, 91, 124, 135, 123, -39, -168, 126, 126, -32, 10, 13, 12, 10, 120, 125, 120, - -201, -205, -204, -206, 125, 119, -8, -12, -161, -124, - -185, -37, -191, -185, 124, 135, 124, 124, 124, 126, - 126, 124, -12, 128, -12, 128, 126, 126, 124, -125, - -74, -126, -13, -17, 128, 83, -124, -184, -186, 126, - 120, -187, -188, 120, 120, -124, -3, 10, 29, -4, + -201, -205, -204, -206, 125, 119, -8, -12, -162, -125, + -185, -39, -191, -185, 124, 135, 124, 124, 124, 126, + 126, 124, -12, 128, -12, 128, 126, 126, 124, -126, + -78, -127, -13, -17, 128, 83, -125, -184, -186, 126, + 120, -187, -188, 120, 120, -125, -3, 10, 29, -4, 10, 29, 10, -26, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -37, 123, -197, -199, -196, 17, 78, -196, - -196, -196, -196, -196, 124, -55, -41, -64, -23, 122, - -66, -68, -150, -115, 121, -115, 121, 120, 136, 123, - 122, -12, 121, -96, -77, -17, 128, 59, -77, 124, - 135, 136, -83, 41, 123, -103, -121, -122, -123, 60, - 61, -86, -107, 56, 82, -37, 119, -112, -86, -159, - 136, -209, -210, -156, -157, 126, -12, -202, 125, 125, - -124, -11, -12, 120, -192, -34, 58, -15, -15, 124, - 135, 124, -15, -12, -124, -124, -124, -124, 10, 10, + 127, 82, -39, 123, -197, -199, -196, 17, 78, -196, + -196, -196, -196, -196, 124, -59, -43, -68, -23, 122, + -70, -72, -151, -116, 121, -116, 121, 120, 136, 123, + 122, -12, 121, -99, -52, -17, 128, 59, -52, 124, + 135, 136, -86, 41, 123, -106, -122, -123, -124, 60, + 61, -89, -110, 56, 82, -39, 119, -115, -89, -160, + 136, -36, -50, -157, -158, 126, -12, -202, 125, 125, + -125, -11, -12, 120, -192, -34, 58, -15, -15, 124, + 135, 124, -15, -12, -125, -125, -125, -125, 10, 10, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, -196, -196, -196, 122, -196, -37, -197, - 126, -200, 135, 58, 10, 52, 124, 121, -56, -59, - -41, -53, -67, -12, 120, 32, 33, -115, 31, -115, - -26, -103, -169, -78, 58, -17, 123, -78, -82, -23, - 122, 10, -26, -84, 42, 123, -103, 124, 135, -99, - 119, -112, -37, -108, 135, -162, -12, -114, -154, -153, - -151, 125, -152, 57, 126, -152, -11, -11, 126, 120, - -193, -12, 128, -126, 126, -196, 122, 124, -196, -196, - -57, 93, 94, -60, 22, 121, 121, -12, -116, 122, - 121, 120, 121, 31, 124, -12, 124, -77, -113, 124, - -41, 136, -91, -85, 124, -177, 44, -122, -100, 83, - -108, 120, -127, -128, -131, -132, -133, -148, 47, 38, - 44, -147, 103, 102, 101, 98, 99, 100, -86, -161, - 124, 125, -155, -152, -11, -192, 120, 126, 126, -194, - -15, -196, 58, -53, -23, -61, 93, 94, 121, -69, - -116, -118, 121, -177, -79, -23, 122, -114, -79, 28, - -26, 119, -86, 119, 119, 123, 12, 120, -129, 121, - 135, -101, -147, 10, -136, -86, -11, -151, 126, -203, - -195, 57, -196, -119, 95, -53, 122, -67, -117, -41, - 119, -41, 124, 121, -41, -87, -41, -41, -179, 12, - 128, 136, -130, 12, 10, -99, 136, -137, 135, 121, - 119, 126, -201, -192, -23, 121, 122, -41, 124, -41, - -41, 26, 120, 12, 120, 120, 124, 135, 12, -26, - 121, 135, 136, 136, 10, -26, -86, -138, -139, -140, - -141, -142, -143, -145, -86, 10, -120, -70, 120, 121, - 124, 12, 128, 12, -26, -26, -134, 120, -140, 121, - 121, 45, 29, 78, -41, -71, -23, 122, -88, 12, - 136, 123, -144, -86, -146, -147, 10, -41, 119, -26, - -103, 135, 10, 24, -41, 124, -86, 121, 120, -135, - 121, 119, -89, -41, -90, -92, -93, 41, 120, -93, - 123, -86, -94, 12, 124, -95, 119, -41, 120, + -196, -196, -196, -196, -196, -196, 122, -196, -39, -197, + 126, -200, 135, 58, 10, 52, 124, 121, -60, -63, + -43, -57, -71, -12, 120, 32, 33, -116, 31, -116, + -26, -106, -170, -81, 58, -17, 123, -81, -85, -23, + 122, 10, -26, -87, 42, 123, -106, 124, 135, -102, + 119, -115, -39, -111, 135, -163, -12, 124, -155, -154, + -152, 125, -153, 57, 126, -153, -11, -11, 126, 120, + -193, -12, 128, -127, 126, -196, 122, 124, -196, -196, + -61, 93, 94, -64, 22, 121, 121, -12, -117, 122, + 121, 120, 121, 31, 124, -12, 124, -52, -50, 124, + -43, 136, -94, -88, 124, -178, 44, -123, -103, 83, + -111, 120, -128, -129, -132, -133, -134, -149, 47, 38, + 44, -148, 103, 102, 101, 98, 99, 100, -89, -162, + 125, -156, -153, -11, -192, 120, 126, 126, -194, -15, + -196, 58, -57, -23, -65, 93, 94, 121, -73, -117, + -119, 121, -178, -82, -23, 122, 124, -82, 28, -26, + 119, -89, 119, 119, 123, 12, 120, -130, 121, 135, + -104, -148, 10, -137, -89, -11, -152, 126, -203, -195, + 57, -196, -120, 95, -57, 122, -71, -118, -43, 119, + -43, 121, -43, -90, -43, -43, -180, 12, 128, 136, + -131, 12, 10, -102, 136, -138, 135, 121, 119, 126, + -201, -192, -23, 121, 122, -43, 124, -43, -43, 26, + 120, 12, 120, 120, 124, 135, 12, -26, 121, 135, + 136, 136, 10, -26, -89, -139, -140, -141, -142, -143, + -144, -146, -89, 10, -121, -74, 120, 121, 124, 12, + 128, 12, -26, -26, -135, 120, -141, 121, 121, 45, + 29, 78, -43, -75, -23, 122, -91, 12, 136, 123, + -145, -89, -147, -148, 10, -43, 119, -26, -106, 135, + 10, 24, -43, 124, -89, 121, 120, -136, 121, 119, + -92, -43, -93, -95, -96, 41, 120, -96, 123, -89, + -97, 12, 124, -98, 119, -43, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 105, 106, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 383, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 382, 0, 75, 0, 0, 0, 80, 82, 0, 0, 0, 107, 0, - 0, 345, 483, 484, 360, 117, 0, 119, 0, 123, + 0, 344, 482, 483, 359, 117, 0, 119, 0, 123, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 320, 321, 0, 329, 0, 0, 0, 0, 0, 0, - 0, 399, 338, 340, 341, 342, 402, 0, 491, 0, - 0, 0, 0, 0, 0, 0, 0, 468, 469, 470, - 471, 0, 0, 474, 409, 0, 538, 510, 511, 512, - 464, -2, 0, 0, 407, 408, 410, 411, 412, 413, - 414, 415, 416, -2, 0, 515, 0, 381, 518, 530, - 519, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 319, 320, 0, 328, 0, 0, 0, 0, 0, 0, + 0, 398, 337, 339, 340, 341, 401, 0, 490, 0, + 0, 0, 0, 0, 0, 0, 0, 467, 468, 469, + 470, 0, 0, 473, 408, 0, 536, 509, 510, 511, + 463, -2, 0, 0, 406, 407, 409, 410, 411, 412, + 413, 414, 415, -2, 0, 514, 0, 380, 517, 529, + 518, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 246, 62, 64, 0, 345, 107, 383, 0, 66, - 0, 68, 484, -2, 0, 71, 0, 187, 188, 0, - 0, 107, 193, 0, 245, 76, 286, 288, 290, 292, + 0, 245, 62, 64, 0, 344, 107, 382, 0, 66, + 0, 68, 483, -2, 0, 71, 0, 186, 187, 0, + 0, 107, 192, 0, 244, 76, 285, 287, 289, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 324, 0, 0, 0, 38, 0, 0, 346, + 0, 0, 323, 0, 0, 0, 38, 0, 0, 345, 108, 121, 115, -2, -2, 0, 118, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 537, 269, 282, 284, 283, 489, -2, 0, 0, - 0, 0, 383, 285, 307, 308, 309, 310, 321, 0, - 0, 330, 331, 332, 333, 334, 335, 336, 337, 0, - 401, 0, 521, 521, 0, 403, 404, 550, 552, 0, - 0, 344, 0, 262, 390, 391, 384, 0, 0, 395, - -2, 0, 0, 0, 0, 564, 565, 0, 567, 568, - 521, 0, 0, 0, 418, 0, 521, 538, 0, 477, - 543, 0, 521, 521, 0, 0, -2, 0, 521, 0, - -2, 531, 0, 0, 0, 0, 10, 3, 0, -2, + 0, 535, 268, 281, 283, 282, 488, -2, 0, 0, + 0, 0, 382, 284, 306, 307, 308, 309, 320, 0, + 0, 329, 330, 331, 332, 333, 334, 335, 336, 0, + 400, 0, 520, 520, 0, 402, 403, 548, 550, 0, + 0, 343, 0, 261, 389, 390, 383, 0, 0, 394, + -2, 0, 0, 0, 0, 562, 563, 0, 565, 566, + 520, 0, 0, 0, 417, 0, 520, 536, 0, 476, + 541, 0, 520, 520, 0, 0, -2, 0, 520, 0, + -2, 530, 0, 0, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, 0, - 0, 49, 53, 0, 0, 247, 250, 0, 65, 346, - 67, 69, 70, 72, 0, 189, 0, 487, 73, 0, - 348, 0, 74, 0, 0, 0, 0, 0, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, -2, -2, -2, -2, -2, -2, -2, -2, 319, - 0, 327, 0, 102, 104, -2, 484, 0, 0, 84, - 85, 111, 0, 113, 0, 124, 0, 265, 0, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 0, 533, 534, 0, 0, -2, 0, 0, 322, - 485, 486, 400, 339, 0, 522, 0, 343, 551, 548, - 549, 0, 0, 0, 468, 0, -2, 523, 524, 527, - 503, 0, 528, 0, 405, 0, 0, 386, 392, 514, - 0, 0, 569, -2, -2, -2, 484, 0, 0, 472, - 417, 473, 0, 0, 359, 539, 478, 0, 547, 488, - 0, 0, 5, 368, 0, 0, 373, -2, -2, 576, - 0, 0, 377, -2, -2, 382, 0, 9, 0, 12, + 0, 49, 53, 0, 0, 246, 249, 0, 65, 345, + 67, 69, 70, 72, 0, 188, 0, 486, 73, 0, + 347, 0, 74, 0, 0, 0, 0, 0, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -2, -2, -2, -2, -2, -2, -2, -2, 318, + 0, 326, 0, 102, 104, -2, 483, 0, 0, 84, + 85, 111, 0, 113, 0, 124, 0, 264, 0, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 0, 532, 533, 0, 0, -2, 0, 0, 321, + 484, 485, 399, 338, 0, 521, 0, 342, 549, 546, + 547, 0, 0, 0, 467, 0, -2, 522, 523, 526, + 502, 0, 527, 0, 404, 0, 0, 385, 391, 513, + 0, 0, 567, -2, -2, -2, 483, 0, 0, 471, + 416, 472, 0, 0, 358, 537, 477, 0, 545, 487, + 0, 0, 5, 367, 0, 0, 372, -2, -2, 574, + 0, 0, 376, -2, -2, 381, 0, 9, 0, 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, 33, - 20, 0, 0, 36, 420, 421, 422, -2, 0, 0, - 0, 475, 428, 429, 430, 409, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 38, 0, 56, 58, 248, - 63, 148, 148, 186, 0, 191, 0, 194, 244, 287, - 289, 291, 293, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 0, -2, 126, 122, 387, 0, 0, 0, - 0, -2, -2, 266, 0, 0, 537, 535, -2, -2, - 355, 354, 0, 558, 559, 560, 554, 555, 0, 557, - 493, 500, 501, 0, 521, 0, 504, 0, 263, 406, - 505, 385, 0, 506, 561, 0, 562, 563, 566, 357, - 356, 358, 541, 0, 542, 0, 508, 509, 177, 0, - 0, 180, -2, -2, 0, 0, 372, 0, 0, 516, - 517, 0, 0, 520, 11, 370, 23, 26, 0, 29, + 20, 0, 0, 36, 419, 420, 421, -2, 0, 0, + 0, 474, 427, 428, 429, 408, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 38, 0, 56, 58, 247, + 63, 147, 147, 185, 0, 190, 0, 193, 243, 286, + 288, 290, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 86, 0, -2, 126, 122, 386, 0, 0, 0, + 0, -2, -2, 265, 0, 0, 535, 535, -2, -2, + 354, 353, 0, 556, 557, 558, 552, 553, 0, 555, + 492, 499, 500, 0, 520, 0, 503, 0, 262, 405, + 504, 384, 0, 505, 559, 0, 560, 561, 564, 356, + 355, 357, 539, 0, 540, 0, 507, 508, 176, 0, + 0, 179, -2, -2, 0, 0, 371, 0, 0, 515, + 516, 0, 0, 519, 11, 369, 23, 26, 0, 29, 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2, 475, 0, 477, 482, 0, 0, 438, - 439, 461, 462, 0, 0, 157, 50, 54, 155, 38, - 0, 246, 0, 0, 148, 0, 148, 190, 0, -2, - 325, 328, 77, 103, 130, 132, 0, 0, 130, 0, - 0, 0, 92, 0, -2, 0, 167, 169, 107, 174, - 175, 176, 0, 0, 0, 389, 196, 125, 128, 267, - 0, 532, 537, 323, 0, 553, 0, 490, 521, 521, - 499, 0, 0, 529, 393, 570, 0, 545, 546, 178, - 0, 179, 184, 185, 374, 376, 378, 380, 28, 34, - 0, 432, 433, 434, 435, 436, 437, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, 450, -2, -2, + 0, 0, -2, 474, 0, 476, 481, 0, 0, 437, + 438, 460, 461, 0, 0, 156, 50, 54, 154, 38, + 0, 245, 0, 0, 147, 0, 147, 189, 0, -2, + 324, 327, 77, 103, 130, 132, 0, 0, 130, 0, + 0, 0, 92, 0, -2, 0, 166, 168, 107, 173, + 174, 175, 0, 0, 0, 388, 195, 125, 128, 266, + 0, 531, 0, 322, 0, 551, 0, 489, 520, 520, + 498, 0, 0, 528, 392, 568, 0, 543, 544, 177, + 0, 178, 183, 184, 373, 375, 377, 379, 28, 34, + 0, 431, 432, 433, 434, 435, 436, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, - 427, 476, 478, 0, 419, 575, 463, 42, 163, 160, - 0, 0, 0, 249, 144, 0, 0, 0, 0, 0, - 192, 0, 0, 0, 0, 133, 134, 0, 81, 140, - 38, 0, 142, 83, 93, 87, 0, 361, 173, 109, - 196, 127, 388, 228, 0, 405, 264, 0, 261, -2, - 258, 521, 252, 0, 0, 492, 0, 0, 525, 526, - 397, 540, 0, 181, 431, 459, 0, 426, 480, 481, - 48, 0, 0, 165, 0, 57, 59, 0, 151, 153, - 154, 145, 146, 0, 361, 326, 0, 131, 537, 0, - 0, 0, 0, 0, 0, 0, 0, 170, 0, 110, - 228, 116, 195, 197, 0, 200, 0, -2, 227, 0, - 0, 230, 232, 233, 234, 235, 236, 237, 129, 268, - 536, 521, 0, 251, 0, 494, 556, 497, 496, 394, - 544, 460, 0, 158, 164, 0, 0, 0, 156, 246, - 149, 38, 147, 0, 78, 138, 38, 0, 79, 0, - 143, 38, 88, 38, 38, 0, 171, 114, 0, 199, - 0, 107, 231, 0, 0, 204, 0, 256, 254, -2, - 396, 0, 479, 0, 0, 0, 38, 0, 38, 152, - 38, 0, 135, 141, 0, 0, 0, 0, 0, 365, - 0, 0, 0, 240, 0, 0, 0, 203, 0, 206, - 208, 253, 495, 398, 159, 51, 161, 166, 60, 150, - 0, 0, 94, 0, 112, 347, 362, 0, 366, 172, - 198, 0, 0, 0, 201, 243, 205, 0, 209, 210, - 0, 0, 218, 0, 0, -2, 38, 0, 349, 139, - 89, 363, 0, 238, 241, 242, 0, 207, 211, 212, - 213, 0, 222, 0, 162, 61, 136, 38, 0, 364, - 0, -2, 214, 215, 0, -2, 219, 0, 38, 239, - 0, 0, 220, 0, 0, 0, 216, 137, 90, 202, - 224, 38, 96, 0, 91, 95, 97, 0, 225, 98, - 0, 99, 0, 0, 100, 0, 38, 0, 101, + 426, 475, 477, 0, 418, 573, 462, 42, 162, 159, + 0, 0, 0, 248, 143, 0, 0, 0, 0, 0, + 191, 0, 0, 0, 0, 133, 535, 0, 81, 139, + 38, 0, 141, 83, 93, 87, 0, 360, 172, 109, + 195, 127, 387, 227, 0, 404, 263, 534, 260, -2, + 257, 520, 251, 0, 0, 491, 0, 0, 524, 525, + 396, 538, 0, 180, 430, 458, 0, 425, 479, 480, + 48, 0, 0, 164, 0, 57, 59, 0, 150, 152, + 153, 144, 145, 0, 360, 325, 0, 131, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 169, 0, 110, + 227, 116, 194, 196, 0, 199, 0, -2, 226, 0, + 0, 229, 231, 232, 233, 234, 235, 236, 129, 267, + 520, 0, 250, 0, 493, 554, 496, 495, 393, 542, + 459, 0, 157, 163, 0, 0, 0, 155, 245, 148, + 38, 146, 0, 78, 137, 38, 134, 79, 0, 142, + 38, 88, 38, 38, 0, 170, 114, 0, 198, 0, + 107, 230, 0, 0, 203, 0, 255, 253, -2, 395, + 0, 478, 0, 0, 0, 38, 0, 38, 151, 38, + 0, 140, 0, 0, 0, 0, 0, 364, 0, 0, + 0, 239, 0, 0, 0, 202, 0, 205, 207, 252, + 494, 397, 158, 51, 160, 165, 60, 149, 0, 0, + 94, 0, 112, 346, 361, 0, 365, 171, 197, 0, + 0, 0, 200, 242, 204, 0, 208, 209, 0, 0, + 217, 0, 0, -2, 38, 0, 348, 138, 89, 362, + 0, 237, 240, 241, 0, 206, 210, 211, 212, 0, + 221, 0, 161, 61, 135, 38, 0, 363, 0, -2, + 213, 214, 0, -2, 218, 0, 38, 238, 0, 0, + 219, 0, 0, 0, 215, 136, 90, 201, 223, 38, + 96, 0, 91, 95, 97, 0, 224, 98, 0, 99, + 0, 0, 100, 0, 38, 0, 101, } var yyTok1 = [...]int{ @@ -2285,25 +2277,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:213 + //line php5/php5.y:215 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:219 + //line php5/php5.y:221 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:220 + //line php5/php5.y:222 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:225 + //line php5/php5.y:227 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2312,7 +2304,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:232 + //line php5/php5.y:234 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2321,31 +2313,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:241 + //line php5/php5.y:243 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:242 + //line php5/php5.y:244 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:243 + //line php5/php5.y:245 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:244 + //line php5/php5.y:246 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:246 + //line php5/php5.y:248 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2357,7 +2349,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:256 + //line php5/php5.y:258 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2369,7 +2361,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:266 + //line php5/php5.y:268 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2377,7 +2369,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:272 + //line php5/php5.y:274 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2385,7 +2377,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:278 + //line php5/php5.y:280 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2397,7 +2389,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:288 + //line php5/php5.y:290 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2409,25 +2401,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:297 + //line php5/php5.y:299 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:301 + //line php5/php5.y:303 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:302 + //line php5/php5.y:304 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:307 + //line php5/php5.y:309 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2439,7 +2431,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:317 + //line php5/php5.y:319 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2454,7 +2446,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:330 + //line php5/php5.y:332 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2466,7 +2458,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:340 + //line php5/php5.y:342 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2481,19 +2473,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:356 + //line php5/php5.y:358 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:360 + //line php5/php5.y:362 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:367 + //line php5/php5.y:369 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2505,7 +2497,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:377 + //line php5/php5.y:379 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2520,7 +2512,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:390 + //line php5/php5.y:392 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2532,7 +2524,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:400 + //line php5/php5.y:402 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2547,19 +2539,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:416 + //line php5/php5.y:418 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:420 + //line php5/php5.y:422 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:427 + //line php5/php5.y:429 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2571,7 +2563,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:437 + //line php5/php5.y:439 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2586,7 +2578,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:450 + //line php5/php5.y:452 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2598,7 +2590,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:460 + //line php5/php5.y:462 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2613,640 +2605,641 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:475 + //line php5/php5.y:477 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:476 + //line php5/php5.y:478 { } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:480 + //line php5/php5.y:482 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:481 + //line php5/php5.y:483 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:486 + //line php5/php5.y:488 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:487 + //line php5/php5.y:489 { yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:488 + //line php5/php5.y:490 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:489 + //line php5/php5.y:491 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:494 + //line php5/php5.y:496 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:495 + //line php5/php5.y:497 { } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:501 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:502 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:502 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:502 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:503 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:503 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:503 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:504 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:504 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:504 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:505 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:505 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:505 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:509 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:511 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:513 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:514 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:513 + //line php5/php5.y:515 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:513 + //line php5/php5.y:515 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:514 + //line php5/php5.y:516 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:517 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:518 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:519 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:520 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:521 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:522 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:523 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:524 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:525 { } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:526 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:527 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:526 + //line php5/php5.y:528 { yyVAL.node = yyDollar[1].node } case 77: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:529 { } case 78: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:530 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:531 { } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:532 { } case 81: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:532 { } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:533 { } case 83: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:534 { } case 84: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:535 { } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:534 + //line php5/php5.y:536 { } case 86: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:540 { } case 87: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:541 { } case 88: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:542 { } case 89: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:541 + //line php5/php5.y:543 { } case 90: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:542 + //line php5/php5.y:544 { } case 91: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:543 + //line php5/php5.y:545 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:548 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:549 { } case 94: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:549 { } case 95: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:551 + //line php5/php5.y:553 { } case 96: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:552 + //line php5/php5.y:554 { } case 97: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:556 + //line php5/php5.y:558 { } case 98: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:557 + //line php5/php5.y:559 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:561 + //line php5/php5.y:563 { } case 100: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:561 + //line php5/php5.y:563 { } case 101: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:561 + //line php5/php5.y:563 { } case 104: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:570 + //line php5/php5.y:572 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:574 + //line php5/php5.y:576 { } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:578 + //line php5/php5.y:580 { } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:582 + //line php5/php5.y:584 { } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:583 + //line php5/php5.y:585 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:587 + //line php5/php5.y:589 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:588 + //line php5/php5.y:590 { } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:592 + //line php5/php5.y:594 { } case 112: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:594 + //line php5/php5.y:596 { } case 113: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:599 + //line php5/php5.y:601 { } case 114: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:603 + //line php5/php5.y:605 { } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:605 + //line php5/php5.y:607 { } case 116: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:609 + //line php5/php5.y:611 { } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:614 + //line php5/php5.y:616 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:615 + //line php5/php5.y:617 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:616 + //line php5/php5.y:618 { } case 120: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:617 + //line php5/php5.y:619 { } case 121: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:621 + //line php5/php5.y:623 { } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:622 + //line php5/php5.y:624 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:626 + //line php5/php5.y:628 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:640 + //line php5/php5.y:642 { } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:641 + //line php5/php5.y:643 { } case 130: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:645 + //line php5/php5.y:647 { } case 131: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:646 + //line php5/php5.y:648 { } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:653 { + yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 133: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:651 + //line php5/php5.y:655 { + yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 134: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:652 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:657 { + list := expr.NewList(yyDollar[3].list) + positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + yyVAL.foreachVariable = foreachVariable{list, false} + comments.AddComments(list, yyDollar[1].token.Comments()) } - case 135: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:652 + case 141: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:684 { } case 142: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:674 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:685 { } case 143: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:675 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:690 { } case 144: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:680 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:691 { } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:681 + //line php5/php5.y:692 { } case 146: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:682 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:693 { } case 147: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:683 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:698 { } case 148: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:688 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:699 { } case 149: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:689 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:699 { } case 150: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:689 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:700 { } case 151: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:690 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:700 { } - case 152: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:690 + case 157: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:719 { } case 158: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:709 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:719 { } - case 159: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:709 + case 160: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:725 { } case 161: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:715 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:725 { } - case 162: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:715 + case 170: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:754 { } case 171: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:744 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:756 { } case 172: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:746 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:761 { } case 173: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:751 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:762 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:752 + //line php5/php5.y:763 { } case 175: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:753 + //line php5/php5.y:764 { } case 176: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:754 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:769 { } case 177: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:759 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:770 { } case 178: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:760 + //line php5/php5.y:771 { } - case 179: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:761 + case 181: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:781 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:771 + //line php5/php5.y:782 { } case 183: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:772 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:783 { } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:773 + //line php5/php5.y:784 { } case 185: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:774 - { - } - case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:778 + //line php5/php5.y:788 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 187: + case 186: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:779 + //line php5/php5.y:789 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 188: + case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:785 + //line php5/php5.y:795 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3256,25 +3249,25 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 189: + case 188: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:795 + //line php5/php5.y:805 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 190: + case 189: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:801 + //line php5/php5.y:811 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 191: + case 190: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:811 + //line php5/php5.y:821 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3291,9 +3284,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 192: + case 191: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:828 + //line php5/php5.y:838 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3310,9 +3303,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 193: + case 192: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:845 + //line php5/php5.y:855 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3329,9 +3322,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 194: + case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:862 + //line php5/php5.y:872 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3348,1014 +3341,1028 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 197: + case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:889 + //line php5/php5.y:899 { } - case 201: + case 200: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:892 - { - } - case 202: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:894 - { - } - case 204: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:902 { } - case 205: + case 201: + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:904 + { + } + case 203: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:912 + { + } + case 204: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:903 + //line php5/php5.y:913 + { + } + case 213: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:937 { } case 214: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:927 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:941 { } case 215: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:931 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:942 { } case 216: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:932 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:946 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:936 + //line php5/php5.y:947 { } case 218: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:937 - { - } - case 219: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:941 - { - } - case 220: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:945 - { - } - case 221: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:946 - { - } - case 222: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:950 - { - } - case 223: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:951 { } - case 224: - yyDollar = yyS[yypt-1 : yypt+1] + case 219: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:955 { } - case 225: + case 220: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:956 { } - case 226: - yyDollar = yyS[yypt-1 : yypt+1] + case 221: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:960 { } - case 227: + case 222: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:961 { } - case 228: - yyDollar = yyS[yypt-0 : yypt+1] + case 223: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:965 { } - case 229: - yyDollar = yyS[yypt-1 : yypt+1] + case 224: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:966 { } - case 230: + case 225: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:970 { } - case 231: - yyDollar = yyS[yypt-2 : yypt+1] + case 226: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:971 { } - case 232: - yyDollar = yyS[yypt-1 : yypt+1] + case 227: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:975 { } - case 233: + case 228: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:976 { } - case 234: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:977 - { - } - case 235: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:978 - { - } - case 236: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:979 - { - } - case 237: + case 229: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:980 { } - case 238: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:984 + case 230: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:981 { } - case 239: - yyDollar = yyS[yypt-5 : yypt+1] + case 231: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:985 { } - case 240: + case 232: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:986 { } - case 241: - yyDollar = yyS[yypt-3 : yypt+1] + case 233: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:987 { } - case 242: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:991 + case 234: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:988 { } - case 243: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:992 + case 235: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:989 { } - case 244: + case 236: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:990 + { + } + case 237: yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:994 + { + } + case 238: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:995 + { + } + case 239: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:996 { } - case 245: - yyDollar = yyS[yypt-1 : yypt+1] + case 240: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:997 { } - case 246: - yyDollar = yyS[yypt-0 : yypt+1] + case 241: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1001 + { + } + case 242: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1002 { } - case 247: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1003 + case 243: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1006 { } - case 248: - yyDollar = yyS[yypt-2 : yypt+1] + case 244: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1007 { } - case 249: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1007 - { - } - case 250: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1008 - { - } - case 251: - yyDollar = yyS[yypt-2 : yypt+1] + case 245: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1012 { } - case 252: + case 246: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1013 { } - case 253: + case 247: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1017 + { + } + case 248: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1017 { } - case 254: - yyDollar = yyS[yypt-3 : yypt+1] + case 249: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1018 { } - case 255: - yyDollar = yyS[yypt-1 : yypt+1] + case 250: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1022 { } - case 256: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1022 - { - } - case 257: + case 251: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1023 { } - case 258: + case 252: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1027 + { + } + case 253: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1028 + { + } + case 254: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1024 + //line php5/php5.y:1032 + { + } + case 255: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1032 + { + } + case 256: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1033 + { + } + case 257: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1034 + { + } + case 258: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1038 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1039 { } case 260: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1029 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1040 { } case 261: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1030 + //line php5/php5.y:1044 { } case 262: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1034 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1044 { } case 263: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1034 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1049 { + list := expr.NewList(yyDollar[3].list) + positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + yyVAL.node = assign_op.NewAssign(list, yyDollar[6].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) + + comments.AddComments(list, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 264: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1038 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1058 { - yyVAL.node = nil } case 265: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1039 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1059 { } case 266: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1040 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1060 { } case 267: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1041 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1060 { } case 268: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1041 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1061 { } case 269: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1042 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1062 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1063 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1044 + //line php5/php5.y:1064 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1065 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1046 + //line php5/php5.y:1066 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1047 + //line php5/php5.y:1067 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1048 + //line php5/php5.y:1068 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1049 + //line php5/php5.y:1069 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1070 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1071 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1052 + //line php5/php5.y:1072 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1053 + //line php5/php5.y:1073 { } case 281: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1054 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1074 { } case 282: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1055 + //line php5/php5.y:1075 { } case 283: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1056 + //line php5/php5.y:1076 { } case 284: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1057 + //line php5/php5.y:1077 { } case 285: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1058 - { - } - case 286: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1059 - { - } - case 287: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1059 - { - } - case 288: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1060 - { - } - case 289: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1060 - { - } - case 290: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1061 - { - } - case 291: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1061 - { - } - case 292: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1062 - { - } - case 293: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1062 - { - } - case 294: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1063 - { - } - case 295: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1064 - { - } - case 296: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1065 - { - } - case 297: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1066 - { - } - case 298: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1067 - { - } - case 299: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1068 - { - } - case 300: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1069 - { - } - case 301: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1070 - { - } - case 302: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1071 - { - } - case 303: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1072 - { - } - case 304: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1073 - { - } - case 305: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1074 - { - } - case 306: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1075 - { - } - case 307: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1076 - { - } - case 308: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1077 - { - } - case 309: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1078 { } - case 310: + case 286: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1078 + { + } + case 287: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1079 { } - case 311: - yyDollar = yyS[yypt-3 : yypt+1] + case 288: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1079 + { + } + case 289: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1080 { } - case 312: - yyDollar = yyS[yypt-3 : yypt+1] + case 290: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1080 + { + } + case 291: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1081 { } - case 313: + case 292: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1081 + { + } + case 293: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1082 { } - case 314: + case 294: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1083 { } - case 315: + case 295: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1084 { } - case 316: + case 296: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1085 { } - case 317: + case 297: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1086 { } - case 318: + case 298: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1087 { } - case 319: + case 299: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1088 { } - case 320: - yyDollar = yyS[yypt-1 : yypt+1] + case 300: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1089 { } - case 321: - yyDollar = yyS[yypt-1 : yypt+1] + case 301: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1090 { } - case 322: + case 302: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1091 { } - case 323: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1091 - { - } - case 324: - yyDollar = yyS[yypt-2 : yypt+1] + case 303: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1092 { } - case 325: - yyDollar = yyS[yypt-5 : yypt+1] + case 304: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1093 { } - case 326: - yyDollar = yyS[yypt-7 : yypt+1] + case 305: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1094 { } - case 327: - yyDollar = yyS[yypt-3 : yypt+1] + case 306: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1095 { } - case 328: - yyDollar = yyS[yypt-5 : yypt+1] + case 307: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1096 { } - case 329: - yyDollar = yyS[yypt-1 : yypt+1] + case 308: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1097 { } - case 330: + case 309: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1098 { } - case 331: - yyDollar = yyS[yypt-2 : yypt+1] + case 310: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1099 { } - case 332: - yyDollar = yyS[yypt-2 : yypt+1] + case 311: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1100 { } - case 333: - yyDollar = yyS[yypt-2 : yypt+1] + case 312: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1101 { } - case 334: - yyDollar = yyS[yypt-2 : yypt+1] + case 313: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1102 { } - case 335: - yyDollar = yyS[yypt-2 : yypt+1] + case 314: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1103 { } - case 336: - yyDollar = yyS[yypt-2 : yypt+1] + case 315: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1104 { } - case 337: - yyDollar = yyS[yypt-2 : yypt+1] + case 316: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1105 { } - case 338: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1106 - { - } - case 339: + case 317: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1106 { } - case 340: - yyDollar = yyS[yypt-1 : yypt+1] + case 318: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1107 { } - case 341: + case 319: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1108 { } - case 342: + case 320: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1109 { } - case 343: + case 321: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1110 { } - case 344: + case 322: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1110 + { + } + case 323: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1111 { } - case 345: - yyDollar = yyS[yypt-1 : yypt+1] + case 324: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1112 { } - case 346: - yyDollar = yyS[yypt-2 : yypt+1] + case 325: + yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:1113 { } - case 347: - yyDollar = yyS[yypt-10 : yypt+1] + case 326: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1114 + { + } + case 327: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1115 { } - case 348: - yyDollar = yyS[yypt-3 : yypt+1] + case 328: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1116 { } - case 349: - yyDollar = yyS[yypt-11 : yypt+1] + case 329: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1117 + { + } + case 330: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1118 { } - case 350: + case 331: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1119 + { + } + case 332: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1120 + { + } + case 333: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1121 + { + } + case 334: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1122 { } - case 351: + case 335: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1123 { } + case 336: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1124 + { + } + case 337: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1125 + { + } + case 338: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1125 + { + } + case 339: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1126 + { + } + case 340: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1127 + { + } + case 341: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1128 + { + } + case 342: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1129 + { + } + case 343: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1130 + { + } + case 344: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1131 + { + } + case 345: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1132 + { + } + case 346: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1134 + { + } + case 347: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1135 + { + } + case 348: + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1137 + { + } + case 349: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1141 + { + } + case 350: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1142 + { + } + case 351: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1143 + { + } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1124 + //line php5/php5.y:1144 { } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1125 + //line php5/php5.y:1148 { } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1149 { } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1150 { } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1151 { } case 357: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1155 { } case 358: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1136 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1156 { } case 359: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1137 - { - } - case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1141 - { - } - case 363: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1150 - { - } - case 364: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1151 - { - } - case 365: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1152 - { - } - case 366: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1153 - { - } - case 367: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1157 - { - } - case 368: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1158 - { - } - case 369: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1159 - { - } - case 370: - yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1160 { } - case 371: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1161 - { - } - case 372: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1162 - { - } - case 373: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1163 - { - } - case 374: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1164 - { - } - case 375: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1165 - { - } - case 376: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1166 - { - } - case 377: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1167 - { - } - case 378: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1168 - { - } - case 379: + case 362: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1169 { } - case 380: - yyDollar = yyS[yypt-5 : yypt+1] + case 363: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1170 { } - case 381: + case 364: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1171 { } - case 382: - yyDollar = yyS[yypt-3 : yypt+1] + case 365: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1172 { } - case 383: + case 366: yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1176 + { + } + case 367: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1177 + { + } + case 368: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1178 + { + } + case 369: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1179 + { + } + case 370: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1180 + { + } + case 371: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1181 + { + } + case 372: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1182 + { + } + case 373: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1183 + { + } + case 374: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1184 + { + } + case 375: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1185 + { + } + case 376: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1186 + { + } + case 377: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1187 + { + } + case 378: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1188 + { + } + case 379: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1189 + { + } + case 380: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1190 + { + } + case 381: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1191 + { + } + case 382: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1196 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 384: + case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1183 + //line php5/php5.y:1202 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 385: + case 384: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1189 + //line php5/php5.y:1208 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 386: + case 385: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1195 + //line php5/php5.y:1214 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 387: + case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1203 + //line php5/php5.y:1222 + { + } + case 387: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1223 { } case 388: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1204 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1224 { } case 389: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1205 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1230 { } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1211 - { - } - case 391: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1212 - { - } - case 392: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1217 - { - } - case 393: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1218 - { - } - case 394: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1219 - { - } - case 395: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1220 - { - } - case 398: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1231 { } - case 399: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1235 - { - } - case 400: + case 391: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1236 { } - case 401: - yyDollar = yyS[yypt-1 : yypt+1] + case 392: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1237 { } - case 402: + case 393: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1238 + { + } + case 394: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1239 + { + } + case 397: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1250 + { + } + case 398: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1241 + //line php5/php5.y:1254 + { + } + case 399: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1255 + { + } + case 400: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1256 + { + } + case 401: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1260 + { + } + case 402: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1261 { } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1242 + //line php5/php5.y:1262 { } case 404: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1243 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1266 { } case 405: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1247 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1267 { } case 406: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1248 - { - } - case 407: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1253 + //line php5/php5.y:1272 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 408: + case 407: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1259 + //line php5/php5.y:1278 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 409: + case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1283 { yyVAL.node = nil } + case 409: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1285 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1266 + //line php5/php5.y:1291 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4363,7 +4370,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1272 + //line php5/php5.y:1297 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4371,7 +4378,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1278 + //line php5/php5.y:1303 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4379,7 +4386,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1284 + //line php5/php5.y:1309 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4387,7 +4394,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1290 + //line php5/php5.y:1315 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4395,39 +4402,31 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1296 + //line php5/php5.y:1321 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 416: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1302 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1308 + //line php5/php5.y:1327 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 418: + case 417: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1313 + //line php5/php5.y:1332 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 419: + case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1341 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4437,249 +4436,249 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 419: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1353 + { + } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1334 + //line php5/php5.y:1357 { } case 421: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1358 { } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1339 - { - } - case 423: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1340 - { - } - case 424: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1341 - { - } - case 425: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1342 - { - } - case 426: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1343 - { - } - case 427: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1344 - { - } - case 428: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1345 - { - } - case 429: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1346 - { - } - case 430: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1347 - { - } - case 431: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1351 - { - } - case 432: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1352 - { - } - case 433: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1353 - { - } - case 434: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1354 - { - } - case 435: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1355 - { - } - case 436: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1356 - { - } - case 437: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1357 - { - } - case 438: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1358 - { - } - case 439: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1359 { } - case 440: + case 423: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1360 { } - case 441: - yyDollar = yyS[yypt-3 : yypt+1] + case 424: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1361 { } - case 442: - yyDollar = yyS[yypt-3 : yypt+1] + case 425: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1362 { } - case 443: + case 426: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1363 { } - case 444: - yyDollar = yyS[yypt-3 : yypt+1] + case 427: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1364 { } - case 445: - yyDollar = yyS[yypt-3 : yypt+1] + case 428: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1365 { } - case 446: - yyDollar = yyS[yypt-3 : yypt+1] + case 429: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1366 { } - case 447: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1367 - { - } - case 448: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1368 - { - } - case 449: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1369 - { - } - case 450: - yyDollar = yyS[yypt-3 : yypt+1] + case 430: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1370 { } - case 451: + case 431: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1371 { } - case 452: + case 432: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1372 { } - case 453: + case 433: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1373 { } - case 454: + case 434: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1374 { } - case 455: + case 435: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1375 { } - case 456: + case 436: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1376 { } - case 457: - yyDollar = yyS[yypt-3 : yypt+1] + case 437: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1377 { } - case 458: - yyDollar = yyS[yypt-3 : yypt+1] + case 438: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1378 { } - case 459: - yyDollar = yyS[yypt-4 : yypt+1] + case 439: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1379 { } - case 460: - yyDollar = yyS[yypt-5 : yypt+1] + case 440: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1380 { } - case 461: - yyDollar = yyS[yypt-2 : yypt+1] + case 441: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1381 { } - case 462: - yyDollar = yyS[yypt-2 : yypt+1] + case 442: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1382 { } - case 463: + case 443: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1383 { } - case 464: - yyDollar = yyS[yypt-1 : yypt+1] + case 444: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1384 + { + } + case 445: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1385 + { + } + case 446: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1386 + { + } + case 447: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1387 { } - case 465: - yyDollar = yyS[yypt-1 : yypt+1] + case 448: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1388 { } - case 466: + case 449: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1389 { } - case 467: - yyDollar = yyS[yypt-2 : yypt+1] + case 450: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1390 { } - case 468: - yyDollar = yyS[yypt-1 : yypt+1] + case 451: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1391 + { + } + case 452: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1392 + { + } + case 453: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1393 + { + } + case 454: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1394 + { + } + case 455: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1395 + { + } + case 456: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1396 + { + } + case 457: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1397 + { + } + case 458: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1398 + { + } + case 459: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1399 + { + } + case 460: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1400 + { + } + case 461: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1401 + { + } + case 462: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1402 + { + } + case 463: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1406 + { + } + case 464: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1407 + { + } + case 465: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1408 + { + } + case 466: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1409 + { + } + case 467: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1414 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4689,246 +4688,246 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 468: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1424 + { + yyVAL.node = yyDollar[1].node + } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1405 + //line php5/php5.y:1426 { yyVAL.node = yyDollar[1].node } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1407 + //line php5/php5.y:1428 { yyVAL.node = yyDollar[1].node } case 471: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1409 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1430 { - yyVAL.node = yyDollar[1].node + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 472: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1411 + //line php5/php5.y:1436 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 473: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1417 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1442 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 475: + case 474: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1431 + //line php5/php5.y:1450 { } - case 476: + case 475: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1432 + //line php5/php5.y:1451 + { + } + case 478: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1460 { } case 479: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1441 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1461 { } case 480: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1462 { } case 481: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1443 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1463 { } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1444 - { - } - case 483: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1448 + //line php5/php5.y:1467 { yyVAL.node = yyDollar[1].node } - case 484: + case 483: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1449 + //line php5/php5.y:1468 + { + } + case 484: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1472 { } case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1453 + //line php5/php5.y:1473 { } case 486: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1454 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1479 { + yyVAL.node = yyDollar[1].node } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1460 + //line php5/php5.y:1487 { yyVAL.node = yyDollar[1].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1468 + //line php5/php5.y:1494 { yyVAL.node = yyDollar[1].node } case 489: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1475 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1501 { - yyVAL.node = yyDollar[1].node } case 490: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1482 - { - } - case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1484 + //line php5/php5.y:1503 { yyVAL.node = yyDollar[1].node } - case 492: + case 491: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1507 + { + } + case 492: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1508 { } case 493: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1489 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1513 { } case 494: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1494 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1513 { } case 495: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1494 + //line php5/php5.y:1517 { } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1498 + //line php5/php5.y:1518 { } case 497: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1499 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1522 { } case 498: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1503 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1523 { } case 499: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1504 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1527 { } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1508 + //line php5/php5.y:1528 { } case 501: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1509 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1529 { } case 502: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1510 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1533 { } case 503: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1514 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1534 { } case 504: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1515 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1538 { } case 505: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1519 + //line php5/php5.y:1539 { } case 506: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1520 - { - } - case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1526 + //line php5/php5.y:1545 { yyVAL.node = yyDollar[1].node } + case 507: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1551 + { + } case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1532 + //line php5/php5.y:1552 { } case 509: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1533 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1556 { + yyVAL.node = yyDollar[1].node } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1537 + //line php5/php5.y:1557 { yyVAL.node = yyDollar[1].node } case 511: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1538 + //line php5/php5.y:1558 { yyVAL.node = yyDollar[1].node } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1563 { yyVAL.node = yyDollar[1].node } case 513: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1544 - { - yyVAL.node = yyDollar[1].node - } - case 514: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1546 + //line php5/php5.y:1565 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4938,36 +4937,36 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 515: + case 514: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1555 + //line php5/php5.y:1574 { } + case 515: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1579 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 516: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1560 + //line php5/php5.y:1585 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 517: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1566 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1571 + //line php5/php5.y:1590 { yyVAL.node = yyDollar[1].node } - case 519: + case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1577 + //line php5/php5.y:1596 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4977,64 +4976,68 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 520: + case 519: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1587 + //line php5/php5.y:1606 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 521: + case 520: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1595 + //line php5/php5.y:1614 { yyVAL.node = nil } - case 522: + case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1596 + //line php5/php5.y:1615 { yyVAL.node = yyDollar[1].node } + case 522: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1620 + { + } case 523: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1621 { } case 524: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1602 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1625 { } case 525: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1606 + //line php5/php5.y:1626 { } case 526: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1607 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1627 { } case 527: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1608 + //line php5/php5.y:1632 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 528: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1612 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1638 { + yyVAL.node = yyDollar[2].node } case 529: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1613 - { - } - case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1643 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5042,9 +5045,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 531: + case 530: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1626 + //line php5/php5.y:1651 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5056,41 +5059,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 534: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1646 + case 531: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1666 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 532: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1668 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 533: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1674 + { + yyVAL.node = yyDollar[1].node + } + case 534: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1676 + { + yyVAL.node = expr.NewList(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 535: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1647 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1682 { + yyVAL.node = nil } case 536: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1647 - { - } - case 537: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1648 - { - } - case 538: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1654 + //line php5/php5.y:1688 { yyVAL.list = nil } - case 539: + case 537: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1656 + //line php5/php5.y:1690 { yyVAL.list = yyDollar[1].list } - case 540: + case 538: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1661 + //line php5/php5.y:1695 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5098,9 +5113,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 541: + case 539: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1669 + //line php5/php5.y:1703 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5108,9 +5123,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 542: + case 540: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1677 + //line php5/php5.y:1711 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5118,9 +5133,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 543: + case 541: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1685 + //line php5/php5.y:1719 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5128,9 +5143,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 544: + case 542: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1693 + //line php5/php5.y:1727 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5138,9 +5153,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 545: + case 543: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1701 + //line php5/php5.y:1735 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5148,9 +5163,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 546: + case 544: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1709 + //line php5/php5.y:1743 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5158,9 +5173,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 547: + case 545: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1717 + //line php5/php5.y:1751 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5168,39 +5183,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 548: + case 546: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1728 + //line php5/php5.y:1762 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 549: + case 547: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1730 + //line php5/php5.y:1764 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 550: + case 548: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1737 + //line php5/php5.y:1771 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 551: + case 549: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1739 + //line php5/php5.y:1773 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 552: + case 550: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1749 + //line php5/php5.y:1783 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5210,9 +5225,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 553: + case 551: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1759 + //line php5/php5.y:1793 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5225,9 +5240,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 554: + case 552: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1772 + //line php5/php5.y:1806 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5243,17 +5258,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 555: + case 553: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1788 + //line php5/php5.y:1822 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 556: + case 554: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1794 + //line php5/php5.y:1828 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5266,23 +5281,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 557: + case 555: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1808 + //line php5/php5.y:1842 { yyVAL.node = yyDollar[2].node } - case 558: + case 556: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1813 + //line php5/php5.y:1847 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 559: + case 557: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1819 + //line php5/php5.y:1853 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5294,9 +5309,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 560: + case 558: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1831 + //line php5/php5.y:1865 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5306,97 +5321,121 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 561: + case 559: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1844 + //line php5/php5.y:1878 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 560: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1884 + { + yyVAL.node = expr.NewEmpty(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 561: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1890 + { + yyVAL.node = expr.NewEmpty(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 562: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1850 - { - yyVAL.node = expr.NewEmpty(yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 563: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1856 - { - yyVAL.node = expr.NewEmpty(yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 564: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1862 + //line php5/php5.y:1896 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 565: + case 563: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1868 + //line php5/php5.y:1902 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 566: + case 564: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1874 + //line php5/php5.y:1908 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 567: + case 565: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1880 + //line php5/php5.y:1914 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 568: + case 566: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1886 + //line php5/php5.y:1920 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 569: + case 567: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1895 + //line php5/php5.y:1929 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 570: + case 568: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1897 + //line php5/php5.y:1931 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 571: + case 569: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1901 + //line php5/php5.y:1935 { yyVAL.node = yyDollar[1].node } - case 572: + case 570: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1902 + //line php5/php5.y:1936 { yyVAL.node = yyDollar[1].node } + case 571: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1941 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 572: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1951 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 573: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1907 + //line php5/php5.y:1964 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5408,31 +5447,7 @@ yydefault: } case 574: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1917 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 575: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1930 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 576: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1943 + //line php5/php5.y:1977 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 09bedae..30930c1 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -12,7 +12,7 @@ import ( "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/node/expr" -// "github.com/z7zmey/php-parser/node/expr/assign_op" + "github.com/z7zmey/php-parser/node/expr/assign_op" // "github.com/z7zmey/php-parser/node/expr/binary_op" // "github.com/z7zmey/php-parser/node/expr/cast" ) @@ -24,7 +24,7 @@ import ( token token.Token // boolWithToken boolWithToken list []node.Node -// foreachVariable foreachVariable + foreachVariable foreachVariable // nodesWithEndToken *nodesWithEndToken simpleIndirectReference simpleIndirectReference // str string @@ -198,13 +198,15 @@ import ( %type dim_offset expr expr_without_variable r_variable w_variable rw_variable variable base_variable_with_function_calls %type base_variable array_function_dereference function_call inner_statement statement unticked_statement %type inner_statement statement global_var static_scalar scalar class_constant static_class_name_scalar class_name_scalar -%type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc +%type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc assignment_list_element +%type variable_name %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list -%type array_pair_list +%type array_pair_list assignment_list %type simple_indirect_reference +%type foreach_variable %% @@ -647,9 +649,17 @@ foreach_optional_arg: ; foreach_variable: - variable { } - | '&' variable { } - | T_LIST '(' { } assignment_list ')' { } + variable + { $$ = foreachVariable{$1, false} } + | '&' variable + { $$ = foreachVariable{$2, true} } + | T_LIST '(' assignment_list ')' + { + list := expr.NewList($3) + positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) + $$ = foreachVariable{list, false} + comments.AddComments(list, $1.Comments()) + } ; for_statement: @@ -1035,7 +1045,16 @@ new_expr: ; expr_without_variable: - T_LIST '(' assignment_list ')' '=' expr { $$ = nil } + T_LIST '(' assignment_list ')' '=' expr + { + list := expr.NewList($3) + positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) + $$ = assign_op.NewAssign(list, $6) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) + + comments.AddComments(list, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } | variable '=' expr { } | variable '=' '&' variable { } | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } @@ -1610,8 +1629,14 @@ object_dim_list: ; variable_name: - T_STRING { } - | '{' expr '}' { } + T_STRING + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | '{' expr '}' + { $$ = $2 } ; simple_indirect_reference: @@ -1639,14 +1664,23 @@ simple_indirect_reference: assignment_list: assignment_list ',' assignment_list_element + { $$ = append($1, $3) } | assignment_list_element + { $$ = []node.Node{$1} } ; assignment_list_element: - variable { } - | T_LIST '(' { } assignment_list ')' { } - | /* empty */ { } + variable + { $$ = $1 } + | T_LIST '(' assignment_list ')' + { + $$ = expr.NewList($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | /* empty */ + { $$ = nil } ; From c80f0b8fa047539c1d4b37286b04a7cb1d839e86 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Thu, 1 Feb 2018 16:07:18 +0200 Subject: [PATCH 14/31] php5 syntax --- php5/parser.go | 8 + php5/php5.go | 4364 ++++++++++++++++++++++++------------------------ php5/php5.y | 117 +- 3 files changed, 2318 insertions(+), 2171 deletions(-) diff --git a/php5/parser.go b/php5/parser.go index bd7323e..e78bc8f 100644 --- a/php5/parser.go +++ b/php5/parser.go @@ -55,4 +55,12 @@ type boolWithToken struct { type simpleIndirectReference struct { all []*expr.Variable last *expr.Variable +} + +const arrayFetchType = 0 +const propertyFetchType = 1 + +type objectProperty struct { + node node.Node + fetchType int } \ No newline at end of file diff --git a/php5/php5.go b/php5/php5.go index 0eed938..04aa31b 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -27,10 +27,11 @@ type yySymType struct { node node.Node token token.Token // boolWithToken boolWithToken - list []node.Node - foreachVariable foreachVariable - // nodesWithEndToken *nodesWithEndToken + list []node.Node + foreachVariable foreachVariable + nodesWithEndToken *nodesWithEndToken simpleIndirectReference simpleIndirectReference + objectPropertyList []objectProperty // str string } @@ -346,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1988 +//line php5/php5.y:2061 //line yacctab:1 var yyExca = [...]int{ @@ -354,477 +355,473 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 488, - 105, 488, - -2, 486, + 104, 485, + 105, 485, + -2, 483, -1, 101, - 78, 383, - 123, 366, - -2, 464, + 78, 382, + 123, 365, + -2, 461, -1, 113, - 78, 506, - 123, 502, - -2, 512, + 78, 503, + 123, 499, + -2, 509, -1, 153, - 104, 488, - 105, 488, - -2, 486, + 104, 485, + 105, 485, + -2, 483, -1, 203, + 121, 348, + 124, 348, + -2, 480, + -1, 204, + 104, 485, + 105, 485, 121, 349, 124, 349, -2, 483, - -1, 204, - 104, 488, - 105, 488, - 121, 350, - 124, 350, - -2, 486, -1, 227, - 123, 366, - -2, 383, + 123, 365, + -2, 382, -1, 270, - 78, 506, - -2, 512, + 78, 503, + -2, 509, -1, 296, - 78, 385, - 123, 370, - -2, 466, - -1, 300, - 123, 503, - -2, 513, - -1, 309, 78, 384, - 123, 368, - -2, 465, + 123, 369, + -2, 463, + -1, 300, + 123, 500, + -2, 510, + -1, 309, + 78, 383, + 123, 367, + -2, 462, -1, 371, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 310, + -2, 309, -1, 372, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 311, + -2, 310, -1, 373, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 312, + -2, 311, -1, 374, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 313, + -2, 312, -1, 375, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 314, + -2, 313, -1, 376, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 315, + -2, 314, -1, 377, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 316, + -2, 315, -1, 378, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 317, + -2, 316, -1, 385, - 104, 488, - 105, 488, - -2, 486, - -1, 416, - 123, 370, - -2, 385, - -1, 436, - 123, 497, - -2, 501, - -1, 453, - 104, 488, - 105, 488, - 124, 569, - 135, 569, - -2, 486, - -1, 454, - 124, 570, - 135, 570, + 104, 485, + 105, 485, -2, 483, + -1, 416, + 123, 369, + -2, 384, + -1, 436, + 123, 494, + -2, 498, -1, 455, - 104, 488, - 105, 488, - -2, 486, - -1, 477, - 123, 374, - -2, 504, + 104, 485, + 105, 485, + 124, 566, + 135, 566, + -2, 483, + -1, 456, + 124, 567, + 135, 567, + -2, 480, + -1, 457, + 104, 485, + 105, 485, + -2, 483, -1, 478, - 123, 527, - -2, 571, - -1, 483, - 123, 378, - -2, 505, + 123, 373, + -2, 501, + -1, 479, + 123, 524, + -2, 568, -1, 484, - 123, 527, - -2, 572, - -1, 507, - 78, 383, - -2, 422, - -1, 553, + 123, 377, + -2, 502, + -1, 485, + 123, 524, + -2, 569, + -1, 508, + 78, 382, + -2, 419, + -1, 554, 124, 167, -2, 172, - -1, 561, + -1, 562, + 121, 350, + 124, 350, + -2, 480, + -1, 563, + 104, 485, + 105, 485, 121, 351, 124, 351, -2, 483, - -1, 562, - 104, 488, - 105, 488, - 121, 352, - 124, 352, - -2, 486, - -1, 568, - 123, 368, - -2, 384, -1, 569, + 123, 367, + -2, 383, + -1, 570, 57, 259, 125, 259, -2, 258, - -1, 612, + -1, 593, 124, 181, 135, 181, - -2, 483, - -1, 613, - 104, 488, - 105, 488, + -2, 480, + -1, 594, + 104, 485, + 105, 485, 124, 182, 135, 182, - -2, 486, - -1, 662, - 78, 385, - -2, 424, - -1, 689, + -2, 483, + -1, 661, + 78, 384, + -2, 421, + -1, 688, 124, 167, -2, 172, - -1, 704, + -1, 703, 124, 167, -2, 172, + -1, 767, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 447, -1, 768, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 450, + -2, 448, -1, 769, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 451, + -2, 449, -1, 770, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 452, + -2, 450, -1, 771, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 453, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 451, -1, 772, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 454, + -2, 452, -1, 773, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 455, + -2, 453, -1, 774, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 456, - -1, 775, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 457, - -1, 778, - 78, 384, - -2, 423, - -1, 829, + -2, 454, + -1, 777, + 78, 383, + -2, 420, + -1, 828, 57, 254, -2, 256, -1, 887, 37, 228, -2, 225, -1, 948, - 123, 497, - -2, 501, - -1, 1013, + 123, 494, + -2, 498, + -1, 1010, 29, 216, -2, 4, - -1, 1039, + -1, 1036, 124, 167, -2, 172, - -1, 1043, + -1, 1040, 121, 220, -2, 222, } const yyPrivate = 57344 -const yyLast = 8220 +const yyLast = 8321 var yyAct = [...]int{ - 101, 891, 1064, 436, 580, 136, 705, 199, 1007, 122, - 130, 334, 830, 60, 711, 113, 875, 923, 858, 588, - 823, 707, 146, 411, 694, 38, 611, 114, 803, 465, - 452, 137, 412, 97, 664, 142, 383, 832, 683, 317, - 313, 117, 263, 25, 328, 439, 327, 6, 157, 5, - 161, 129, 2, 288, 717, 227, 227, 178, 634, 634, - 42, 468, 636, 635, 1038, 1001, 478, 1000, 120, 442, - 1049, 120, 191, 191, 326, 998, 484, 4, 120, 994, - 266, 191, 634, 974, 503, 250, 636, 635, 424, 999, - 995, 43, 969, 926, 871, 270, 646, 637, 639, 640, - 638, 638, 90, 296, 566, 824, 240, 271, 479, 720, - 172, 176, 175, 269, 257, 978, 152, 977, 644, 645, - 646, 637, 639, 640, 638, 309, 634, 818, 314, 318, - 300, 976, 321, 203, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 178, 827, 701, 332, 339, 177, 179, 180, 178, 38, - 227, 739, 566, 938, 688, 637, 639, 640, 638, 350, - 161, 502, 740, 699, 351, 443, 308, 939, 443, 323, - 782, 120, 240, 529, 700, 443, 466, 125, 594, 120, - 119, 496, 266, 119, 227, 125, 492, 120, 565, 595, - 119, 545, 388, 900, 120, 497, 158, 270, 200, 566, - 493, 1019, 546, 634, 352, 333, 642, 636, 635, 271, - 345, 348, 227, 191, 967, 269, 1072, 979, 353, 947, - 416, 907, 191, 906, 379, 349, 414, 651, 650, 641, - 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, - 645, 646, 637, 639, 640, 638, 228, 838, 780, 229, - 343, 227, 176, 175, 228, 310, 125, 229, 120, 447, - 132, 176, 175, 725, 344, 232, 564, 833, 440, 311, - 619, 607, 299, 232, 133, 606, 386, 449, 298, 125, - 441, 120, 227, 240, 181, 182, 174, 177, 179, 180, - 178, 600, 599, 119, 438, 174, 177, 179, 180, 178, - 571, 119, 130, 440, 570, 697, 495, 585, 440, 119, - 499, 464, 729, 584, 507, 441, 301, 1020, 159, 728, - 441, 38, 125, 578, 120, 228, 293, 1053, 229, 477, - 968, 463, 426, 476, 483, 831, 432, 292, 482, 286, - 280, 253, 507, 6, 232, 5, 252, 1018, 228, 986, - 488, 229, 874, 491, 869, 454, 456, 866, 864, 458, - 428, 429, 847, 817, 741, 462, 589, 232, 674, 601, - 1068, 470, 471, 4, 696, 597, 421, 480, 419, 305, - 119, 1039, 138, 533, 934, 556, 429, 428, 428, 227, - 429, 228, 1055, 474, 229, 524, 860, 859, 125, 555, - 120, 38, 294, 119, 431, 815, 568, 806, 704, 689, - 232, 663, 567, 553, 531, 523, 505, 532, 427, 387, - 287, 277, 274, 440, 440, 273, 537, 249, 221, 194, - 193, 346, 141, 121, 889, 441, 441, 591, 984, 307, - 890, 306, 1028, 888, 505, 955, 119, 586, 381, 477, - 483, 440, 331, 476, 482, 1059, 440, 1058, 795, 796, - 795, 796, 134, 441, 1027, 1017, 983, 267, 441, 961, - 268, 921, 917, 862, 856, 855, 787, 590, 561, 692, - 686, 684, 593, 528, 314, 487, 232, 390, 318, 341, - 155, 1025, 125, 507, 895, 896, 897, 894, 893, 892, - 662, 38, 507, 905, 103, 579, 1074, 256, 610, 507, - 507, 507, 507, 507, 258, 953, 936, 1046, 959, 430, - 933, 676, 119, 6, 626, 5, 932, 629, 930, 820, - 716, 304, 196, 223, 224, 915, 916, 227, 227, 227, - 851, 852, 879, 294, 556, 125, 861, 714, 794, 715, - 631, 556, 661, 4, 628, 266, 612, 227, 227, 230, - 230, 685, 446, 698, 124, 718, 415, 124, 1031, 668, - 270, 450, 445, 693, 418, 417, 302, 633, 259, 260, - 804, 722, 271, 297, 264, 460, 734, 833, 269, 721, - 950, 678, 713, 125, 227, 505, 227, 719, 440, 281, - 285, 123, 125, 294, 505, 227, 61, 294, 501, 125, - 441, 505, 505, 505, 505, 505, 735, 319, 125, 459, - 127, 128, 1013, 498, 438, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 778, 125, 507, 737, 560, 738, 667, 709, - 710, 294, 473, 731, 230, 131, 742, 494, 320, 238, - 485, 557, 448, 262, 558, 790, 294, 454, 557, 507, - 556, 558, 394, 792, 791, 781, 801, 227, 779, 38, - 315, 557, 507, 876, 558, 556, 264, 258, 230, 207, - 206, 816, 430, 1029, 556, 822, 819, 895, 896, 897, - 894, 893, 892, 797, 258, 799, 284, 807, 718, 283, - 294, 294, 258, 814, 784, 131, 230, 505, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 505, 505, 1065, 835, 505, 843, 821, 258, - 461, 259, 260, 800, 809, 230, 785, 507, 703, 44, - 863, 795, 796, 507, 507, 162, 812, 284, 259, 260, - 1030, 505, 548, 258, 1050, 460, 259, 260, 430, 53, - 798, 795, 796, 527, 505, 227, 230, 227, 1071, 573, - 44, 575, 574, 38, 1037, 1021, 870, 836, 837, 556, - 996, 991, 971, 935, 535, 556, 1044, 1002, 972, 867, - 868, 258, 612, 259, 260, 942, 282, 904, 517, 898, - 877, 880, 125, 227, 437, 899, 258, 507, 811, 440, - 749, 255, 616, 748, 225, 233, 632, 259, 260, 630, - 627, 441, 576, 550, 500, 912, 517, 625, 902, 472, - 391, 322, 507, 202, 556, 438, 919, 201, 198, 505, - 135, 922, 115, 583, 581, 505, 505, 927, 931, 941, - 582, 556, 948, 38, 727, 259, 260, 665, 514, 949, - 908, 840, 592, 265, 909, 944, 303, 622, 621, 940, - 259, 260, 507, 230, 946, 618, 617, 475, 490, 295, - 903, 966, 536, 392, 254, 75, 958, 913, 74, 954, - 956, 960, 251, 248, 544, 802, 962, 504, 964, 965, - 380, 924, 569, 357, 924, 356, 355, 354, 973, 505, - 825, 444, 724, 980, 981, 723, 929, 901, 828, 829, - 730, 985, 682, 987, 335, 988, 440, 887, 1042, 1011, - 507, 1040, 1010, 1009, 505, 507, 1008, 556, 441, 556, - 1006, 38, 1005, 38, 902, 38, 975, 38, 38, 945, - 943, 1004, 438, 1012, 744, 745, 1057, 1024, 746, 747, - 886, 507, 507, 885, 884, 970, 937, 556, 38, 883, - 38, 38, 882, 609, 505, 1026, 708, 517, 706, 1014, - 1032, 1012, 952, 920, 957, 559, 517, 982, 395, 40, - 556, 712, 1043, 517, 517, 517, 517, 517, 554, 507, - 556, 1045, 393, 39, 1041, 552, 1048, 878, 14, 13, - 556, 1073, 1052, 1070, 997, 38, 1063, 872, 1062, 1003, - 1060, 230, 230, 230, 1054, 1061, 1067, 1036, 38, 556, - 963, 873, 505, 813, 702, 38, 808, 505, 549, 264, - 1075, 230, 230, 1069, 38, 1022, 1023, 195, 382, 163, - 1034, 530, 337, 596, 1033, 1015, 918, 681, 38, 680, - 140, 677, 526, 505, 505, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 230, 889, - 230, 139, 914, 1047, 853, 890, 789, 525, 888, 230, - 850, 788, 675, 330, 10, 1, 289, 451, 160, 156, - 316, 505, 312, 126, 63, 88, 572, 89, 506, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 100, 73, 517, 895, - 896, 897, 894, 893, 892, 634, 11, 324, 99, 636, - 635, 191, 98, 78, 118, 512, 3, 0, 0, 0, - 0, 881, 0, 517, 0, 0, 0, 0, 0, 0, - 634, 230, 660, 642, 636, 635, 517, 656, 658, 657, - 659, 644, 645, 646, 637, 639, 640, 638, 0, 50, - 176, 175, 0, 116, 651, 650, 641, 643, 654, 655, - 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, - 639, 640, 638, 0, 153, 0, 0, 30, 187, 188, + 101, 1061, 1004, 581, 704, 334, 136, 891, 831, 122, + 130, 829, 326, 710, 444, 4, 199, 60, 923, 858, + 470, 875, 146, 822, 117, 38, 693, 706, 436, 411, + 802, 592, 663, 682, 113, 137, 412, 97, 467, 142, + 317, 263, 424, 383, 25, 328, 313, 439, 6, 157, + 161, 716, 129, 2, 327, 227, 227, 5, 288, 43, + 178, 454, 633, 42, 1035, 976, 479, 975, 120, 998, + 997, 995, 972, 191, 967, 442, 991, 120, 938, 633, + 266, 974, 926, 257, 152, 996, 504, 992, 826, 250, + 1069, 871, 939, 567, 733, 719, 700, 191, 687, 567, + 1046, 203, 90, 296, 637, 734, 633, 240, 480, 641, + 635, 634, 191, 503, 270, 351, 698, 269, 636, 638, + 639, 637, 485, 323, 120, 309, 633, 699, 314, 318, + 635, 634, 321, 642, 653, 654, 651, 652, 655, 657, + 656, 658, 643, 644, 645, 636, 638, 639, 637, 300, + 178, 176, 175, 333, 823, 817, 781, 332, 601, 38, + 227, 114, 530, 339, 645, 636, 638, 639, 637, 602, + 161, 177, 179, 180, 178, 443, 633, 308, 350, 641, + 635, 634, 566, 240, 443, 174, 177, 179, 180, 178, + 119, 546, 266, 567, 227, 120, 120, 468, 1016, 119, + 200, 977, 547, 388, 653, 654, 651, 652, 655, 657, + 656, 658, 643, 644, 645, 636, 638, 639, 637, 947, + 497, 493, 227, 345, 907, 352, 270, 906, 348, 269, + 416, 443, 837, 379, 498, 494, 343, 310, 125, 353, + 120, 271, 349, 132, 633, 832, 119, 641, 635, 634, + 344, 311, 965, 779, 386, 724, 618, 133, 299, 614, + 613, 227, 633, 900, 298, 158, 635, 634, 607, 449, + 640, 642, 653, 654, 651, 652, 655, 657, 656, 658, + 643, 644, 645, 636, 638, 639, 637, 438, 606, 586, + 572, 571, 227, 466, 240, 585, 426, 440, 643, 644, + 645, 636, 638, 639, 637, 728, 451, 228, 1065, 191, + 229, 1050, 130, 830, 1017, 727, 496, 119, 301, 565, + 500, 4, 478, 460, 508, 432, 232, 484, 579, 464, + 293, 38, 440, 456, 458, 472, 473, 440, 292, 428, + 429, 481, 286, 525, 1015, 477, 465, 172, 176, 175, + 483, 280, 508, 271, 6, 253, 252, 191, 983, 874, + 869, 489, 119, 5, 492, 429, 428, 428, 966, 429, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 159, 866, 864, + 847, 1052, 1036, 431, 534, 557, 176, 175, 816, 227, + 735, 125, 125, 120, 120, 673, 608, 604, 556, 421, + 419, 38, 305, 138, 934, 446, 569, 860, 859, 427, + 814, 805, 703, 688, 441, 662, 506, 568, 181, 182, + 174, 177, 179, 180, 178, 554, 532, 524, 538, 533, + 1025, 387, 478, 484, 294, 287, 277, 274, 273, 598, + 696, 414, 440, 440, 506, 249, 562, 221, 125, 441, + 120, 194, 193, 141, 441, 477, 483, 121, 981, 953, + 228, 228, 597, 229, 229, 438, 587, 600, 1056, 599, + 1055, 307, 440, 306, 125, 440, 120, 440, 381, 232, + 232, 591, 331, 794, 795, 314, 794, 795, 134, 318, + 1024, 1014, 4, 980, 508, 959, 593, 921, 103, 917, + 862, 661, 38, 508, 856, 855, 786, 691, 445, 695, + 508, 508, 508, 508, 508, 119, 119, 228, 685, 683, + 229, 529, 488, 675, 390, 6, 341, 155, 1022, 628, + 677, 625, 905, 580, 5, 1071, 232, 1043, 227, 227, + 227, 957, 933, 228, 932, 557, 229, 125, 930, 819, + 714, 715, 557, 230, 230, 548, 266, 684, 227, 227, + 304, 196, 232, 223, 224, 717, 697, 951, 879, 441, + 441, 861, 119, 1028, 793, 505, 915, 916, 264, 294, + 632, 692, 713, 346, 851, 852, 227, 660, 721, 256, + 270, 448, 415, 269, 720, 258, 506, 718, 119, 441, + 430, 227, 441, 227, 441, 506, 736, 124, 125, 667, + 452, 447, 506, 506, 506, 506, 506, 125, 730, 124, + 418, 741, 417, 742, 508, 508, 508, 508, 508, 508, + 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, + 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, + 508, 777, 456, 508, 739, 630, 123, 627, 230, 259, + 260, 462, 208, 209, 210, 211, 213, 214, 215, 216, + 217, 218, 219, 220, 212, 789, 791, 558, 508, 557, + 559, 281, 285, 800, 302, 778, 227, 790, 38, 319, + 264, 508, 230, 780, 557, 297, 125, 125, 815, 61, + 461, 808, 1010, 557, 821, 502, 125, 796, 294, 798, + 294, 803, 499, 832, 818, 841, 717, 271, 806, 125, + 230, 120, 495, 127, 128, 834, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 666, 820, 506, 839, 320, 294, 230, + 835, 836, 238, 450, 799, 294, 508, 125, 131, 315, + 262, 558, 508, 508, 559, 294, 53, 811, 131, 712, + 506, 258, 561, 207, 593, 394, 430, 206, 267, 1026, + 230, 268, 876, 506, 227, 813, 227, 1062, 162, 702, + 783, 44, 38, 1027, 475, 549, 870, 232, 557, 1068, + 294, 284, 486, 528, 557, 1034, 1018, 708, 709, 993, + 867, 988, 518, 44, 969, 868, 935, 898, 902, 899, + 536, 225, 233, 880, 227, 877, 558, 508, 1047, 559, + 1041, 258, 784, 119, 463, 259, 260, 438, 258, 999, + 518, 904, 970, 283, 909, 913, 438, 440, 942, 912, + 908, 125, 508, 903, 557, 810, 440, 919, 506, 924, + 258, 748, 924, 747, 506, 506, 922, 931, 927, 258, + 631, 557, 629, 38, 430, 941, 895, 896, 897, 894, + 893, 892, 626, 115, 944, 258, 577, 230, 551, 940, + 282, 501, 508, 946, 462, 259, 260, 863, 794, 795, + 474, 284, 259, 260, 954, 391, 322, 956, 797, 794, + 795, 202, 958, 952, 584, 201, 258, 960, 198, 962, + 963, 255, 135, 945, 259, 260, 582, 583, 574, 506, + 576, 575, 978, 259, 260, 902, 948, 971, 929, 726, + 982, 664, 984, 979, 985, 515, 303, 621, 508, 259, + 260, 620, 617, 508, 506, 557, 616, 557, 476, 38, + 491, 38, 295, 38, 964, 38, 38, 537, 1001, 392, + 1009, 254, 75, 74, 441, 615, 251, 248, 508, 508, + 259, 260, 545, 441, 557, 38, 1023, 38, 38, 801, + 624, 380, 518, 570, 506, 357, 356, 1009, 1029, 355, + 354, 518, 824, 723, 722, 1031, 901, 557, 518, 518, + 518, 518, 518, 827, 828, 1040, 508, 557, 681, 1042, + 1038, 1045, 335, 887, 1039, 1008, 1037, 557, 1007, 1006, + 1049, 1005, 38, 1003, 994, 1002, 230, 230, 230, 1000, + 1051, 973, 1064, 1058, 943, 38, 557, 1054, 1021, 886, + 506, 885, 38, 884, 264, 506, 230, 230, 1072, 1066, + 968, 38, 937, 883, 1019, 1020, 882, 590, 707, 705, + 1011, 950, 633, 920, 955, 38, 635, 634, 665, 560, + 506, 506, 395, 729, 230, 668, 669, 670, 671, 672, + 40, 711, 555, 393, 39, 553, 878, 14, 13, 230, + 1070, 230, 1044, 1067, 655, 657, 656, 658, 643, 644, + 645, 636, 638, 639, 637, 743, 744, 1060, 506, 745, + 746, 872, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 603, + 1059, 518, 1057, 1033, 961, 873, 812, 701, 807, 550, + 195, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 212, 382, 163, 518, 531, 337, 1030, + 1012, 918, 680, 679, 230, 140, 676, 527, 139, 518, + 914, 853, 116, 788, 526, 850, 787, 674, 330, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, + 770, 771, 772, 773, 774, 776, 10, 1, 665, 208, + 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, + 220, 212, 840, 738, 437, 289, 453, 231, 231, 160, + 156, 316, 312, 30, 126, 265, 63, 88, 573, 89, + 507, 100, 73, 11, 518, 324, 99, 98, 78, 118, + 518, 518, 272, 513, 3, 0, 144, 150, 154, 0, + 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, + 197, 0, 230, 0, 230, 205, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, + 234, 235, 236, 237, 0, 0, 239, 0, 241, 242, + 243, 244, 245, 246, 247, 0, 0, 0, 0, 0, + 0, 261, 230, 0, 0, 518, 275, 276, 0, 278, + 279, 845, 0, 0, 0, 0, 342, 848, 849, 0, + 290, 0, 231, 0, 50, 0, 0, 0, 0, 0, + 518, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 212, 0, 0, 0, 0, 0, 153, + 0, 0, 0, 0, 272, 0, 231, 0, 0, 0, + 0, 0, 239, 0, 0, 336, 204, 0, 0, 0, + 518, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 226, 0, 910, 0, 231, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 377, 378, 0, 0, 0, 154, 0, + 0, 0, 0, 231, 0, 0, 518, 0, 0, 0, + 0, 518, 397, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 0, 0, 949, 0, 0, + 0, 0, 0, 0, 231, 0, 518, 518, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, + 0, 0, 0, 239, 0, 423, 425, 425, 0, 0, + 0, 191, 0, 433, 347, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 518, 0, 0, 154, 154, 0, + 0, 459, 0, 0, 425, 172, 176, 175, 0, 0, + 425, 290, 0, 0, 0, 0, 425, 425, 384, 385, + 176, 175, 425, 482, 0, 0, 0, 0, 487, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 0, 413, 0, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 144, 150, 154, 0, 226, 226, 164, 0, 231, 231, - 0, 517, 0, 547, 197, 0, 0, 517, 517, 205, - 0, 0, 0, 0, 0, 168, 170, 169, 191, 0, - 222, 0, 0, 272, 234, 235, 236, 237, 0, 230, - 239, 230, 241, 242, 243, 244, 245, 246, 247, 0, - 0, 0, 0, 0, 0, 261, 0, 0, 839, 0, - 275, 276, 0, 278, 279, 192, 172, 176, 175, 0, - 0, 0, 0, 0, 290, 0, 0, 230, 0, 0, - 0, 517, 0, 0, 0, 0, 0, 166, 167, 171, + 0, 231, 0, 0, 0, 0, 168, 170, 169, 191, + 535, 0, 0, 0, 0, 0, 0, 539, 540, 541, + 542, 543, 911, 0, 0, 435, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 455, 457, + 860, 859, 0, 0, 544, 0, 192, 172, 176, 175, + 0, 648, 646, 647, 0, 0, 471, 0, 0, 0, + 154, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 633, + 0, 659, 641, 635, 634, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 588, 0, 191, + 154, 0, 0, 650, 649, 640, 642, 653, 654, 651, + 652, 655, 657, 656, 658, 643, 644, 645, 636, 638, + 639, 637, 609, 611, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 176, 175, + 231, 231, 231, 0, 648, 646, 647, 0, 0, 0, + 0, 563, 0, 564, 0, 0, 0, 0, 272, 0, + 231, 231, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 846, + 0, 0, 633, 0, 659, 641, 635, 634, 231, 0, + 0, 0, 0, 0, 0, 168, 170, 169, 191, 690, + 0, 594, 0, 231, 0, 231, 650, 649, 640, 642, + 653, 654, 651, 652, 655, 657, 656, 658, 643, 644, + 645, 636, 638, 639, 637, 0, 0, 0, 838, 0, + 0, 0, 0, 725, 0, 192, 172, 176, 175, 425, + 731, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 737, 0, 0, 0, 0, 0, 154, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 517, 0, 0, 347, - 0, 0, 0, 231, 0, 0, 239, 0, 0, 336, - 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, - 219, 220, 212, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 385, 272, 517, 231, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 666, - 0, 413, 154, 0, 0, 231, 669, 670, 671, 672, - 673, 0, 0, 0, 0, 0, 397, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 0, - 0, 0, 0, 0, 517, 0, 0, 0, 0, 517, - 435, 0, 0, 0, 231, 0, 0, 0, 0, 0, - 0, 0, 0, 453, 455, 0, 0, 239, 0, 423, - 425, 425, 0, 0, 0, 517, 517, 433, 0, 0, - 0, 469, 0, 0, 0, 231, 0, 0, 0, 0, - 0, 154, 154, 0, 0, 457, 0, 0, 425, 0, - 0, 0, 0, 0, 425, 290, 0, 0, 0, 0, - 425, 425, 0, 517, 0, 0, 425, 481, 0, 0, - 0, 0, 486, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 777, 0, - 0, 666, 0, 0, 534, 168, 170, 169, 191, 0, - 0, 538, 539, 540, 541, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 562, 0, 563, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 543, 860, - 859, 0, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 0, 0, 154, 0, 0, 0, 0, 911, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 649, 647, - 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 587, 0, 0, 613, 0, 0, 634, 0, 0, - 642, 636, 635, 0, 845, 0, 0, 0, 0, 0, - 848, 849, 0, 0, 602, 604, 634, 0, 660, 642, - 636, 635, 154, 641, 643, 654, 655, 652, 653, 656, - 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, - 651, 650, 641, 643, 654, 655, 652, 653, 656, 658, - 657, 659, 644, 645, 646, 637, 639, 640, 638, 0, - 0, 0, 0, 0, 0, 0, 384, 695, 695, 0, - 231, 231, 231, 0, 910, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 0, 413, 413, 272, 0, - 231, 231, 691, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 649, 647, 648, 0, - 0, 0, 0, 0, 0, 453, 0, 0, 0, 0, - 0, 0, 0, 469, 0, 469, 726, 231, 0, 231, - 0, 0, 425, 732, 469, 0, 0, 0, 231, 951, - 0, 846, 0, 154, 634, 0, 660, 642, 636, 635, + 182, 174, 177, 179, 180, 178, 0, 633, 0, 0, + 889, 635, 634, 0, 0, 0, 890, 0, 231, 888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 634, 743, 0, 642, 636, 635, 651, 650, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 650, 641, 643, - 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, - 646, 637, 639, 640, 638, 0, 0, 634, 0, 0, - 642, 636, 635, 0, 0, 0, 805, 0, 0, 0, - 231, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 793, 649, 647, 648, 643, 654, 655, 652, 653, 656, - 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 0, 0, 384, 694, 694, 653, 654, 651, 652, 655, + 657, 656, 658, 643, 644, 645, 636, 638, 639, 637, + 0, 0, 413, 413, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 336, 792, 0, 648, 646, 647, + 895, 896, 897, 894, 893, 892, 0, 0, 0, 0, + 471, 0, 0, 0, 0, 0, 0, 455, 0, 0, + 889, 0, 936, 0, 0, 471, 890, 471, 0, 888, + 0, 0, 0, 825, 0, 633, 844, 659, 641, 635, + 634, 425, 425, 0, 0, 0, 0, 0, 154, 0, + 0, 0, 0, 0, 842, 0, 231, 0, 231, 650, + 649, 640, 642, 653, 654, 651, 652, 655, 657, 656, + 658, 643, 644, 645, 636, 638, 639, 637, 0, 0, + 895, 896, 897, 894, 893, 892, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 231, 0, 0, 0, + 0, 0, 881, 0, 0, 0, 0, 0, 857, 0, + 804, 0, 0, 0, 0, 865, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 833, 192, 172, + 176, 175, 648, 646, 647, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 425, 0, 0, 0, 0, 594, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 785, + 633, 0, 659, 641, 635, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 613, 0, 0, 0, 0, 0, 0, 0, 826, 634, - 844, 660, 642, 636, 635, 0, 425, 425, 0, 0, - 0, 0, 0, 0, 841, 0, 0, 0, 154, 0, - 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, - 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 695, 0, 413, 0, 231, 0, - 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 857, 0, 0, 0, 0, 0, 0, - 865, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 469, 0, 0, 0, 231, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, - 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 425, 0, - 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 336, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 624, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 0, 0, 0, 0, 650, 649, 640, 642, 653, 654, + 651, 652, 655, 657, 656, 658, 643, 644, 645, 636, + 638, 639, 637, 0, 425, 0, 0, 0, 694, 0, + 413, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 336, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, + 0, 22, 23, 37, 44, 15, 24, 35, 471, 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, @@ -832,7 +829,7 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 489, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 623, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, @@ -845,147 +842,16 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 490, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, + 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, + 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 1076, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1066, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 1056, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 1051, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, - 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 1016, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 993, 34, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 992, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 990, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 989, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 928, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 854, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, @@ -1003,7 +869,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 551, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 1073, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -1016,7 +882,7 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 1063, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, @@ -1029,20 +895,151 @@ var yyAct = [...]int{ 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 1053, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 1048, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 1013, 34, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 990, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 989, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 987, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 986, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 928, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 854, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 552, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 1035, 62, 0, 96, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, @@ -1055,7 +1052,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 925, 62, 0, 96, + 0, 91, 76, 16, 0, 34, 1032, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -1068,7 +1065,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 810, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 925, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -1081,7 +1078,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 679, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 809, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -1092,229 +1089,180 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 168, 170, 169, 191, + 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 678, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 0, 834, 192, 172, 176, 175, - 649, 647, 648, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 783, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 786, 634, 0, - 660, 642, 636, 635, 649, 647, 648, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, - 0, 0, 651, 650, 641, 643, 654, 655, 652, 653, - 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, - 638, 0, 634, 0, 660, 642, 636, 635, 168, 170, - 169, 191, 208, 209, 210, 211, 213, 214, 215, 216, - 217, 218, 219, 220, 212, 0, 651, 650, 641, 643, - 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, - 646, 637, 639, 640, 638, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 733, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 690, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 687, 0, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 623, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 620, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 598, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 577, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 168, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 782, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 648, 646, 647, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 740, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 0, 0, 633, 0, 659, 641, 635, + 634, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, + 649, 640, 642, 653, 654, 651, 652, 655, 657, 656, + 658, 643, 644, 645, 636, 638, 639, 637, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 732, 0, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 420, 0, 0, 192, 172, 176, 175, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 689, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 686, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 0, 0, 192, 172, 176, + 177, 179, 180, 178, 622, 0, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 619, 0, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 605, 0, 0, 192, 172, 176, 175, 0, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 578, 0, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 0, 0, + 0, 0, 0, 469, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 396, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 420, 0, 0, 192, 172, 176, 175, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 389, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 389, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 340, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 340, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 338, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 338, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, + 180, 178, 165, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 648, 646, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 165, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 649, - 647, 648, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 634, 0, 660, - 642, 636, 635, 168, 170, 169, 191, 0, 0, 0, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 633, 0, 659, 641, 635, 634, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, - 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, - 0, 0, 0, 192, 172, 176, 175, 647, 648, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 634, 0, 660, 642, 636, 635, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 0, 0, 192, - 172, 176, 175, 0, 648, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 634, 0, 660, 642, 636, 635, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 651, 650, 641, 643, 654, 655, - 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, - 639, 640, 638, 0, 192, 172, 176, 175, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 192, 172, 176, 175, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 172, 176, 175, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 650, 649, 640, 642, 653, 654, + 651, 652, 655, 657, 656, 658, 643, 644, 645, 636, + 638, 639, 637, 0, 0, 0, 192, 172, 176, 175, + 646, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 0, 172, 176, - 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 181, 182, 174, 177, 179, 180, 178, 633, 0, 659, + 641, 635, 634, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 650, 649, 640, 642, 653, 654, 651, 652, 655, + 657, 656, 658, 643, 644, 645, 636, 638, 639, 637, + 0, 0, 192, 172, 176, 175, 0, 647, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 633, 0, 659, 641, 635, 634, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 650, 649, 640, + 642, 653, 654, 651, 652, 655, 657, 656, 658, 643, + 644, 645, 636, 638, 639, 637, 0, 192, 172, 176, + 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 192, 172, + 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 615, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 634, 62, 608, 96, 636, 635, 614, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 654, 655, 652, 653, 656, 658, 657, 659, 644, - 645, 646, 637, 639, 640, 638, 0, 0, 0, 44, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 633, + 0, 659, 641, 635, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 191, 0, - 0, 148, 112, 108, 102, 615, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 172, 176, 175, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 614, 57, 56, 58, 59, 72, 119, 0, 0, 171, + 0, 0, 0, 650, 649, 640, 642, 653, 654, 651, + 652, 655, 657, 656, 658, 643, 644, 645, 636, 638, + 639, 637, 633, 0, 0, 641, 635, 634, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 650, 649, 640, 642, + 653, 654, 651, 652, 655, 657, 656, 658, 643, 644, + 645, 636, 638, 639, 637, 0, 172, 176, 175, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 633, 0, 0, 641, 635, 634, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 182, 174, 177, 179, 180, 178, 649, 640, 642, 653, + 654, 651, 652, 655, 657, 656, 658, 643, 644, 645, + 636, 638, 639, 637, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 191, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 176, 175, - 842, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 605, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 603, 57, 56, 58, 59, 72, 119, 82, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 176, 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 94, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, + 0, 0, 0, 0, 148, 112, 108, 102, 596, 84, + 85, 86, 191, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 291, 57, 56, 58, 59, 72, 119, + 0, 0, 91, 76, 0, 0, 0, 0, 62, 589, + 96, 176, 175, 595, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 94, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 191, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 596, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 422, 96, 172, 176, 175, 57, 56, 58, 59, 72, + 0, 96, 0, 0, 595, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, @@ -1323,7 +1271,7 @@ var yyAct = [...]int{ 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 0, 96, 0, 0, 398, 57, 56, 58, 59, + 62, 0, 96, 0, 0, 843, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1335,8 +1283,8 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 151, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 612, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1349,7 +1297,7 @@ var yyAct = [...]int{ 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 149, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 0, 0, 62, 0, 96, 0, 0, 610, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1362,7 +1310,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 143, 0, 62, 0, 96, 0, 0, 0, 57, + 0, 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1372,14 +1320,64 @@ var yyAct = [...]int{ 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 634, 91, 76, - 642, 636, 635, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 654, 655, 652, 653, 656, - 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, - 82, 83, 71, 0, 104, 105, 125, 434, 120, 0, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 0, 62, 422, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 398, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 0, 0, 143, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, @@ -1392,7 +1390,7 @@ var yyAct = [...]int{ 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 119, 82, 83, 71, 0, 104, 105, 125, 434, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, @@ -1401,222 +1399,236 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 104, 105, 125, 77, 41, 147, 0, 0, 0, 0, - 515, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 510, 0, 513, 109, 110, 111, 106, 107, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 104, 105, 125, 77, 41, 147, 0, 0, 0, + 0, 516, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 511, 0, 514, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 517, 0, 0, + 0, 0, 509, 112, 108, 510, 104, 105, 125, 0, 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, - 0, 508, 112, 108, 509, 104, 105, 125, 0, 0, - 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, - 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 776, 522, 0, 511, 0, 0, - 0, 521, 520, 518, 519, 0, 0, 510, 0, 513, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 508, 112, 108, 509, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 775, 523, 0, 512, 0, + 0, 0, 522, 521, 519, 520, 0, 0, 511, 0, + 514, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 517, 0, 0, 0, 0, 509, 112, 108, + 510, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 522, 0, 511, 0, 0, 0, 521, 520, 518, 519, + 0, 523, 0, 512, 0, 0, 0, 522, 521, 519, + 520, } var yyPact = [...]int{ - -1000, -1000, 2348, -1000, -1000, -1000, -1000, 320, 492, 593, - 149, -1000, 350, -1000, -1000, 870, -1000, 269, -1000, -1000, - 319, 269, 7510, 7379, 7248, 379, 194, 773, 7641, -1000, - 5668, 317, 316, -1000, -1000, 423, 7641, 868, 80, 867, - 863, 7641, -1000, -1000, -1000, -1000, 658, -1000, 657, -1000, - 4936, 315, 7641, 439, 279, 279, 7641, 7641, 7641, 7641, - -1000, -1000, 7927, -1000, 7641, 7641, 7641, 7641, 7641, 7641, - 7641, 314, -1000, -1000, 231, 226, 834, 7641, 626, 398, - 312, 309, 7641, 7641, 308, 7641, 7641, -1000, 225, -1000, - -1000, 819, 712, -1000, 224, 307, 6855, -1000, 222, 211, - -1000, 471, 832, 515, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 163, 192, -1000, 508, -1000, -1000, 422, - -1000, 265, 330, -1000, 832, -1000, 144, 618, 545, -1000, - 649, 832, -1000, 861, -1000, 43, 4051, 340, 7927, 269, - 4837, 7641, -1000, -1000, 5621, -1000, 80, 742, 495, -1000, - 5574, -1000, 378, 1667, 5756, -1000, 139, -1000, -1000, 322, - 100, 80, 38, 93, 5756, -1000, -1000, -1000, -1000, -1000, - 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, - 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, - 7641, 398, 336, 279, 7641, 306, -1000, 5527, 376, 860, - -1000, 637, -1000, -1000, 4936, 5480, -1000, -1000, 7117, 7641, - 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, 7641, - 7641, 177, -1000, -1000, -1000, -1000, -1000, 471, 494, 832, - 507, 506, -1000, -1000, -110, -110, -17, -110, 264, 5436, - 262, -110, -110, -110, -110, -110, -110, -110, -1000, 6986, - -1000, 7641, 7641, 7641, 310, 757, 781, -1000, 289, 7796, - 279, 5968, 59, -1000, 504, -1000, 471, 490, 832, 625, - 163, 192, 503, 7641, 7641, 5756, 5756, 7641, 5756, 5756, - 7641, 512, 757, 720, -1000, 695, 7641, 6855, 195, 51, - 5392, 279, 7641, 7641, 859, 280, 471, 56, 7641, 7641, - 163, 422, 66, 280, 7641, 374, -1000, -1000, 2217, 471, - -1000, 653, 75, -1000, 648, 832, 70, -1000, 604, 832, - 854, 589, 35, 8087, -1000, -1000, -1000, -1000, -1000, 302, - 4837, -1000, -1000, 782, 372, 48, 5756, 305, -1000, -1000, - -1000, -1000, -1000, -1000, 194, -1000, 7641, -1000, -1000, 812, - -1000, 8087, -1000, 7641, 7641, 7641, 7641, 7641, 5927, -18, - 6459, 6984, -9, -9, -9, -17, -110, -17, -17, 142, - 142, 1101, 1101, 1101, 1101, 133, 133, 133, 133, -1000, - 7641, -1000, 77, -1000, -1000, 1264, 763, 853, 3920, -1000, - -1000, -1000, 300, -1000, 602, 611, 7641, 5968, 185, 5968, - 5968, 5968, 5968, 5968, 5968, 5968, 5968, 5968, 5968, 5968, - 5968, 74, -1000, -1000, 299, 832, 471, 59, 59, -1000, - -1000, -1000, -1000, -110, 188, 5756, 184, -1000, -1000, -1000, - -1000, 799, 852, 5311, 208, 395, -1000, 198, -1000, -1000, - 163, 192, -1000, 7641, 280, 169, 832, 471, -1000, 163, - 169, 64, -1000, 4936, -1000, 969, 261, 5263, 176, -1000, - -1000, -1000, 175, 255, -1000, -1000, 6724, 6593, -1000, -1000, - 159, 155, -1000, -1000, 6181, 280, -1000, -1000, -1000, -1000, - 154, 5219, -1000, -1000, -1000, -1000, 5171, -1000, 2086, -1000, - 280, -1000, -1000, 618, 850, 535, -1000, 545, 849, 531, - -1000, 846, 8087, -1000, 5712, -1000, -1000, 471, 480, 832, - 298, 8087, -1000, -1000, -1000, -1000, 651, 501, 8087, 8087, - 8087, 8087, 8087, 254, -1000, -1000, 4706, -1000, -1000, -1000, - -1000, 370, 369, -1000, 5123, 28, 296, -1000, 5756, 6050, - 6298, 5842, 5968, 5075, 7641, 368, 279, 256, 256, 49, - 16, 737, 295, 609, 546, -1000, 471, 475, 832, 421, - 602, -1000, 4936, -1000, 398, -27, 177, 177, 471, -1000, - -1000, -1000, 147, -1000, -1000, -1000, -1000, -1000, 7641, -1000, - -1000, 204, 197, 280, 7641, 7641, 163, 5029, -1000, -1000, - -1000, 471, 59, -1000, -1000, 7641, -1000, -1000, -1000, -1000, - -1000, -1000, 4981, 279, 5756, 279, -1000, -1000, -1000, 37, - 250, -1000, -1000, 4936, 279, 7641, -1000, 280, 280, -1000, - -1000, 280, 280, -1000, -1000, -1000, -1000, -1000, 843, -1000, - -1000, 840, -1000, -1000, 8087, 8087, 8087, 8087, 8087, 8087, - 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, - 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, 8087, - 8012, 832, 471, 8087, 132, 45, 4937, 520, 724, -66, - -66, 1, 1, 4893, 365, -1000, 4182, -1000, -1000, -1000, - 269, 7641, 7641, 438, -1000, 769, -1000, -1000, 8087, 609, - -1000, 6009, -1000, -1000, 532, -1000, 279, 294, 532, 4575, - 838, 8087, 691, 292, 609, 249, -8, -1000, 80, -1000, - -1000, -1000, 420, 602, 832, 471, -1000, -30, -1000, -1000, - 7641, -1000, 27, -1000, 220, -1000, 4849, 540, 7641, 7641, - -1000, 131, 1218, -1000, -1000, -1000, 6462, -1000, -1000, -1000, - 6312, -1000, -1000, 5756, -1000, -1000, -1000, -1000, -1000, -1000, - 1854, 1, 1, -66, -66, -66, -66, 1792, 6178, 7632, - -67, -67, 1, 5885, 1085, 5799, 1582, 1747, 1060, 1060, - 1060, 1060, -43, -43, -43, -43, 8087, 1729, 471, 248, - -1000, -1000, 8087, 8087, -1000, -1000, -1000, -1000, 457, -1000, - 3789, 364, 363, 5756, -1000, 7641, 285, 436, 362, 749, - -1000, 244, 7641, 243, 256, -1000, 177, 240, -1000, -1000, - -1000, -42, -1000, -1000, -1000, -1000, 238, 659, 609, 469, - -1000, -30, 471, 1081, 602, 280, 5968, -1000, -1000, 78, - 540, 7641, -1000, 59, 393, -1000, 107, 105, -1000, -1000, - -1000, 5756, 279, -1000, -1000, 88, 8087, -1000, 1601, 5712, - -1000, 269, 4837, 452, 361, -1000, -1000, 1518, -1000, -1000, - -1000, -1000, -1000, 360, 659, 6009, 4444, -1000, -31, 4444, - 3658, 8087, 419, 602, 417, 411, 271, -1000, 811, -1000, - 406, -1000, -1000, -1000, 42, -1000, 742, 619, -1000, 825, - 602, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 7641, 540, -1000, 103, -1000, -1000, -1000, -1000, 543, -1000, - 88, 8087, -1000, -1000, 430, 269, 333, -1000, 7641, -1000, - -1000, -1000, 409, -1000, -1000, -1000, -1000, -1000, 358, -1000, - -1000, -1000, -1000, -1000, 212, -44, -1000, 810, -1000, 818, - 80, -1000, -53, -4, -1000, 101, 540, -1000, -1000, -1000, - 59, 5712, 4837, 355, 326, -1000, 235, -1000, 4182, -1000, - 3527, -1000, 3396, 809, 3265, 3134, -45, -1000, 808, 8087, - -46, -69, -71, 817, 8087, -1000, 602, -1000, 622, -1000, - -1000, -1000, -1000, -1000, -1000, 4182, -1000, 4182, 3003, 354, - -1000, 233, -1000, -1000, -1000, 199, -1000, -1000, -1000, 803, - 8087, 8087, -1000, -1000, -1000, 381, 622, -1000, 353, 331, - 668, 761, 500, -1000, -1000, 4313, -1000, -1000, -1000, -1000, - 802, -72, -1000, -1000, 268, -1000, -1000, -1000, -1000, 602, - 619, 816, 4182, -1000, -1000, -1000, 408, -1000, 8087, 609, - -65, -1000, 784, -1000, -1000, 2872, -1000, -1000, 213, 602, - -1000, 281, 2741, 346, -1000, -1000, -1000, -1000, -1000, -1000, - 723, 2610, -1000, 723, -1000, 257, -1000, -1000, 602, -1000, - 796, 102, -1000, 397, -1000, 2479, -1000, + -1000, -1000, 2439, -1000, -1000, -1000, -1000, 344, 547, 696, + 122, -1000, 376, -1000, -1000, 932, -1000, 290, -1000, -1000, + 340, 290, 7635, 7504, 7373, 416, 253, 796, 7766, -1000, + 5671, 339, 338, -1000, -1000, 452, 7766, 928, 72, 925, + 921, 7766, -1000, -1000, -1000, -1000, 745, -1000, 741, -1000, + 1113, 334, 7766, 469, 448, 448, 7766, 7766, 7766, 7766, + -1000, -1000, 8028, -1000, 7766, 7766, 7766, 7766, 7766, 7766, + 7766, 332, -1000, -1000, 231, 230, 924, 7766, 723, 719, + 325, 324, 7766, 7766, 323, 7766, 7766, -1000, 226, -1000, + -1000, 893, 846, -1000, 217, 322, 6980, -1000, 213, 205, + -1000, 507, 861, 627, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 139, 184, -1000, 616, -1000, -1000, 451, + -1000, 288, 362, -1000, 861, -1000, 116, 697, 617, -1000, + 738, 861, -1000, 916, -1000, -13, 4142, 370, 8028, 290, + 4928, 7766, -1000, -1000, 5624, -1000, 72, 774, 535, -1000, + 5577, -1000, 415, 1245, 5759, -1000, 115, -1000, -1000, 474, + 107, 72, -21, 104, 5759, -1000, -1000, -1000, -1000, -1000, + 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, + 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, + 7766, 719, 366, 448, 7766, 318, -1000, 5530, 413, 915, + -1000, 740, -1000, -1000, 1113, 5483, -1000, -1000, 7242, 7766, + 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, + 7766, 392, -1000, -1000, -1000, -1000, -1000, 507, 520, 861, + 554, 552, -1000, -1000, -107, -107, -17, -107, 286, 5439, + 285, -107, -107, -107, -107, -107, -107, -107, -1000, 7111, + -1000, 7766, 7766, 7766, 301, 868, 877, -1000, 268, 7897, + 448, 5971, 65, 292, 543, -1000, 507, 519, 861, 716, + 139, 184, 542, 7766, 7766, 5759, 5759, 7766, 5759, 5759, + 7766, 593, 868, 839, -1000, 779, 7766, 6980, 167, 62, + 5395, 448, 7766, 7766, 910, 292, 507, 56, 7766, 7766, + 139, 451, 112, 292, 7766, 411, -1000, -1000, 2308, 507, + -1000, 706, 100, -1000, 703, 861, 99, -1000, 693, 861, + 901, 686, -23, 8188, -1000, -1000, -1000, -1000, -1000, 314, + 4928, -1000, -1000, 802, 410, 27, 5759, 317, -1000, -1000, + -1000, -1000, -1000, -1000, 253, -1000, 7766, -1000, -1000, 828, + -1000, 8188, -1000, 7766, 7766, 7766, 7766, 7766, 5930, 1427, + 6322, 1629, 7, 7, 7, -17, -107, -17, -17, 22, + 22, 1441, 1441, 1441, 1441, 267, 267, 267, 267, -1000, + 7766, -1000, 67, -1000, -1000, 536, 786, 898, 4011, -1000, + -1000, -1000, 312, -1000, 608, 737, 7766, 5971, 228, 5971, + 5971, 5971, 5971, 5971, 5971, 5971, 5971, 5971, 5971, 5971, + 5971, 58, -1000, -1000, 304, 861, 507, 65, 65, -1000, + -1000, -1000, -1000, -107, 165, 5759, 164, -1000, -1000, -1000, + -1000, 938, 896, 5314, 203, 423, -1000, 170, -1000, -1000, + 139, 184, -1000, 7766, -1000, -1000, 6325, 183, 861, 507, + 65, 139, 183, 34, -1000, 1113, -1000, 1045, 283, 5266, + 162, -1000, -1000, -1000, 142, 282, -1000, -1000, 6849, 6718, + -1000, -1000, 134, 133, -1000, -1000, 292, -1000, -1000, -1000, + -1000, 130, 5222, -1000, -1000, -1000, -1000, 5174, -1000, 2177, + -1000, 292, -1000, -1000, 697, 892, 638, -1000, 617, 882, + 636, -1000, 880, 8188, -1000, 5715, -1000, -1000, 507, 515, + 861, 302, 8188, -1000, -1000, -1000, -1000, 746, 541, 8188, + 8188, 8188, 8188, 8188, 281, -1000, -1000, 4797, -1000, -1000, + -1000, -1000, 408, 407, -1000, 5126, -38, 300, -1000, 5759, + 6194, 219, 5845, 5971, 5078, 7766, 396, 448, 391, 391, + -8, -40, 768, 299, 767, 733, -1000, 507, 510, 861, + 442, 608, -1000, 1113, -1000, 719, -41, 392, 392, 507, + -1000, -1000, -1000, 129, -1000, -1000, -1000, -1000, -1000, 7766, + -1000, -1000, 190, 180, 292, 7766, 7766, 139, 5032, -1000, + -30, 276, -1000, -1000, 1113, 448, 7766, -1000, 507, -1000, + -1000, -1000, 7766, -1000, -1000, -1000, -1000, -1000, -1000, 4984, + 448, 5759, 448, -1000, -1000, -1000, 292, 292, -1000, -1000, + 292, 292, -1000, -1000, -1000, -1000, -1000, 873, -1000, -1000, + 871, -1000, -1000, 8188, 8188, 8188, 8188, 8188, 8188, 8188, + 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, + 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8113, + 861, 507, 8188, 127, 21, 4940, 596, 800, -63, -63, + -46, -46, 2005, 395, -1000, 4273, -1000, -1000, -1000, 290, + 7766, 7766, 464, -1000, 897, -1000, -1000, 8188, 767, -1000, + 6098, -1000, -1000, 663, -1000, 448, 298, 663, 4666, 865, + 8188, 763, 297, 767, 274, 20, -1000, 72, -1000, -1000, + -1000, 440, 608, 861, 507, -1000, 19, -1000, -1000, 7766, + -1000, -36, -1000, 188, -1000, 1961, 666, 7766, 7766, -1000, + 106, 1728, -1000, -1000, 6456, -1000, -1000, 5759, 668, -1000, + 6587, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1870, + -46, -46, -63, -63, -63, -63, -19, 1772, 51, 1, + 1, -46, 5888, 6014, 5802, 119, 6116, 967, 967, 967, + 967, 137, 137, 137, 137, 8188, 1677, 507, 266, -1000, + -1000, 8188, 8188, -1000, -1000, -1000, -1000, 501, -1000, 3880, + 394, 393, 5759, -1000, 7766, 296, 461, 389, 886, -1000, + 265, 7766, 264, 391, -1000, 392, 236, -1000, -1000, -1000, + -45, -1000, -1000, -1000, -1000, 235, 758, 767, 495, -1000, + 19, 507, 1942, 608, 292, 5971, -1000, -1000, 138, 666, + 7766, -1000, 65, 422, -1000, 101, 98, -1000, -1000, -1000, + -1000, 65, 5759, 448, -1000, 6057, 8188, -1000, 1574, 5715, + -1000, 290, 4928, 493, 388, -1000, -1000, 1529, -1000, -1000, + -1000, -1000, -1000, 386, 758, 6098, 4535, -1000, -42, 4535, + 3749, 8188, 439, 608, 435, 433, 291, -1000, 824, -1000, + 1862, -1000, -1000, -1000, -43, -1000, 774, 798, -1000, 858, + 608, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 7766, 666, -1000, 93, -1000, -1000, -1000, -1000, -1000, -1000, + 6057, 8188, -1000, -1000, 482, 290, 347, -1000, 7766, -1000, + -1000, -1000, 432, -1000, -1000, -1000, -1000, -1000, 384, -1000, + -1000, -1000, -1000, -1000, 240, -62, -1000, 822, -1000, 852, + 72, -1000, -64, -54, -1000, 75, 666, -1000, -1000, 5715, + 4928, 382, 346, -1000, 234, -1000, 4273, -1000, 3618, -1000, + 3487, 819, 3356, 3225, -48, -1000, 817, 8188, -50, -66, + -67, 849, 8188, -1000, 608, -1000, 702, -1000, -1000, -1000, + -1000, -1000, 4273, -1000, 4273, 3094, 380, -1000, 220, -1000, + -1000, -1000, 186, -1000, -1000, -1000, 814, 8188, 8188, -1000, + -1000, -1000, 418, 702, -1000, 379, 319, 754, 784, 505, + -1000, -1000, 4404, -1000, -1000, -1000, -1000, 813, -72, -1000, + -1000, 269, -1000, -1000, -1000, -1000, 608, 798, 840, 4273, + -1000, -1000, -1000, 428, -1000, 8188, 767, -35, -1000, 838, + -1000, -1000, 2963, -1000, -1000, 187, 608, -1000, 270, 2832, + 359, -1000, -1000, -1000, -1000, -1000, -1000, 766, 2701, -1000, + 766, -1000, 185, -1000, -1000, 608, -1000, 807, -34, -1000, + 426, -1000, 2570, -1000, } var yyPgo = [...]int{ - 0, 1196, 51, 40, 39, 102, 1195, 1194, 15, 514, - 1233, 88, 1257, 91, 60, 61, 799, 1229, 1193, 33, - 1192, 1188, 1187, 74, 1186, 48, 84, 1177, 1176, 1148, - 1147, 114, 1146, 1145, 30, 1144, 32, 45, 52, 0, - 1143, 1142, 1140, 5, 1139, 1138, 517, 1137, 1136, 53, - 23, 27, 24, 1135, 46, 44, 1134, 13, 1133, 1132, - 1131, 1130, 1127, 1126, 1124, 1122, 1121, 1102, 1101, 1100, - 1099, 11, 1097, 1096, 1095, 1094, 1092, 1091, 43, 1089, - 1088, 28, 17, 1087, 1078, 1076, 1074, 1073, 1071, 14, - 1070, 1067, 1060, 1058, 1057, 1056, 2, 1053, 1051, 36, - 1049, 1048, 7, 1047, 22, 1045, 6, 1043, 1042, 1038, - 1031, 20, 1029, 1028, 1025, 54, 38, 18, 1024, 1023, - 1022, 1019, 1018, 21, 1016, 376, 1013, 26, 1012, 1009, - 1006, 1005, 1004, 1003, 1000, 997, 996, 990, 986, 982, - 980, 8, 976, 973, 972, 971, 969, 968, 1, 967, - 964, 962, 12, 37, 959, 958, 957, 955, 952, 616, - 42, 951, 19, 950, 947, 946, 945, 943, 942, 940, - 935, 934, 933, 932, 928, 925, 924, 923, 16, 922, - 921, 919, 918, 917, 916, 41, 915, 908, 907, 906, - 903, 902, 3, 901, 900, 899, 937, 34, 898, 897, - 29, 4, 894, 892, 890, 884, 883, 882, 844, + 0, 1294, 52, 46, 40, 102, 1293, 1289, 34, 508, + 1212, 42, 1273, 59, 63, 20, 786, 1374, 1288, 37, + 1287, 1286, 1285, 12, 1283, 49, 86, 1282, 1281, 1280, + 1279, 83, 1278, 1277, 61, 1276, 36, 47, 24, 1275, + 709, 41, 53, 0, 1274, 1272, 1271, 6, 1270, 1269, + 599, 1266, 1265, 58, 29, 161, 26, 28, 1264, 1263, + 1262, 14, 518, 1247, 54, 45, 1246, 17, 1218, 1217, + 1216, 1215, 1214, 1213, 1211, 1210, 1208, 1207, 1206, 1205, + 1203, 5, 1202, 1201, 1200, 1199, 1198, 1197, 44, 1195, + 1194, 30, 18, 1180, 1179, 1178, 1177, 1176, 1175, 13, + 1174, 1173, 1172, 1170, 1141, 1137, 1, 1123, 1120, 43, + 1118, 1117, 16, 1116, 22, 1115, 4, 1114, 1113, 1112, + 1111, 23, 1110, 1102, 1099, 51, 33, 19, 1094, 1093, + 1091, 1090, 1089, 27, 1088, 1087, 31, 1086, 1083, 1082, + 1080, 1073, 1071, 1069, 1068, 1067, 1064, 1061, 1055, 1053, + 2, 1051, 1049, 1048, 1046, 1045, 1044, 7, 1043, 1042, + 1038, 11, 8, 1034, 1033, 1026, 1024, 1023, 1022, 1020, + 1019, 1016, 1015, 1013, 1011, 1009, 1002, 997, 996, 993, + 992, 991, 989, 21, 987, 984, 982, 980, 978, 976, + 972, 971, 967, 966, 585, 32, 965, 961, 38, 3, + 959, 956, 947, 946, 934, 903, } var yyR1 = [...]int{ - 0, 53, 38, 38, 39, 39, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 40, 40, 2, - 2, 2, 2, 41, 41, 3, 3, 3, 3, 42, - 42, 4, 4, 4, 4, 56, 56, 43, 43, 22, - 22, 22, 22, 23, 23, 24, 58, 59, 24, 62, - 63, 24, 66, 67, 24, 69, 70, 24, 72, 73, - 74, 24, 76, 24, 24, 24, 24, 24, 24, 24, + 0, 63, 42, 42, 43, 43, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 44, 44, 2, + 2, 2, 2, 45, 45, 3, 3, 3, 3, 46, + 46, 4, 4, 4, 4, 66, 66, 47, 47, 22, + 22, 22, 22, 23, 23, 24, 68, 69, 24, 72, + 73, 24, 76, 77, 24, 79, 80, 24, 82, 83, + 84, 24, 86, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 83, 24, 24, 24, 24, 24, 86, 88, 90, 91, - 92, 86, 87, 94, 87, 93, 93, 95, 95, 97, - 98, 96, 80, 80, 99, 54, 55, 102, 102, 103, - 103, 105, 100, 109, 101, 113, 101, 107, 107, 107, - 107, 108, 108, 112, 114, 114, 110, 110, 115, 115, - 81, 81, 52, 52, 52, 75, 75, 82, 82, 85, - 85, 84, 84, 77, 77, 77, 77, 116, 118, 116, - 119, 116, 117, 117, 68, 68, 60, 120, 60, 64, - 121, 64, 61, 61, 65, 65, 106, 106, 122, 122, - 123, 123, 124, 124, 124, 124, 125, 125, 125, 126, - 126, 127, 127, 127, 127, 44, 44, 25, 25, 25, - 45, 45, 45, 45, 111, 111, 130, 128, 128, 128, - 135, 128, 133, 137, 137, 138, 138, 139, 139, 140, - 140, 141, 141, 142, 145, 145, 146, 146, 144, 143, - 143, 147, 147, 136, 136, 129, 129, 134, 134, 149, - 149, 148, 148, 148, 148, 148, 148, 131, 131, 131, - 131, 132, 132, 79, 79, 71, 71, 151, 150, 150, - 152, 152, 154, 154, 156, 155, 155, 155, 157, 158, - 157, 161, 159, 13, 13, 13, 163, 13, 13, 13, + 93, 24, 24, 24, 24, 24, 96, 98, 100, 101, + 102, 96, 97, 104, 97, 103, 103, 105, 105, 107, + 108, 106, 90, 90, 109, 64, 65, 112, 112, 113, + 113, 115, 110, 119, 111, 123, 111, 117, 117, 117, + 117, 118, 118, 122, 124, 124, 120, 120, 125, 125, + 91, 91, 56, 56, 56, 85, 85, 92, 92, 95, + 95, 94, 94, 87, 87, 87, 87, 126, 128, 126, + 129, 126, 127, 127, 78, 78, 70, 130, 70, 74, + 131, 74, 71, 71, 75, 75, 116, 116, 132, 132, + 133, 133, 134, 134, 134, 134, 62, 62, 62, 135, + 135, 136, 136, 136, 136, 48, 48, 25, 25, 25, + 49, 49, 49, 49, 121, 121, 139, 137, 137, 137, + 144, 137, 142, 146, 146, 147, 147, 148, 148, 149, + 149, 150, 150, 151, 154, 154, 155, 155, 153, 152, + 152, 156, 156, 145, 145, 138, 138, 143, 143, 158, + 158, 157, 157, 157, 157, 157, 157, 140, 140, 140, + 140, 141, 141, 89, 89, 81, 81, 160, 159, 159, + 161, 161, 163, 163, 165, 164, 164, 164, 166, 167, + 166, 40, 13, 13, 13, 168, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 164, 13, 165, 13, 166, - 13, 167, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 169, 13, 170, 13, 171, 13, + 172, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 168, 13, 169, 170, 13, 171, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 173, 13, 13, - 13, 13, 13, 13, 13, 177, 13, 179, 13, 78, - 78, 78, 78, 174, 174, 174, 174, 175, 175, 104, - 178, 178, 180, 180, 180, 180, 181, 21, 182, 21, - 183, 21, 184, 21, 186, 21, 187, 21, 188, 21, - 189, 21, 9, 9, 9, 9, 89, 89, 89, 160, - 160, 191, 193, 190, 190, 194, 194, 195, 172, 172, - 172, 176, 176, 176, 162, 162, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 6, 26, + 173, 13, 174, 175, 13, 176, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 178, 13, 13, 13, + 13, 13, 13, 13, 182, 13, 184, 13, 88, 88, + 88, 88, 179, 179, 179, 179, 180, 180, 114, 183, + 183, 185, 185, 185, 185, 186, 21, 187, 21, 188, + 21, 189, 21, 190, 21, 191, 21, 192, 21, 193, + 21, 9, 9, 9, 9, 99, 99, 99, 41, 41, + 39, 39, 59, 59, 60, 177, 177, 177, 181, 181, + 181, 61, 61, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 6, 26, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 33, 33, 33, 33, 27, 27, 27, - 27, 27, 27, 27, 197, 197, 200, 200, 199, 199, - 199, 199, 12, 12, 57, 57, 14, 15, 16, 17, - 17, 202, 202, 203, 153, 204, 204, 206, 205, 201, - 201, 201, 185, 185, 207, 207, 10, 20, 20, 18, - 18, 18, 19, 19, 19, 8, 8, 8, 7, 7, - 11, 11, 192, 192, 208, 208, 208, 37, 37, 51, - 51, 50, 50, 36, 36, 36, 49, 49, 48, 48, - 48, 48, 48, 48, 48, 48, 46, 46, 46, 46, - 31, 31, 31, 31, 31, 31, 32, 32, 32, 35, - 35, 35, 35, 35, 35, 35, 35, 47, 47, 34, - 34, 28, 28, 29, 30, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 33, 33, 33, 33, 27, 27, 27, 27, 27, 27, + 27, 195, 195, 198, 198, 197, 197, 197, 197, 12, + 12, 67, 67, 14, 15, 16, 17, 17, 200, 200, + 201, 162, 202, 202, 204, 203, 199, 199, 199, 38, + 38, 205, 205, 10, 20, 20, 18, 18, 18, 19, + 19, 19, 8, 8, 8, 7, 7, 11, 11, 57, + 57, 58, 58, 58, 37, 37, 55, 55, 54, 54, + 36, 36, 36, 53, 53, 52, 52, 52, 52, 52, + 52, 52, 52, 50, 50, 50, 50, 31, 31, 31, + 31, 31, 31, 32, 32, 32, 35, 35, 35, 35, + 35, 35, 35, 35, 51, 51, 34, 34, 28, 28, + 29, 30, } var yyR2 = [...]int{ @@ -1646,260 +1658,260 @@ var yyR2 = [...]int{ 2, 1, 1, 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, 1, 0, 4, 1, 2, 1, 4, 3, 0, 3, 1, 1, 0, 0, - 2, 0, 4, 6, 3, 4, 0, 7, 2, 3, + 2, 3, 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 0, 4, 0, 4, 0, - 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 1, 0, 5, 0, 0, 7, 0, 5, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 0, 3, 1, - 1, 1, 3, 2, 1, 0, 10, 0, 11, 2, - 2, 4, 4, 4, 4, 4, 4, 4, 3, 1, - 0, 4, 3, 4, 1, 2, 0, 3, 0, 5, - 0, 4, 0, 5, 0, 5, 0, 5, 0, 5, - 0, 3, 1, 1, 3, 2, 1, 3, 2, 1, - 1, 0, 0, 6, 1, 2, 0, 2, 0, 2, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 2, 3, 1, - 1, 1, 1, 3, 2, 4, 3, 1, 1, 1, - 4, 3, 3, 3, 3, 3, 3, 2, 2, 3, + 2, 2, 2, 2, 0, 4, 0, 4, 0, 4, + 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, + 0, 5, 0, 0, 7, 0, 5, 1, 2, 2, + 2, 2, 2, 2, 2, 2, 0, 3, 1, 1, + 1, 3, 2, 1, 0, 10, 0, 11, 2, 2, + 4, 4, 4, 4, 4, 4, 4, 3, 1, 0, + 4, 3, 4, 1, 2, 0, 3, 0, 5, 0, + 4, 0, 5, 0, 5, 0, 5, 0, 5, 0, + 3, 1, 1, 3, 2, 1, 3, 2, 1, 1, + 4, 1, 2, 0, 2, 0, 2, 1, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 2, 3, 1, 1, 1, 1, + 3, 2, 4, 3, 1, 1, 1, 4, 3, 3, + 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, - 2, 2, 3, 1, 1, 3, 2, 1, 1, 1, - 1, 3, 3, 1, 0, 2, 0, 1, 5, 3, - 3, 1, 1, 1, 3, 3, 1, 1, 1, 5, - 1, 2, 0, 0, 4, 4, 4, 0, 2, 1, - 1, 0, 1, 2, 3, 3, 1, 4, 4, 1, - 1, 1, 1, 2, 1, 4, 4, 1, 1, 4, - 0, 1, 1, 1, 4, 4, 1, 1, 3, 1, - 2, 3, 1, 1, 4, 0, 0, 2, 5, 3, - 3, 1, 6, 4, 4, 2, 2, 2, 1, 2, - 1, 4, 3, 3, 6, 3, 1, 1, 1, 4, - 4, 4, 2, 2, 4, 2, 2, 1, 3, 1, - 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 4, 5, 2, 2, 3, + 1, 1, 3, 2, 1, 1, 1, 1, 3, 3, + 1, 0, 2, 0, 1, 5, 3, 3, 1, 1, + 1, 3, 3, 1, 1, 1, 5, 1, 2, 0, + 0, 4, 4, 4, 0, 2, 1, 1, 0, 1, + 2, 3, 3, 1, 4, 4, 1, 1, 1, 1, + 2, 1, 4, 4, 1, 1, 4, 0, 1, 1, + 1, 4, 4, 1, 1, 3, 1, 2, 3, 1, + 1, 4, 0, 0, 2, 5, 3, 3, 1, 6, + 4, 4, 2, 2, 2, 1, 2, 1, 4, 3, + 3, 6, 3, 1, 1, 1, 4, 4, 4, 2, + 2, 4, 2, 2, 1, 3, 1, 1, 3, 3, + 3, 3, } var yyChk = [...]int{ - -1000, -53, -38, -1, -23, -54, -55, 51, 79, 44, - -56, -24, 10, -100, -101, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -78, 46, 98, 19, 14, - -12, 48, 25, 27, 121, 40, 43, 36, -104, -107, - -112, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -1000, -63, -42, -1, -23, -64, -65, 51, 79, 44, + -66, -24, 10, -110, -111, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -88, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -114, -117, + -122, 97, -14, -13, 37, 52, 99, 53, 100, 54, -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, - -57, -159, 123, -35, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -27, -174, -175, 118, 96, -18, 91, + -67, -40, 123, -35, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -27, -179, -180, 118, 96, -18, 91, 49, 50, 4, 5, 84, 85, 86, 11, -33, -30, -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, - -28, -39, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -51, -207, -10, -185, -7, 134, - 12, 123, -39, 119, 82, 10, -40, 37, 38, -2, - -39, 82, 121, 135, 122, 10, -43, -57, 123, -66, - -69, 123, -57, 121, -12, 97, -104, 98, 79, 121, - -12, 121, -13, -17, -12, 121, -44, -25, 12, 134, - -45, -104, 12, -79, -12, 121, 149, 150, 87, 89, + -28, -43, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -55, -205, -10, -38, -7, 134, + 12, 123, -43, 119, 82, 10, -44, 37, 38, -2, + -43, 82, 121, 135, 122, 10, -47, -67, 123, -76, + -79, 123, -67, 121, -12, 97, -114, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -48, -25, 12, 134, + -49, -114, 12, -89, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -83, 119, -12, 10, -102, + 160, 90, 127, 123, 123, -93, 119, -12, 10, -112, 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -12, 104, 105, -16, -17, -39, 79, 82, - -9, -10, 98, -16, -12, -12, -12, -12, -159, -12, - -78, -12, -12, -12, -12, -12, -12, -12, -172, 123, - -57, -173, 125, 125, -176, 17, -46, -31, 12, 76, - 77, -12, 57, -160, -9, -190, -39, 79, 82, -19, - -8, -51, -10, 123, 123, -12, -12, 123, -12, -12, - 125, -46, 17, 17, 75, -46, 125, 123, -49, -48, - -12, 128, 125, 125, 82, -181, -39, 78, 125, 119, - -8, 134, 78, -189, 119, 124, 121, 119, -38, -39, - 121, 135, -41, -3, -39, 82, -42, -4, -39, 82, - 29, -39, 10, 136, -22, 120, -23, -54, -55, 51, - -58, 122, -57, -23, -71, -150, -12, -76, 121, -102, + 147, 123, -12, 104, 105, -16, -17, -43, 79, 82, + -9, -10, 98, -16, -12, -12, -12, -12, -40, -12, + -88, -12, -12, -12, -12, -12, -12, -12, -177, 123, + -67, -178, 125, 125, -181, 17, -50, -31, 12, 76, + 77, -12, 57, -41, -9, -39, -43, 79, 82, -19, + -8, -55, -10, 123, 123, -12, -12, 123, -12, -12, + 125, -50, 17, 17, 75, -50, 125, 123, -53, -52, + -12, 128, 125, 125, 82, -186, -43, 78, 125, 119, + -8, 134, 78, -193, 119, 124, 121, 119, -42, -43, + 121, 135, -45, -3, -43, 82, -46, -4, -43, 82, + 29, -43, 10, 136, -22, 120, -23, -64, -65, 51, + -68, 122, -67, -23, -81, -159, -12, -86, 121, -112, 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, - -102, 136, 121, 135, -164, -165, -166, -167, -12, -12, + -112, 136, 121, 135, -169, -170, -171, -172, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -160, - -169, 122, -80, -99, -17, -17, -13, 123, -43, 121, - 121, 10, -177, -108, 55, -113, 58, -12, 128, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -41, + -174, 122, -90, -109, -17, -17, -13, 123, -47, 121, + 121, 10, -182, -118, 55, -123, 58, -12, 128, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -50, -36, -17, 59, 82, -39, 78, 78, 124, + -12, -54, -36, -17, 59, 82, -43, 78, 78, 124, 124, 124, 124, -12, -11, -12, -11, 118, -31, -31, - 17, 125, 57, -12, 11, -17, -192, -208, -185, -37, - -8, -51, 10, 119, -161, 78, 82, -39, 57, -8, - 78, -47, -34, -17, -13, -17, -13, -12, -11, 117, - 75, 75, -11, -49, 126, -200, 135, 58, -15, -17, - -11, -11, 10, -125, 123, -183, -37, -185, 10, 52, - -11, -12, -37, -185, 10, -125, -12, 121, -38, 120, - -182, -2, 121, 135, 29, -39, 121, 135, 29, -39, - 10, 29, 136, -26, -196, -5, -29, -39, 79, 82, - 60, 125, -6, 62, -198, 18, 74, -9, 131, 132, - 130, 129, 123, 123, -23, -62, -67, 21, 121, 135, - -77, 119, 122, -25, -12, 12, -179, -26, -12, -12, - -12, -12, -12, -12, -171, 124, 135, 29, 29, -84, - 10, 120, -105, 123, -109, -89, -39, 79, 82, -114, - 55, -13, -17, -17, 91, 124, 135, 123, -39, -168, - 126, 126, -32, 10, 13, 12, 10, 120, 125, 120, - -201, -205, -204, -206, 125, 119, -8, -12, -162, -125, - -185, -39, -191, -185, 124, 135, 124, 124, 124, 126, - 126, 124, -12, 128, -12, 128, 126, 126, 124, -126, - -78, -127, -13, -17, 128, 83, -125, -184, -186, 126, - 120, -187, -188, 120, 120, -125, -3, 10, 29, -4, - 10, 29, 10, -26, 125, 130, 129, 164, 167, 165, - 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, - 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -39, 123, -197, -199, -196, 17, 78, -196, - -196, -196, -196, -196, 124, -59, -43, -68, -23, 122, - -70, -72, -151, -116, 121, -116, 121, 120, 136, 123, - 122, -12, 121, -99, -52, -17, 128, 59, -52, 124, - 135, 136, -86, 41, 123, -106, -122, -123, -124, 60, - 61, -89, -110, 56, 82, -39, 119, -115, -89, -160, - 136, -36, -50, -157, -158, 126, -12, -202, 125, 125, - -125, -11, -12, 120, -192, -34, 58, -15, -15, 124, - 135, 124, -15, -12, -125, -125, -125, -125, 10, 10, - -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, -196, -196, -196, 122, -196, -39, -197, - 126, -200, 135, 58, 10, 52, 124, 121, -60, -63, - -43, -57, -71, -12, 120, 32, 33, -116, 31, -116, - -26, -106, -170, -81, 58, -17, 123, -81, -85, -23, - 122, 10, -26, -87, 42, 123, -106, 124, 135, -102, - 119, -115, -39, -111, 135, -163, -12, 124, -155, -154, - -152, 125, -153, 57, 126, -153, -11, -11, 126, 120, - -193, -12, 128, -127, 126, -196, 122, 124, -196, -196, - -61, 93, 94, -64, 22, 121, 121, -12, -117, 122, - 121, 120, 121, 31, 124, -12, 124, -52, -50, 124, - -43, 136, -94, -88, 124, -178, 44, -123, -103, 83, - -111, 120, -128, -129, -132, -133, -134, -149, 47, 38, - 44, -148, 103, 102, 101, 98, 99, 100, -89, -162, - 125, -156, -153, -11, -192, 120, 126, 126, -194, -15, - -196, 58, -57, -23, -65, 93, 94, 121, -73, -117, - -119, 121, -178, -82, -23, 122, 124, -82, 28, -26, - 119, -89, 119, 119, 123, 12, 120, -130, 121, 135, - -104, -148, 10, -137, -89, -11, -152, 126, -203, -195, - 57, -196, -120, 95, -57, 122, -71, -118, -43, 119, - -43, 121, -43, -90, -43, -43, -180, 12, 128, 136, - -131, 12, 10, -102, 136, -138, 135, 121, 119, 126, - -201, -192, -23, 121, 122, -43, 124, -43, -43, 26, - 120, 12, 120, 120, 124, 135, 12, -26, 121, 135, - 136, 136, 10, -26, -89, -139, -140, -141, -142, -143, - -144, -146, -89, 10, -121, -74, 120, 121, 124, 12, - 128, 12, -26, -26, -135, 120, -141, 121, 121, 45, - 29, 78, -43, -75, -23, 122, -91, 12, 136, 123, - -145, -89, -147, -148, 10, -43, 119, -26, -106, 135, - 10, 24, -43, 124, -89, 121, 120, -136, 121, 119, - -92, -43, -93, -95, -96, 41, 120, -96, 123, -89, - -97, 12, 124, -98, 119, -43, 120, + 17, 125, 57, -12, 11, -17, -57, -58, -38, -37, + -8, -55, 10, 119, -61, -62, 123, 78, 82, -43, + 57, -8, 78, -51, -34, -17, -13, -17, -13, -12, + -11, 117, 75, 75, -11, -53, 126, -198, 135, 58, + -15, -17, -11, -11, 10, -62, -188, -37, -38, 10, + 52, -11, -12, -37, -38, 10, -62, -12, 121, -42, + 120, -187, -2, 121, 135, 29, -43, 121, 135, 29, + -43, 10, 29, 136, -26, -194, -5, -29, -43, 79, + 82, 60, 125, -6, 62, -196, 18, 74, -9, 131, + 132, 130, 129, 123, 123, -23, -72, -77, 21, 121, + 135, -87, 119, 122, -25, -12, 12, -184, -26, -12, + -12, -12, -12, -12, -12, -176, 124, 135, 29, 29, + -94, 10, 120, -115, 123, -119, -99, -43, 79, 82, + -124, 55, -13, -17, -17, 91, 124, 135, 123, -43, + -173, 126, 126, -32, 10, 13, 12, 10, 120, 125, + 120, -199, -203, -202, -204, 125, 119, -8, -12, 124, + -135, -88, -136, -13, -17, 128, 83, -38, -43, -57, + -38, 124, 135, 124, 124, 124, 126, 126, 124, -12, + 128, -12, 128, 126, 126, -62, -189, -190, 126, 120, + -191, -192, 120, 120, -62, -3, 10, 29, -4, 10, + 29, 10, -26, 125, 130, 129, 164, 167, 165, 166, + 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, + 149, 155, 156, 153, 154, 157, 159, 158, 160, 127, + 82, -43, 123, -195, -197, -194, 17, 78, -194, -194, + -194, -194, -194, 124, -69, -47, -78, -23, 122, -80, + -82, -160, -126, 121, -126, 121, 120, 136, 123, 122, + -12, 121, -109, -56, -17, 128, 59, -56, 124, 135, + 136, -96, 41, 123, -116, -132, -133, -134, 60, 61, + -99, -120, 56, 82, -43, 119, -125, -99, -41, 136, + -36, -54, -166, -167, 126, -12, -200, 125, 125, -62, + -11, -12, 120, 124, 135, 124, -15, -12, -59, -34, + 58, -15, -15, -62, -62, -62, -62, 10, 10, -194, + -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, + -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, + -194, -194, -194, -194, -194, 122, -194, -43, -195, 126, + -198, 135, 58, 10, 52, 124, 121, -70, -73, -47, + -67, -81, -12, 120, 32, 33, -126, 31, -126, -26, + -116, -175, -91, 58, -17, 123, -91, -95, -23, 122, + 10, -26, -97, 42, 123, -116, 124, 135, -112, 119, + -125, -43, -121, 135, -168, -12, 124, -164, -163, -161, + 125, -162, 57, 126, -162, -11, -11, 126, 120, -136, + -60, 57, -12, 128, 126, -194, 122, 124, -194, -194, + -71, 93, 94, -74, 22, 121, 121, -12, -127, 122, + 121, 120, 121, 31, 124, -12, 124, -56, -54, 124, + -47, 136, -104, -98, 124, -183, 44, -133, -113, 83, + -121, 120, -137, -138, -141, -142, -143, -158, 47, 38, + 44, -157, 103, 102, 101, 98, 99, 100, -99, -61, + 125, -165, -162, -11, -57, 120, 126, 126, -57, -15, + -194, 58, -67, -23, -75, 93, 94, 121, -83, -127, + -129, 121, -183, -92, -23, 122, 124, -92, 28, -26, + 119, -99, 119, 119, 123, 12, 120, -139, 121, 135, + -114, -157, 10, -146, -99, -11, -161, 126, -201, -194, + -130, 95, -67, 122, -81, -128, -47, 119, -47, 121, + -47, -100, -47, -47, -185, 12, 128, 136, -140, 12, + 10, -112, 136, -147, 135, 121, 119, 126, -199, -23, + 121, 122, -47, 124, -47, -47, 26, 120, 12, 120, + 120, 124, 135, 12, -26, 121, 135, 136, 136, 10, + -26, -99, -148, -149, -150, -151, -152, -153, -155, -99, + 10, -131, -84, 120, 121, 124, 12, 128, 12, -26, + -26, -144, 120, -150, 121, 121, 45, 29, 78, -47, + -85, -23, 122, -101, 12, 136, 123, -154, -99, -156, + -157, 10, -47, 119, -26, -116, 135, 10, 24, -47, + 124, -99, 121, 120, -145, 121, 119, -102, -47, -103, + -105, -106, 41, 120, -106, 123, -99, -107, 12, 124, + -108, 119, -47, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 105, 106, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 382, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 75, 0, 0, 0, 80, 82, 0, 0, 0, 107, 0, - 0, 344, 482, 483, 359, 117, 0, 119, 0, 123, + 0, 343, 479, 480, 358, 117, 0, 119, 0, 123, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 319, 320, 0, 328, 0, 0, 0, 0, 0, 0, - 0, 398, 337, 339, 340, 341, 401, 0, 490, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 468, 469, - 470, 0, 0, 473, 408, 0, 536, 509, 510, 511, - 463, -2, 0, 0, 406, 407, 409, 410, 411, 412, - 413, 414, 415, -2, 0, 514, 0, 380, 517, 529, - 518, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 318, 319, 0, 327, 0, 0, 0, 0, 0, 0, + 0, 395, 336, 338, 339, 340, 398, 0, 487, 0, + 0, 0, 0, 0, 0, 0, 0, 464, 465, 466, + 467, 0, 0, 470, 405, 0, 533, 506, 507, 508, + 460, -2, 0, 0, 403, 404, 406, 407, 408, 409, + 410, 411, 412, -2, 0, 511, 0, 379, 514, 526, + 515, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 245, 62, 64, 0, 344, 107, 382, 0, 66, - 0, 68, 483, -2, 0, 71, 0, 186, 187, 0, - 0, 107, 192, 0, 244, 76, 285, 287, 289, 291, + 0, 245, 62, 64, 0, 343, 107, 381, 0, 66, + 0, 68, 480, -2, 0, 71, 0, 186, 187, 0, + 0, 107, 192, 0, 244, 76, 284, 286, 288, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 323, 0, 0, 0, 38, 0, 0, 345, + 0, 0, 322, 0, 0, 0, 38, 0, 0, 344, 108, 121, 115, -2, -2, 0, 118, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 535, 268, 281, 283, 282, 488, -2, 0, 0, - 0, 0, 382, 284, 306, 307, 308, 309, 320, 0, - 0, 329, 330, 331, 332, 333, 334, 335, 336, 0, - 400, 0, 520, 520, 0, 402, 403, 548, 550, 0, - 0, 343, 0, 261, 389, 390, 383, 0, 0, 394, - -2, 0, 0, 0, 0, 562, 563, 0, 565, 566, - 520, 0, 0, 0, 417, 0, 520, 536, 0, 476, - 541, 0, 520, 520, 0, 0, -2, 0, 520, 0, - -2, 530, 0, 0, 0, 0, 10, 3, 0, -2, + 0, 532, 267, 280, 282, 281, 485, -2, 0, 0, + 0, 0, 381, 283, 305, 306, 307, 308, 319, 0, + 0, 328, 329, 330, 331, 332, 333, 334, 335, 0, + 397, 0, 517, 517, 0, 399, 400, 545, 547, 0, + 0, 342, 0, 401, 388, 389, 382, 0, 0, 391, + -2, 0, 0, 0, 0, 559, 560, 0, 562, 563, + 517, 0, 0, 0, 414, 0, 517, 533, 0, 473, + 538, 0, 517, 517, 0, 0, -2, 0, 517, 0, + -2, 527, 0, 0, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, 0, - 0, 49, 53, 0, 0, 246, 249, 0, 65, 345, - 67, 69, 70, 72, 0, 188, 0, 486, 73, 0, - 347, 0, 74, 0, 0, 0, 0, 0, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, -2, -2, -2, -2, -2, -2, -2, -2, 318, - 0, 326, 0, 102, 104, -2, 483, 0, 0, 84, - 85, 111, 0, 113, 0, 124, 0, 264, 0, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 0, 532, 533, 0, 0, -2, 0, 0, 321, - 484, 485, 399, 338, 0, 521, 0, 342, 549, 546, - 547, 0, 0, 0, 467, 0, -2, 522, 523, 526, - 502, 0, 527, 0, 404, 0, 0, 385, 391, 513, - 0, 0, 567, -2, -2, -2, 483, 0, 0, 471, - 416, 472, 0, 0, 358, 537, 477, 0, 545, 487, - 0, 0, 5, 367, 0, 0, 372, -2, -2, 574, - 0, 0, 376, -2, -2, 381, 0, 9, 0, 12, - 0, 17, 14, 0, 0, 27, 15, 0, 0, 33, - 20, 0, 0, 36, 419, 420, 421, -2, 0, 0, - 0, 474, 427, 428, 429, 408, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 38, 0, 56, 58, 247, - 63, 147, 147, 185, 0, 190, 0, 193, 243, 286, - 288, 290, 292, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 0, -2, 126, 122, 386, 0, 0, 0, - 0, -2, -2, 265, 0, 0, 535, 535, -2, -2, - 354, 353, 0, 556, 557, 558, 552, 553, 0, 555, - 492, 499, 500, 0, 520, 0, 503, 0, 262, 405, - 504, 384, 0, 505, 559, 0, 560, 561, 564, 356, - 355, 357, 539, 0, 540, 0, 507, 508, 176, 0, - 0, 179, -2, -2, 0, 0, 371, 0, 0, 515, - 516, 0, 0, 519, 11, 369, 23, 26, 0, 29, - 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, + 0, 49, 53, 0, 0, 246, 249, 0, 65, 344, + 67, 69, 70, 72, 0, 188, 0, 483, 73, 0, + 346, 0, 74, 0, 0, 0, 0, 0, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, -2, -2, -2, -2, -2, -2, -2, -2, 317, + 0, 325, 0, 102, 104, -2, 480, 0, 0, 84, + 85, 111, 0, 113, 0, 124, 0, 263, 0, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 0, 529, 530, 0, 0, -2, 0, 0, 320, + 481, 482, 396, 337, 0, 518, 0, 341, 546, 543, + 544, 0, 0, 0, 464, 0, -2, 519, 520, 523, + 499, 0, 524, 0, 261, 402, 0, 0, 0, 384, + 0, 510, 0, 0, 564, -2, -2, -2, 480, 0, + 0, 468, 413, 469, 0, 0, 357, 534, 474, 0, + 542, 484, 0, 0, 5, 366, 0, 371, -2, -2, + 571, 0, 0, 375, -2, -2, 380, 0, 9, 0, + 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, + 33, 20, 0, 0, 36, 416, 417, 418, -2, 0, + 0, 0, 471, 424, 425, 426, 405, 0, 0, 0, + 0, 0, 0, 0, 0, 47, 38, 0, 56, 58, + 247, 63, 147, 147, 185, 0, 190, 0, 193, 243, + 285, 287, 289, 291, 0, 0, 0, 0, 0, 0, + 0, 0, 86, 0, -2, 126, 122, 385, 0, 0, + 0, 0, -2, -2, 264, 0, 0, 532, 532, -2, + -2, 353, 352, 0, 553, 554, 555, 549, 550, 0, + 552, 489, 496, 497, 0, 517, 0, 500, 0, 176, + 0, 0, 179, -2, -2, 0, 0, 501, 383, 393, + 502, 556, 0, 557, 558, 561, 355, 354, 356, 536, + 0, 537, 0, 504, 505, 370, 0, 0, 512, 513, + 0, 0, 516, 11, 368, 23, 26, 0, 29, 32, + 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2, 474, 0, 476, 481, 0, 0, 437, - 438, 460, 461, 0, 0, 156, 50, 54, 154, 38, - 0, 245, 0, 0, 147, 0, 147, 189, 0, -2, - 324, 327, 77, 103, 130, 132, 0, 0, 130, 0, - 0, 0, 92, 0, -2, 0, 166, 168, 107, 173, - 174, 175, 0, 0, 0, 388, 195, 125, 128, 266, - 0, 531, 0, 322, 0, 551, 0, 489, 520, 520, - 498, 0, 0, 528, 392, 568, 0, 543, 544, 177, - 0, 178, 183, 184, 373, 375, 377, 379, 28, 34, - 0, 431, 432, 433, 434, 435, 436, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, -2, -2, - -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, - 426, 475, 477, 0, 418, 573, 462, 42, 162, 159, - 0, 0, 0, 248, 143, 0, 0, 0, 0, 0, - 191, 0, 0, 0, 0, 133, 535, 0, 81, 139, - 38, 0, 141, 83, 93, 87, 0, 360, 172, 109, - 195, 127, 387, 227, 0, 404, 263, 534, 260, -2, - 257, 520, 251, 0, 0, 491, 0, 0, 524, 525, - 396, 538, 0, 180, 430, 458, 0, 425, 479, 480, + 0, -2, 471, 0, 473, 478, 0, 0, 434, 435, + 457, 458, 0, 0, 156, 50, 54, 154, 38, 0, + 245, 0, 0, 147, 0, 147, 189, 0, -2, 323, + 326, 77, 103, 130, 132, 0, 0, 130, 0, 0, + 0, 92, 0, -2, 0, 166, 168, 107, 173, 174, + 175, 0, 0, 0, 387, 195, 125, 128, 265, 0, + 528, 0, 321, 0, 548, 0, 486, 517, 517, 495, + 0, 0, 525, 177, 0, 178, 183, 184, 390, 565, + 0, 540, 541, 372, 374, 376, 378, 28, 34, 0, + 428, 429, 430, 431, 432, 433, 436, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 446, -2, -2, -2, + -2, -2, -2, -2, -2, 0, 0, -2, 0, 423, + 472, 474, 0, 415, 570, 459, 42, 162, 159, 0, + 0, 0, 248, 143, 0, 0, 0, 0, 0, 191, + 0, 0, 0, 0, 133, 532, 0, 81, 139, 38, + 0, 141, 83, 93, 87, 0, 359, 172, 109, 195, + 127, 386, 227, 0, 401, 262, 531, 260, -2, 257, + 517, 251, 0, 0, 488, 0, 0, 521, 522, 180, + 392, 0, 535, 0, 427, 455, 0, 422, 476, 477, 48, 0, 0, 164, 0, 57, 59, 0, 150, 152, - 153, 144, 145, 0, 360, 325, 0, 131, 0, 0, + 153, 144, 145, 0, 359, 324, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 110, 227, 116, 194, 196, 0, 199, 0, -2, 226, 0, - 0, 229, 231, 232, 233, 234, 235, 236, 129, 267, - 520, 0, 250, 0, 493, 554, 496, 495, 393, 542, - 459, 0, 157, 163, 0, 0, 0, 155, 245, 148, + 0, 229, 231, 232, 233, 234, 235, 236, 129, 266, + 517, 0, 250, 0, 490, 551, 493, 492, 394, 539, + 456, 0, 157, 163, 0, 0, 0, 155, 245, 148, 38, 146, 0, 78, 137, 38, 134, 79, 0, 142, 38, 88, 38, 38, 0, 170, 114, 0, 198, 0, - 107, 230, 0, 0, 203, 0, 255, 253, -2, 395, - 0, 478, 0, 0, 0, 38, 0, 38, 151, 38, - 0, 140, 0, 0, 0, 0, 0, 364, 0, 0, - 0, 239, 0, 0, 0, 202, 0, 205, 207, 252, - 494, 397, 158, 51, 160, 165, 60, 149, 0, 0, - 94, 0, 112, 346, 361, 0, 365, 171, 197, 0, - 0, 0, 200, 242, 204, 0, 208, 209, 0, 0, - 217, 0, 0, -2, 38, 0, 348, 138, 89, 362, - 0, 237, 240, 241, 0, 206, 210, 211, 212, 0, - 221, 0, 161, 61, 135, 38, 0, 363, 0, -2, - 213, 214, 0, -2, 218, 0, 38, 238, 0, 0, - 219, 0, 0, 0, 215, 136, 90, 201, 223, 38, - 96, 0, 91, 95, 97, 0, 224, 98, 0, 99, - 0, 0, 100, 0, 38, 0, 101, + 107, 230, 0, 0, 203, 0, 255, 253, -2, 475, + 0, 0, 0, 38, 0, 38, 151, 38, 0, 140, + 0, 0, 0, 0, 0, 363, 0, 0, 0, 239, + 0, 0, 0, 202, 0, 205, 207, 252, 491, 158, + 51, 160, 165, 60, 149, 0, 0, 94, 0, 112, + 345, 360, 0, 364, 171, 197, 0, 0, 0, 200, + 242, 204, 0, 208, 209, 0, 0, 217, 0, 0, + -2, 38, 0, 347, 138, 89, 361, 0, 237, 240, + 241, 0, 206, 210, 211, 212, 0, 221, 0, 161, + 61, 135, 38, 0, 362, 0, -2, 213, 214, 0, + -2, 218, 0, 38, 238, 0, 0, 219, 0, 0, + 0, 215, 136, 90, 201, 223, 38, 96, 0, 91, + 95, 97, 0, 224, 98, 0, 99, 0, 0, 100, + 0, 38, 0, 101, } var yyTok1 = [...]int{ @@ -2277,25 +2289,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:215 + //line php5/php5.y:218 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:221 + //line php5/php5.y:224 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:222 + //line php5/php5.y:225 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:227 + //line php5/php5.y:230 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2304,7 +2316,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:234 + //line php5/php5.y:237 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2313,31 +2325,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:243 + //line php5/php5.y:246 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:244 + //line php5/php5.y:247 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:245 + //line php5/php5.y:248 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:246 + //line php5/php5.y:249 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:248 + //line php5/php5.y:251 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2349,7 +2361,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:258 + //line php5/php5.y:261 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2361,7 +2373,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:268 + //line php5/php5.y:271 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2369,7 +2381,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:274 + //line php5/php5.y:277 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2377,7 +2389,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:280 + //line php5/php5.y:283 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2389,7 +2401,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:290 + //line php5/php5.y:293 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2401,25 +2413,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:299 + //line php5/php5.y:302 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:303 + //line php5/php5.y:306 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:304 + //line php5/php5.y:307 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:309 + //line php5/php5.y:312 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2431,7 +2443,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:319 + //line php5/php5.y:322 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2446,7 +2458,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:332 + //line php5/php5.y:335 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2458,7 +2470,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:342 + //line php5/php5.y:345 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2473,19 +2485,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:358 + //line php5/php5.y:361 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:362 + //line php5/php5.y:365 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:369 + //line php5/php5.y:372 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2497,7 +2509,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:379 + //line php5/php5.y:382 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2512,7 +2524,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:392 + //line php5/php5.y:395 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2524,7 +2536,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:402 + //line php5/php5.y:405 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2539,19 +2551,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:418 + //line php5/php5.y:421 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:422 + //line php5/php5.y:425 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:429 + //line php5/php5.y:432 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2563,7 +2575,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:439 + //line php5/php5.y:442 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2578,7 +2590,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:452 + //line php5/php5.y:455 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2590,7 +2602,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:462 + //line php5/php5.y:465 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2605,480 +2617,480 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:477 + //line php5/php5.y:480 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:478 + //line php5/php5.y:481 { } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:482 + //line php5/php5.y:485 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:483 + //line php5/php5.y:486 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:488 + //line php5/php5.y:491 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:489 + //line php5/php5.y:492 { yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:493 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:494 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:496 + //line php5/php5.y:499 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:497 + //line php5/php5.y:500 { } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:504 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:505 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:505 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:505 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:506 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:506 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:506 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:507 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:507 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:507 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:508 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:508 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:508 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:512 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:514 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:513 + //line php5/php5.y:516 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:514 + //line php5/php5.y:517 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:518 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:518 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:519 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:520 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:521 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:522 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:523 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:524 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:525 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:526 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:527 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:528 { } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:526 + //line php5/php5.y:529 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:530 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:531 { yyVAL.node = yyDollar[1].node } case 77: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:532 { } case 78: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:533 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:534 { } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:535 { } case 81: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:535 { } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:536 { } case 83: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:534 + //line php5/php5.y:537 { } case 84: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:538 { } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:539 { } case 86: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:543 { } case 87: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:541 + //line php5/php5.y:544 { } case 88: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:542 + //line php5/php5.y:545 { } case 89: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:543 + //line php5/php5.y:546 { } case 90: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:547 { } case 91: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:548 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:548 + //line php5/php5.y:551 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:552 { } case 94: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:552 { } case 95: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:553 + //line php5/php5.y:556 { } case 96: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:554 + //line php5/php5.y:557 { } case 97: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:558 + //line php5/php5.y:561 { } case 98: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:562 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:563 + //line php5/php5.y:566 { } case 100: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:563 + //line php5/php5.y:566 { } case 101: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:563 + //line php5/php5.y:566 { } case 104: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:572 + //line php5/php5.y:575 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:576 + //line php5/php5.y:579 { } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:580 + //line php5/php5.y:583 { } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:584 + //line php5/php5.y:587 { } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:585 + //line php5/php5.y:588 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:589 + //line php5/php5.y:592 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:590 + //line php5/php5.y:593 { } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:594 + //line php5/php5.y:597 { } case 112: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:596 + //line php5/php5.y:599 { } case 113: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:601 + //line php5/php5.y:604 { } case 114: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:605 + //line php5/php5.y:608 { } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:607 + //line php5/php5.y:610 { } case 116: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:611 + //line php5/php5.y:614 { } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:616 + //line php5/php5.y:619 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:617 + //line php5/php5.y:620 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:618 + //line php5/php5.y:621 { } case 120: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:619 + //line php5/php5.y:622 { } case 121: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:623 + //line php5/php5.y:626 { } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:624 + //line php5/php5.y:627 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:628 + //line php5/php5.y:631 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:642 + //line php5/php5.y:645 { } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:643 + //line php5/php5.y:646 { } case 130: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:647 + //line php5/php5.y:650 { } case 131: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:648 + //line php5/php5.y:651 { } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:653 + //line php5/php5.y:656 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 133: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:655 + //line php5/php5.y:658 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 134: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:657 + //line php5/php5.y:660 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3087,159 +3099,160 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:684 + //line php5/php5.y:687 { } case 142: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:685 + //line php5/php5.y:688 { } case 143: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:690 + //line php5/php5.y:693 { } case 144: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:691 + //line php5/php5.y:694 { } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:692 + //line php5/php5.y:695 { } case 146: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:693 + //line php5/php5.y:696 { } case 147: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:698 + //line php5/php5.y:701 { } case 148: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:699 + //line php5/php5.y:702 { } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:699 + //line php5/php5.y:702 { } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:700 + //line php5/php5.y:703 { } case 151: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:700 + //line php5/php5.y:703 { } case 157: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:719 + //line php5/php5.y:722 { } case 158: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:719 + //line php5/php5.y:722 { } case 160: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:728 { } case 161: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:728 { } case 170: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:754 + //line php5/php5.y:757 { } case 171: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:756 + //line php5/php5.y:759 { } case 172: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:761 + //line php5/php5.y:764 { } case 173: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:762 + //line php5/php5.y:765 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:763 + //line php5/php5.y:766 { } case 175: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:764 + //line php5/php5.y:767 { } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:769 + //line php5/php5.y:773 { + yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:770 + //line php5/php5.y:774 { } case 178: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:771 + //line php5/php5.y:775 { } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:781 + //line php5/php5.y:785 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:782 + //line php5/php5.y:786 { } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:783 + //line php5/php5.y:787 { } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:784 + //line php5/php5.y:788 { } case 185: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:788 + //line php5/php5.y:792 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 186: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:793 { yyVAL.list = []node.Node{yyDollar[1].node} } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:795 + //line php5/php5.y:799 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3251,7 +3264,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:805 + //line php5/php5.y:809 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3259,7 +3272,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:811 + //line php5/php5.y:815 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3267,7 +3280,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:821 + //line php5/php5.y:825 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3286,7 +3299,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:838 + //line php5/php5.y:842 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3305,7 +3318,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:855 + //line php5/php5.y:859 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3324,7 +3337,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:872 + //line php5/php5.y:876 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3343,282 +3356,286 @@ yydefault: } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:899 + //line php5/php5.y:903 { } case 200: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:902 + //line php5/php5.y:906 { } case 201: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:904 + //line php5/php5.y:908 { } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:912 + //line php5/php5.y:916 { } case 204: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:913 + //line php5/php5.y:917 { } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:937 + //line php5/php5.y:941 { } case 214: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:941 + //line php5/php5.y:945 { } case 215: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:942 + //line php5/php5.y:946 { } case 216: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:946 + //line php5/php5.y:950 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:947 + //line php5/php5.y:951 { } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:951 + //line php5/php5.y:955 { } case 219: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:959 { } case 220: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:956 + //line php5/php5.y:960 { } case 221: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:964 { } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:961 + //line php5/php5.y:965 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:965 + //line php5/php5.y:969 { } case 224: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:966 + //line php5/php5.y:970 { } case 225: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:970 + //line php5/php5.y:974 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:971 + //line php5/php5.y:975 { } case 227: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:979 { } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:980 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:984 { } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:985 { } case 231: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:989 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:986 + //line php5/php5.y:990 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:991 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:988 + //line php5/php5.y:992 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:993 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:994 { } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:998 { } case 238: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:999 { } case 239: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:996 + //line php5/php5.y:1000 { } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:997 + //line php5/php5.y:1001 { } case 241: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1005 { } case 242: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1006 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1010 { } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1007 + //line php5/php5.y:1011 { } case 245: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1012 + //line php5/php5.y:1016 { } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1017 { } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1021 { } case 248: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1021 { } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1018 + //line php5/php5.y:1022 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1026 { } case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1023 + //line php5/php5.y:1027 { } case 252: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1031 { } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1032 { } case 254: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1032 + //line php5/php5.y:1036 { } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1032 + //line php5/php5.y:1036 { } case 256: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1033 + //line php5/php5.y:1037 { } case 257: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1034 + //line php5/php5.y:1038 { } case 258: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1042 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1043 { } case 260: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1040 + //line php5/php5.y:1044 { } case 261: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1044 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1049 { + if yyDollar[3].nodesWithEndToken != nil { + yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) + } else { + yyVAL.node = expr.NewNew(yyDollar[2].node, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + } + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 262: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1044 - { - } - case 263: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1049 + //line php5/php5.y:1064 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3628,733 +3645,796 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 264: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1058 - { - } - case 265: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1059 - { - } - case 266: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1060 - { - } - case 267: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1060 - { - } - case 268: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1061 - { - } - case 269: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1062 - { - } - case 270: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1063 - { - } - case 271: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1064 - { - } - case 272: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1065 - { - } - case 273: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1066 - { - } - case 274: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1067 - { - } - case 275: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1068 - { - } - case 276: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1069 - { - } - case 277: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1070 - { - } - case 278: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1071 - { - } - case 279: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1072 - { - } - case 280: + case 263: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1073 { } - case 281: - yyDollar = yyS[yypt-2 : yypt+1] + case 264: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1074 { } - case 282: - yyDollar = yyS[yypt-2 : yypt+1] + case 265: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1075 { } - case 283: + case 266: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1075 + { + } + case 267: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1076 { } - case 284: - yyDollar = yyS[yypt-2 : yypt+1] + case 268: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1077 { } - case 285: - yyDollar = yyS[yypt-2 : yypt+1] + case 269: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1078 { } - case 286: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1078 - { - } - case 287: - yyDollar = yyS[yypt-2 : yypt+1] + case 270: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1079 { } - case 288: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1079 - { - } - case 289: - yyDollar = yyS[yypt-2 : yypt+1] + case 271: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1080 { } - case 290: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1080 - { - } - case 291: - yyDollar = yyS[yypt-2 : yypt+1] + case 272: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1081 { } - case 292: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1081 - { - } - case 293: + case 273: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1082 { } - case 294: + case 274: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1083 { } - case 295: + case 275: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1084 { } - case 296: + case 276: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1085 { } - case 297: + case 277: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1086 { } - case 298: + case 278: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1087 { } - case 299: + case 279: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1088 { } - case 300: - yyDollar = yyS[yypt-3 : yypt+1] + case 280: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1089 { } - case 301: - yyDollar = yyS[yypt-3 : yypt+1] + case 281: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1090 { } - case 302: - yyDollar = yyS[yypt-3 : yypt+1] + case 282: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1091 { } - case 303: - yyDollar = yyS[yypt-3 : yypt+1] + case 283: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1092 { } - case 304: - yyDollar = yyS[yypt-3 : yypt+1] + case 284: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1093 { } - case 305: - yyDollar = yyS[yypt-3 : yypt+1] + case 285: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1093 + { + } + case 286: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1094 { } - case 306: + case 287: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1094 + { + } + case 288: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1095 { } - case 307: + case 289: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1095 + { + } + case 290: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1096 { } - case 308: - yyDollar = yyS[yypt-2 : yypt+1] + case 291: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1096 + { + } + case 292: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1097 { } - case 309: - yyDollar = yyS[yypt-2 : yypt+1] + case 293: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1098 { } - case 310: + case 294: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1099 { } - case 311: + case 295: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1100 { } - case 312: + case 296: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1101 { } - case 313: + case 297: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1102 { } - case 314: + case 298: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1103 { } - case 315: + case 299: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1104 { } - case 316: + case 300: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1105 { } - case 317: + case 301: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1106 { } - case 318: + case 302: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1107 { } - case 319: - yyDollar = yyS[yypt-1 : yypt+1] + case 303: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1108 { } - case 320: - yyDollar = yyS[yypt-1 : yypt+1] + case 304: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1109 { } - case 321: - yyDollar = yyS[yypt-3 : yypt+1] + case 305: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1110 { } - case 322: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1110 - { - } - case 323: + case 306: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1111 { } - case 324: - yyDollar = yyS[yypt-5 : yypt+1] + case 307: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1112 { } - case 325: - yyDollar = yyS[yypt-7 : yypt+1] + case 308: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1113 { } - case 326: + case 309: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1114 { } - case 327: - yyDollar = yyS[yypt-5 : yypt+1] + case 310: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1115 { } - case 328: - yyDollar = yyS[yypt-1 : yypt+1] + case 311: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1116 { } + case 312: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1117 + { + } + case 313: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1118 + { + } + case 314: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1119 + { + } + case 315: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1120 + { + } + case 316: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1121 + { + } + case 317: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1122 + { + } + case 318: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1123 + { + } + case 319: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1125 + { + yyVAL.node = yyDollar[1].node + } + case 320: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1126 + { + } + case 321: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1126 + { + } + case 322: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1127 + { + } + case 323: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1128 + { + } + case 324: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1129 + { + } + case 325: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1130 + { + } + case 326: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1131 + { + } + case 327: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1132 + { + } + case 328: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1133 + { + } case 329: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1134 { } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1118 + //line php5/php5.y:1135 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1119 + //line php5/php5.y:1136 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1120 + //line php5/php5.y:1137 { } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1121 + //line php5/php5.y:1138 { } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1139 { } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1123 + //line php5/php5.y:1140 { } case 336: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1124 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1141 { } case 337: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1125 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1141 { } case 338: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1125 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1142 { + yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1126 + //line php5/php5.y:1143 { } case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1144 { } case 341: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1128 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1145 { } case 342: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1129 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1146 { } case 343: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1130 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1147 { } case 344: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1131 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1148 { } case 345: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1132 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1150 { } case 346: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1134 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1151 { } case 347: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1135 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1153 { } case 348: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1137 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1157 { } case 349: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1158 { } case 350: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1142 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1159 { } case 351: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1143 + //line php5/php5.y:1160 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1144 + //line php5/php5.y:1164 { } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1148 + //line php5/php5.y:1165 { } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1166 { } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1167 { } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1151 - { - } - case 357: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1155 - { - } - case 358: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1156 - { - } - case 359: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1160 - { - } - case 362: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1169 - { - } - case 363: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1170 - { - } - case 364: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1171 { } - case 365: - yyDollar = yyS[yypt-2 : yypt+1] + case 357: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1172 { } - case 366: + case 358: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1176 { } - case 367: + case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1177 - { - } - case 368: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1178 - { - } - case 369: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1179 - { - } - case 370: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1180 - { - } - case 371: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1181 - { - } - case 372: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1182 - { - } - case 373: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1183 - { - } - case 374: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1184 - { - } - case 375: - yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1185 { } - case 376: - yyDollar = yyS[yypt-3 : yypt+1] + case 362: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1186 { } - case 377: - yyDollar = yyS[yypt-5 : yypt+1] + case 363: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1187 { } - case 378: - yyDollar = yyS[yypt-3 : yypt+1] + case 364: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1188 { } - case 379: + case 365: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1192 + { + } + case 366: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1193 + { + } + case 367: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1194 + { + } + case 368: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1189 + //line php5/php5.y:1195 + { + } + case 369: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1196 + { + } + case 370: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1197 + { + } + case 371: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1198 + { + } + case 372: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1199 + { + } + case 373: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1200 + { + } + case 374: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1201 + { + } + case 375: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1202 + { + } + case 376: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1203 + { + } + case 377: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1204 + { + } + case 378: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1205 + { + } + case 379: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1206 { } case 380: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1190 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1207 { } case 381: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1191 - { - } - case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1196 + //line php5/php5.y:1212 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 383: + case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1202 + //line php5/php5.y:1218 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 384: + case 383: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1208 + //line php5/php5.y:1224 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 385: + case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1214 + //line php5/php5.y:1230 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 386: + case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1222 - { - } - case 387: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1223 - { - } - case 388: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1224 - { - } - case 389: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1230 - { - } - case 390: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1231 - { - } - case 391: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1236 - { - } - case 392: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1237 - { - } - case 393: - yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1238 { } - case 394: - yyDollar = yyS[yypt-1 : yypt+1] + case 386: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1239 { } - case 397: + case 387: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1250 + //line php5/php5.y:1240 + { + } + case 388: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1247 + { + yyVAL.node = yyDollar[1].node + } + case 389: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1249 + { + yyVAL.node = yyDollar[1].node + } + case 390: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1255 + { + yyVAL.node = yyDollar[1].node + + for _, f := range yyDollar[3].objectPropertyList { + switch f.fetchType { + case arrayFetchType: + yyVAL.node = expr.NewArrayDimFetch(yyVAL.node, f.node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + case propertyFetchType: + yyVAL.node = expr.NewPropertyFetch(yyVAL.node, f.node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + } + + for _, f := range yyDollar[4].objectPropertyList { + switch f.fetchType { + case arrayFetchType: + yyVAL.node = expr.NewArrayDimFetch(yyVAL.node, f.node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + case propertyFetchType: + yyVAL.node = expr.NewPropertyFetch(yyVAL.node, f.node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + } + } + case 391: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1285 + { + yyVAL.node = yyDollar[1].node + } + case 392: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1291 + { + yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) + } + case 393: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1293 + { + yyVAL.objectPropertyList = []objectProperty{} + } + case 394: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1299 + { + yyVAL.objectPropertyList = yyDollar[2].objectPropertyList + } + case 395: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1303 + { + } + case 396: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1304 + { + } + case 397: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1305 { } case 398: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1254 + //line php5/php5.y:1309 { } case 399: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1255 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1310 { } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1256 + //line php5/php5.y:1311 { } case 401: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1260 + //line php5/php5.y:1316 { + yyVAL.nodesWithEndToken = nil } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1261 + //line php5/php5.y:1318 { + yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1262 - { - } - case 404: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1266 - { - } - case 405: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1267 - { - } - case 406: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1272 + //line php5/php5.y:1323 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 407: + case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1278 + //line php5/php5.y:1329 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 405: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1335 + { + yyVAL.node = scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 406: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1341 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 407: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1347 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1283 + //line php5/php5.y:1353 { - yyVAL.node = nil + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1285 + //line php5/php5.y:1359 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4362,7 +4442,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1291 + //line php5/php5.y:1365 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4370,7 +4450,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1297 + //line php5/php5.y:1371 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4378,55 +4458,31 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1303 + //line php5/php5.y:1377 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 413: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1309 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 414: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1315 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 415: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1321 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1383 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 417: + case 414: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1388 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 418: + case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1397 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4436,249 +4492,249 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 416: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1409 + { + } + case 417: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1413 + { + } + case 418: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1414 + { + } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1353 + //line php5/php5.y:1415 { } case 420: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1357 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1416 { } case 421: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1358 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1417 { } case 422: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1359 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1418 { } case 423: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1360 + //line php5/php5.y:1419 { } case 424: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1361 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1420 { } case 425: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1362 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1421 { } case 426: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1363 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1422 { } case 427: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1364 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1426 { } case 428: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1365 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1427 { } case 429: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1366 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1428 { } case 430: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1370 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1429 { } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1371 + //line php5/php5.y:1430 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1372 + //line php5/php5.y:1431 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1432 { } case 434: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1374 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1433 { } case 435: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1375 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1434 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1376 + //line php5/php5.y:1435 { } case 437: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1377 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1436 { } case 438: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1378 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1437 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1379 + //line php5/php5.y:1438 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1380 + //line php5/php5.y:1439 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1381 + //line php5/php5.y:1440 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1382 + //line php5/php5.y:1441 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1442 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1384 + //line php5/php5.y:1443 { } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1385 + //line php5/php5.y:1444 { } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1386 + //line php5/php5.y:1445 { } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1387 + //line php5/php5.y:1446 { } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1388 + //line php5/php5.y:1447 { } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1448 { } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1390 + //line php5/php5.y:1449 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1391 + //line php5/php5.y:1450 { } case 452: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1392 + //line php5/php5.y:1451 { } case 453: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1393 + //line php5/php5.y:1452 { } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1394 + //line php5/php5.y:1453 { } case 455: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1395 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1454 { } case 456: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1396 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1455 { } case 457: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1397 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1456 { } case 458: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1398 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1457 { } case 459: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1399 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1458 { } case 460: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1400 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1462 { } case 461: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1401 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1463 { } case 462: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1402 + //line php5/php5.y:1464 { } case 463: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1406 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1465 { } case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1407 - { - } - case 465: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1408 - { - } - case 466: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1409 - { - } - case 467: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1414 + //line php5/php5.y:1470 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4688,246 +4744,247 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 468: + case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1424 + //line php5/php5.y:1480 { yyVAL.node = yyDollar[1].node } - case 469: + case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1426 + //line php5/php5.y:1482 { yyVAL.node = yyDollar[1].node } + case 467: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1484 + { + yyVAL.node = yyDollar[1].node + } + case 468: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1486 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 469: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1492 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1428 - { - yyVAL.node = yyDollar[1].node - } - case 471: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1430 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 472: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1436 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 473: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1498 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 474: + case 471: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1506 { } - case 475: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1451 - { - } - case 478: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1460 - { - } - case 479: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1461 - { - } - case 480: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1462 - { - } - case 481: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1463 - { - } - case 482: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1467 - { - yyVAL.node = yyDollar[1].node - } - case 483: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1468 - { - } - case 484: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1472 - { - } - case 485: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1473 - { - } - case 486: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1479 - { - yyVAL.node = yyDollar[1].node - } - case 487: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1487 - { - yyVAL.node = yyDollar[1].node - } - case 488: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1494 - { - yyVAL.node = yyDollar[1].node - } - case 489: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1501 - { - } - case 490: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1503 - { - yyVAL.node = yyDollar[1].node - } - case 491: + case 472: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1507 { } - case 492: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1508 + case 475: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1516 { } - case 493: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1513 - { - } - case 494: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1513 - { - } - case 495: - yyDollar = yyS[yypt-4 : yypt+1] + case 476: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1517 { } - case 496: - yyDollar = yyS[yypt-4 : yypt+1] + case 477: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1518 { } - case 497: + case 478: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1519 + { + } + case 479: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1523 + { + yyVAL.node = yyDollar[1].node + } + case 480: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1524 + { + yyVAL.node = yyDollar[1].node + } + case 481: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1528 + { + } + case 482: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1529 + { + } + case 483: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1535 + { + yyVAL.node = yyDollar[1].node + } + case 484: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1543 + { + yyVAL.node = yyDollar[1].node + } + case 485: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1550 + { + yyVAL.node = yyDollar[1].node + } + case 486: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1557 + { + } + case 487: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1559 + { + yyVAL.node = yyDollar[1].node + } + case 488: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1563 + { + } + case 489: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1522 + //line php5/php5.y:1564 + { + } + case 490: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1569 + { + } + case 491: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1569 + { + } + case 492: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1573 + { + } + case 493: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1574 + { + } + case 494: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1578 + { + } + case 495: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1579 + { + } + case 496: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1583 + { + } + case 497: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1584 { } case 498: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1523 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1585 { } case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1527 + //line php5/php5.y:1589 { } case 500: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1528 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1590 { } case 501: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1529 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1594 { } case 502: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1533 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1595 { } case 503: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1534 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1601 { + yyVAL.node = yyDollar[1].node } case 504: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1538 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1607 { } case 505: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1539 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1608 { } case 506: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1545 + //line php5/php5.y:1612 { yyVAL.node = yyDollar[1].node } case 507: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1551 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1613 { + yyVAL.node = yyDollar[1].node } case 508: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1552 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1614 { + yyVAL.node = yyDollar[1].node } case 509: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1619 { yyVAL.node = yyDollar[1].node } case 510: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1557 - { - yyVAL.node = yyDollar[1].node - } - case 511: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1558 - { - yyVAL.node = yyDollar[1].node - } - case 512: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1563 - { - yyVAL.node = yyDollar[1].node - } - case 513: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1565 + //line php5/php5.y:1621 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4937,36 +4994,36 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } + case 511: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1630 + { + } + case 512: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1635 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 513: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1641 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 514: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1574 - { - } - case 515: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1579 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 516: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1585 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 517: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1646 { yyVAL.node = yyDollar[1].node } - case 518: + case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1596 + //line php5/php5.y:1652 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4976,68 +5033,77 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 519: + case 516: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1606 + //line php5/php5.y:1662 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 520: + case 517: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1614 + //line php5/php5.y:1670 { yyVAL.node = nil } - case 521: + case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1615 + //line php5/php5.y:1671 { yyVAL.node = yyDollar[1].node } - case 522: + case 519: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1620 + //line php5/php5.y:1677 { + yyVAL.objectPropertyList = yyDollar[1].objectPropertyList + } + case 520: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1679 + { + op := objectProperty{yyDollar[1].node, propertyFetchType} + yyVAL.objectPropertyList = []objectProperty{op} + } + case 521: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1687 + { + op := objectProperty{yyDollar[3].node, arrayFetchType} + yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) + } + case 522: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1692 + { + op := objectProperty{yyDollar[3].node, arrayFetchType} + yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 523: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1621 + //line php5/php5.y:1697 { + op := objectProperty{yyDollar[1].node, propertyFetchType} + yyVAL.objectPropertyList = []objectProperty{op} } case 524: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1625 - { - } - case 525: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1626 - { - } - case 526: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1627 - { - } - case 527: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1632 + //line php5/php5.y:1705 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 528: + case 525: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1638 + //line php5/php5.y:1711 { yyVAL.node = yyDollar[2].node } - case 529: + case 526: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1643 + //line php5/php5.y:1716 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5045,9 +5111,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 530: + case 527: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1651 + //line php5/php5.y:1724 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5059,53 +5125,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 531: + case 528: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1666 + //line php5/php5.y:1739 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 532: + case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1668 + //line php5/php5.y:1741 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 533: + case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1674 + //line php5/php5.y:1747 { yyVAL.node = yyDollar[1].node } - case 534: + case 531: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1676 + //line php5/php5.y:1749 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 535: + case 532: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1682 + //line php5/php5.y:1755 { yyVAL.node = nil } - case 536: + case 533: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1688 + //line php5/php5.y:1761 { yyVAL.list = nil } - case 537: + case 534: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1763 { yyVAL.list = yyDollar[1].list } - case 538: + case 535: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1695 + //line php5/php5.y:1768 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5113,9 +5179,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 539: + case 536: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1703 + //line php5/php5.y:1776 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5123,9 +5189,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 540: + case 537: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1711 + //line php5/php5.y:1784 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5133,9 +5199,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 541: + case 538: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1719 + //line php5/php5.y:1792 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5143,9 +5209,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 542: + case 539: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1727 + //line php5/php5.y:1800 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5153,9 +5219,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 543: + case 540: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1735 + //line php5/php5.y:1808 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5163,9 +5229,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 544: + case 541: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1743 + //line php5/php5.y:1816 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5173,9 +5239,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 545: + case 542: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1751 + //line php5/php5.y:1824 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5183,39 +5249,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 546: + case 543: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1762 + //line php5/php5.y:1835 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 547: + case 544: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1764 + //line php5/php5.y:1837 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 548: + case 545: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1771 + //line php5/php5.y:1844 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 549: + case 546: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1773 + //line php5/php5.y:1846 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 550: + case 547: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1783 + //line php5/php5.y:1856 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5225,9 +5291,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 551: + case 548: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1793 + //line php5/php5.y:1866 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5240,9 +5306,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 552: + case 549: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1806 + //line php5/php5.y:1879 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5258,17 +5324,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 553: + case 550: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1822 + //line php5/php5.y:1895 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 554: + case 551: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1828 + //line php5/php5.y:1901 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5281,23 +5347,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 555: + case 552: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1842 + //line php5/php5.y:1915 { yyVAL.node = yyDollar[2].node } - case 556: + case 553: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1847 + //line php5/php5.y:1920 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 557: + case 554: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1853 + //line php5/php5.y:1926 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5309,9 +5375,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 558: + case 555: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1865 + //line php5/php5.y:1938 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5321,133 +5387,133 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 559: + case 556: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1878 + //line php5/php5.y:1951 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 560: + case 557: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1884 + //line php5/php5.y:1957 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 561: + case 558: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1890 + //line php5/php5.y:1963 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 562: + case 559: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1896 + //line php5/php5.y:1969 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 563: + case 560: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1902 + //line php5/php5.y:1975 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 564: + case 561: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1908 + //line php5/php5.y:1981 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 565: + case 562: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1914 + //line php5/php5.y:1987 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 566: + case 563: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1920 + //line php5/php5.y:1993 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 567: + case 564: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1929 + //line php5/php5.y:2002 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 568: + case 565: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1931 + //line php5/php5.y:2004 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 569: + case 566: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:2008 { yyVAL.node = yyDollar[1].node } - case 570: + case 567: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1936 + //line php5/php5.y:2009 { yyVAL.node = yyDollar[1].node } + case 568: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2014 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 569: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2024 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 570: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2037 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 571: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1941 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 572: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1951 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 573: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1964 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 574: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1977 + //line php5/php5.y:2050 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 30930c1..79a4015 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -25,8 +25,9 @@ import ( // boolWithToken boolWithToken list []node.Node foreachVariable foreachVariable -// nodesWithEndToken *nodesWithEndToken + nodesWithEndToken *nodesWithEndToken simpleIndirectReference simpleIndirectReference + objectPropertyList []objectProperty // str string } @@ -199,7 +200,7 @@ import ( %type base_variable array_function_dereference function_call inner_statement statement unticked_statement %type inner_statement statement global_var static_scalar scalar class_constant static_class_name_scalar class_name_scalar %type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc assignment_list_element -%type variable_name +%type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -207,6 +208,8 @@ import ( %type simple_indirect_reference %type foreach_variable +%type object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property +%type ctor_arguments function_call_parameter_list %% @@ -766,7 +769,8 @@ optional_class_type: function_call_parameter_list: - '(' ')' { } + '(' ')' + { $$ = &nodesWithEndToken{[]node.Node{}, $2} } | '(' non_empty_function_call_parameter_list ')' { } | '(' yield_expr ')' { } ; @@ -1041,7 +1045,18 @@ instance_call: ; new_expr: - T_NEW class_name_reference { } ctor_arguments { } + T_NEW class_name_reference ctor_arguments + { + if $3 != nil { + $$ = expr.NewNew($2, $3.nodes) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) + } else { + $$ = expr.NewNew($2, nil) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + } + + comments.AddComments($$, $1.Comments()) + } ; expr_without_variable: @@ -1106,7 +1121,8 @@ expr_without_variable: | expr T_IS_GREATER_OR_EQUAL expr { } | expr T_INSTANCEOF class_name_reference { } | parenthesis_expr { } - | new_expr { } + | new_expr + { $$ = $1 } | '(' new_expr ')' { } instance_call { } | expr '?' { } expr ':' { } @@ -1123,7 +1139,7 @@ expr_without_variable: | T_UNSET_CAST expr { } | T_EXIT exit_expr { } | '@' { } expr { } - | scalar { } + | scalar { $$ = $1 } | combined_scalar_offset { } | combined_scalar { } | '`' backticks_expr '`' { } @@ -1227,27 +1243,60 @@ fully_qualified_class_name: class_name_reference: - class_name { } - | dynamic_class_name_reference { } + class_name + { $$ = $1 } + | dynamic_class_name_reference + { $$ = $1 } ; dynamic_class_name_reference: - base_variable T_OBJECT_OPERATOR { } - object_property { } dynamic_class_name_variable_properties - { } - | base_variable { } + base_variable T_OBJECT_OPERATOR object_property dynamic_class_name_variable_properties + { + $$ = $1 + + for _, f := range($3) { + switch (f.fetchType) { + case arrayFetchType: + $$ = expr.NewArrayDimFetch($$, f.node) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) + comments.AddComments($$, comments[$1]) + case propertyFetchType: + $$ = expr.NewPropertyFetch($$, f.node) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) + comments.AddComments($$, comments[$1]) + } + } + + for _, f := range($4) { + switch (f.fetchType) { + case arrayFetchType: + $$ = expr.NewArrayDimFetch($$, f.node) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) + comments.AddComments($$, comments[$1]) + case propertyFetchType: + $$ = expr.NewPropertyFetch($$, f.node) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) + comments.AddComments($$, comments[$1]) + } + } + } + | base_variable + { $$ = $1 } ; dynamic_class_name_variable_properties: dynamic_class_name_variable_properties dynamic_class_name_variable_property + { $$ = append($1, $2...) } | /* empty */ + { $$ = []objectProperty{} } ; dynamic_class_name_variable_property: - T_OBJECT_OPERATOR object_property { } + T_OBJECT_OPERATOR object_property + { $$ = $2 } ; exit_expr: @@ -1263,8 +1312,10 @@ backticks_expr: ; ctor_arguments: - /* empty */ { } - | function_call_parameter_list { } + /* empty */ + { $$ = nil } + | function_call_parameter_list + { $$ = $1 } ; common_scalar: @@ -1280,7 +1331,12 @@ common_scalar: positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } - | T_CONSTANT_ENCAPSED_STRING { $$ = nil } + | T_CONSTANT_ENCAPSED_STRING + { + $$ = scalar.NewString($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } | T_LINE { $$ = scalar.NewMagicConstant($1.Value) @@ -1466,7 +1522,7 @@ non_empty_static_array_pair_list: expr: r_variable { $$ = $1 } - | expr_without_variable { } + | expr_without_variable { $$ = $1 } ; parenthesis_expr: @@ -1618,14 +1674,31 @@ dim_offset: object_property: - object_dim_list { } - | variable_without_objects { } + object_dim_list + { $$ = $1 } + | variable_without_objects + { + op := objectProperty{$1, propertyFetchType} + $$ = []objectProperty{op} + } ; object_dim_list: - object_dim_list '[' dim_offset ']' { } - | object_dim_list '{' expr '}' { } - | variable_name { } + object_dim_list '[' dim_offset ']' + { + op := objectProperty{$3, arrayFetchType} + $$ = append($1, op) + } + | object_dim_list '{' expr '}' + { + op := objectProperty{$3, arrayFetchType} + $$ = append($1, op) + } + | variable_name + { + op := objectProperty{$1, propertyFetchType} + $$ = []objectProperty{op} + } ; variable_name: From c662e0c20efd32d025d77bfe1992a1a7146d7b99 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Thu, 1 Feb 2018 20:40:04 +0200 Subject: [PATCH 15/31] php5 syntax --- php5/php5.go | 3850 +++++++++++++++++++++++++------------------------- php5/php5.y | 117 +- 2 files changed, 1967 insertions(+), 2000 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 04aa31b..30ec131 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2061 +//line php5/php5.y:2074 //line yacctab:1 var yyExca = [...]int{ @@ -355,556 +355,496 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 485, - 105, 485, - -2, 483, + 104, 477, + 105, 477, + -2, 475, -1, 101, - 78, 382, - 123, 365, - -2, 461, + 78, 374, + -2, 453, -1, 113, - 78, 503, - 123, 499, - -2, 509, + 78, 495, + 123, 491, + -2, 501, -1, 153, - 104, 485, - 105, 485, - -2, 483, + 104, 477, + 105, 477, + -2, 475, -1, 203, 121, 348, 124, 348, - -2, 480, + -2, 472, -1, 204, - 104, 485, - 105, 485, + 104, 477, + 105, 477, 121, 349, 124, 349, - -2, 483, - -1, 227, - 123, 365, - -2, 382, + -2, 475, -1, 270, - 78, 503, - -2, 509, - -1, 296, - 78, 384, - 123, 369, - -2, 463, - -1, 300, - 123, 500, - -2, 510, - -1, 309, - 78, 383, - 123, 367, - -2, 462, - -1, 371, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 309, + 78, 495, + -2, 501, + -1, 297, + 78, 376, + -2, 455, + -1, 301, + 123, 492, + -2, 502, + -1, 310, + 78, 375, + -2, 454, -1, 372, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 310, + -2, 309, -1, 373, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 311, + -2, 310, -1, 374, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 312, + -2, 311, -1, 375, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 313, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 312, -1, 376, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 314, + -2, 313, -1, 377, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 315, + -2, 314, -1, 378, 157, 0, 158, 0, 159, 0, 160, 0, + -2, 315, + -1, 379, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 316, - -1, 385, - 104, 485, - 105, 485, - -2, 483, - -1, 416, - 123, 369, - -2, 384, - -1, 436, - 123, 494, - -2, 498, + -1, 386, + 104, 477, + 105, 477, + -2, 475, + -1, 437, + 123, 486, + -2, 490, -1, 455, - 104, 485, - 105, 485, - 124, 566, - 135, 566, - -2, 483, + 104, 477, + 105, 477, + 124, 558, + 135, 558, + -2, 475, -1, 456, - 124, 567, - 135, 567, - -2, 480, + 124, 559, + 135, 559, + -2, 472, -1, 457, - 104, 485, - 105, 485, - -2, 483, - -1, 478, - 123, 373, - -2, 501, + 104, 477, + 105, 477, + -2, 475, -1, 479, - 123, 524, - -2, 568, - -1, 484, - 123, 377, - -2, 502, - -1, 485, - 123, 524, - -2, 569, - -1, 508, - 78, 382, - -2, 419, - -1, 554, + 124, 181, + 135, 181, + -2, 472, + -1, 480, + 104, 477, + 105, 477, + 124, 182, + 135, 182, + -2, 475, + -1, 486, + 123, 516, + -2, 560, + -1, 492, + 123, 516, + -2, 561, + -1, 514, + 78, 374, + -2, 411, + -1, 560, 124, 167, -2, 172, - -1, 562, + -1, 568, 121, 350, 124, 350, - -2, 480, - -1, 563, - 104, 485, - 105, 485, + -2, 472, + -1, 569, + 104, 477, + 105, 477, 121, 351, 124, 351, - -2, 483, - -1, 569, - 123, 367, - -2, 383, - -1, 570, + -2, 475, + -1, 576, 57, 259, 125, 259, -2, 258, - -1, 593, - 124, 181, - 135, 181, - -2, 480, - -1, 594, - 104, 485, - 105, 485, - 124, 182, - 135, 182, - -2, 483, - -1, 661, - 78, 384, - -2, 421, - -1, 688, + -1, 662, + 78, 376, + -2, 413, + -1, 689, 124, 167, -2, 172, - -1, 703, + -1, 704, 124, 167, -2, 172, + -1, 760, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 439, + -1, 761, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 440, + -1, 762, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 441, + -1, 763, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 442, + -1, 764, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 443, + -1, 765, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 444, + -1, 766, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 445, -1, 767, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 447, - -1, 768, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 448, - -1, 769, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 449, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 446, -1, 770, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 450, - -1, 771, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 451, - -1, 772, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 452, - -1, 773, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 453, - -1, 774, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 454, - -1, 777, - 78, 383, - -2, 420, - -1, 828, + 78, 375, + -2, 412, + -1, 821, 57, 254, -2, 256, - -1, 887, + -1, 879, 37, 228, -2, 225, - -1, 948, - 123, 494, - -2, 498, - -1, 1010, + -1, 940, + 123, 486, + -2, 490, + -1, 1002, 29, 216, -2, 4, - -1, 1036, + -1, 1028, 124, 167, -2, 172, - -1, 1040, + -1, 1032, 121, 220, -2, 222, } const yyPrivate = 57344 -const yyLast = 8321 +const yyLast = 8356 var yyAct = [...]int{ - 101, 1061, 1004, 581, 704, 334, 136, 891, 831, 122, - 130, 829, 326, 710, 444, 4, 199, 60, 923, 858, - 470, 875, 146, 822, 117, 38, 693, 706, 436, 411, - 802, 592, 663, 682, 113, 137, 412, 97, 467, 142, - 317, 263, 424, 383, 25, 328, 313, 439, 6, 157, - 161, 716, 129, 2, 327, 227, 227, 5, 288, 43, - 178, 454, 633, 42, 1035, 976, 479, 975, 120, 998, - 997, 995, 972, 191, 967, 442, 991, 120, 938, 633, - 266, 974, 926, 257, 152, 996, 504, 992, 826, 250, - 1069, 871, 939, 567, 733, 719, 700, 191, 687, 567, - 1046, 203, 90, 296, 637, 734, 633, 240, 480, 641, - 635, 634, 191, 503, 270, 351, 698, 269, 636, 638, - 639, 637, 485, 323, 120, 309, 633, 699, 314, 318, - 635, 634, 321, 642, 653, 654, 651, 652, 655, 657, - 656, 658, 643, 644, 645, 636, 638, 639, 637, 300, - 178, 176, 175, 333, 823, 817, 781, 332, 601, 38, - 227, 114, 530, 339, 645, 636, 638, 639, 637, 602, - 161, 177, 179, 180, 178, 443, 633, 308, 350, 641, - 635, 634, 566, 240, 443, 174, 177, 179, 180, 178, - 119, 546, 266, 567, 227, 120, 120, 468, 1016, 119, - 200, 977, 547, 388, 653, 654, 651, 652, 655, 657, - 656, 658, 643, 644, 645, 636, 638, 639, 637, 947, - 497, 493, 227, 345, 907, 352, 270, 906, 348, 269, - 416, 443, 837, 379, 498, 494, 343, 310, 125, 353, - 120, 271, 349, 132, 633, 832, 119, 641, 635, 634, - 344, 311, 965, 779, 386, 724, 618, 133, 299, 614, - 613, 227, 633, 900, 298, 158, 635, 634, 607, 449, - 640, 642, 653, 654, 651, 652, 655, 657, 656, 658, - 643, 644, 645, 636, 638, 639, 637, 438, 606, 586, - 572, 571, 227, 466, 240, 585, 426, 440, 643, 644, - 645, 636, 638, 639, 637, 728, 451, 228, 1065, 191, - 229, 1050, 130, 830, 1017, 727, 496, 119, 301, 565, - 500, 4, 478, 460, 508, 432, 232, 484, 579, 464, - 293, 38, 440, 456, 458, 472, 473, 440, 292, 428, - 429, 481, 286, 525, 1015, 477, 465, 172, 176, 175, - 483, 280, 508, 271, 6, 253, 252, 191, 983, 874, - 869, 489, 119, 5, 492, 429, 428, 428, 966, 429, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 159, 866, 864, - 847, 1052, 1036, 431, 534, 557, 176, 175, 816, 227, - 735, 125, 125, 120, 120, 673, 608, 604, 556, 421, - 419, 38, 305, 138, 934, 446, 569, 860, 859, 427, - 814, 805, 703, 688, 441, 662, 506, 568, 181, 182, - 174, 177, 179, 180, 178, 554, 532, 524, 538, 533, - 1025, 387, 478, 484, 294, 287, 277, 274, 273, 598, - 696, 414, 440, 440, 506, 249, 562, 221, 125, 441, - 120, 194, 193, 141, 441, 477, 483, 121, 981, 953, - 228, 228, 597, 229, 229, 438, 587, 600, 1056, 599, - 1055, 307, 440, 306, 125, 440, 120, 440, 381, 232, - 232, 591, 331, 794, 795, 314, 794, 795, 134, 318, - 1024, 1014, 4, 980, 508, 959, 593, 921, 103, 917, - 862, 661, 38, 508, 856, 855, 786, 691, 445, 695, - 508, 508, 508, 508, 508, 119, 119, 228, 685, 683, - 229, 529, 488, 675, 390, 6, 341, 155, 1022, 628, - 677, 625, 905, 580, 5, 1071, 232, 1043, 227, 227, - 227, 957, 933, 228, 932, 557, 229, 125, 930, 819, - 714, 715, 557, 230, 230, 548, 266, 684, 227, 227, - 304, 196, 232, 223, 224, 717, 697, 951, 879, 441, - 441, 861, 119, 1028, 793, 505, 915, 916, 264, 294, - 632, 692, 713, 346, 851, 852, 227, 660, 721, 256, - 270, 448, 415, 269, 720, 258, 506, 718, 119, 441, - 430, 227, 441, 227, 441, 506, 736, 124, 125, 667, - 452, 447, 506, 506, 506, 506, 506, 125, 730, 124, - 418, 741, 417, 742, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 777, 456, 508, 739, 630, 123, 627, 230, 259, - 260, 462, 208, 209, 210, 211, 213, 214, 215, 216, - 217, 218, 219, 220, 212, 789, 791, 558, 508, 557, - 559, 281, 285, 800, 302, 778, 227, 790, 38, 319, - 264, 508, 230, 780, 557, 297, 125, 125, 815, 61, - 461, 808, 1010, 557, 821, 502, 125, 796, 294, 798, - 294, 803, 499, 832, 818, 841, 717, 271, 806, 125, - 230, 120, 495, 127, 128, 834, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 666, 820, 506, 839, 320, 294, 230, - 835, 836, 238, 450, 799, 294, 508, 125, 131, 315, - 262, 558, 508, 508, 559, 294, 53, 811, 131, 712, - 506, 258, 561, 207, 593, 394, 430, 206, 267, 1026, - 230, 268, 876, 506, 227, 813, 227, 1062, 162, 702, - 783, 44, 38, 1027, 475, 549, 870, 232, 557, 1068, - 294, 284, 486, 528, 557, 1034, 1018, 708, 709, 993, - 867, 988, 518, 44, 969, 868, 935, 898, 902, 899, - 536, 225, 233, 880, 227, 877, 558, 508, 1047, 559, - 1041, 258, 784, 119, 463, 259, 260, 438, 258, 999, - 518, 904, 970, 283, 909, 913, 438, 440, 942, 912, - 908, 125, 508, 903, 557, 810, 440, 919, 506, 924, - 258, 748, 924, 747, 506, 506, 922, 931, 927, 258, - 631, 557, 629, 38, 430, 941, 895, 896, 897, 894, - 893, 892, 626, 115, 944, 258, 577, 230, 551, 940, - 282, 501, 508, 946, 462, 259, 260, 863, 794, 795, - 474, 284, 259, 260, 954, 391, 322, 956, 797, 794, - 795, 202, 958, 952, 584, 201, 258, 960, 198, 962, - 963, 255, 135, 945, 259, 260, 582, 583, 574, 506, - 576, 575, 978, 259, 260, 902, 948, 971, 929, 726, - 982, 664, 984, 979, 985, 515, 303, 621, 508, 259, - 260, 620, 617, 508, 506, 557, 616, 557, 476, 38, - 491, 38, 295, 38, 964, 38, 38, 537, 1001, 392, - 1009, 254, 75, 74, 441, 615, 251, 248, 508, 508, - 259, 260, 545, 441, 557, 38, 1023, 38, 38, 801, - 624, 380, 518, 570, 506, 357, 356, 1009, 1029, 355, - 354, 518, 824, 723, 722, 1031, 901, 557, 518, 518, - 518, 518, 518, 827, 828, 1040, 508, 557, 681, 1042, - 1038, 1045, 335, 887, 1039, 1008, 1037, 557, 1007, 1006, - 1049, 1005, 38, 1003, 994, 1002, 230, 230, 230, 1000, - 1051, 973, 1064, 1058, 943, 38, 557, 1054, 1021, 886, - 506, 885, 38, 884, 264, 506, 230, 230, 1072, 1066, - 968, 38, 937, 883, 1019, 1020, 882, 590, 707, 705, - 1011, 950, 633, 920, 955, 38, 635, 634, 665, 560, - 506, 506, 395, 729, 230, 668, 669, 670, 671, 672, - 40, 711, 555, 393, 39, 553, 878, 14, 13, 230, - 1070, 230, 1044, 1067, 655, 657, 656, 658, 643, 644, - 645, 636, 638, 639, 637, 743, 744, 1060, 506, 745, - 746, 872, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 603, - 1059, 518, 1057, 1033, 961, 873, 812, 701, 807, 550, - 195, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 382, 163, 518, 531, 337, 1030, - 1012, 918, 680, 679, 230, 140, 676, 527, 139, 518, - 914, 853, 116, 788, 526, 850, 787, 674, 330, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 776, 10, 1, 665, 208, - 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 220, 212, 840, 738, 437, 289, 453, 231, 231, 160, - 156, 316, 312, 30, 126, 265, 63, 88, 573, 89, - 507, 100, 73, 11, 518, 324, 99, 98, 78, 118, - 518, 518, 272, 513, 3, 0, 144, 150, 154, 0, - 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, - 197, 0, 230, 0, 230, 205, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, - 234, 235, 236, 237, 0, 0, 239, 0, 241, 242, - 243, 244, 245, 246, 247, 0, 0, 0, 0, 0, - 0, 261, 230, 0, 0, 518, 275, 276, 0, 278, - 279, 845, 0, 0, 0, 0, 342, 848, 849, 0, - 290, 0, 231, 0, 50, 0, 0, 0, 0, 0, - 518, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 0, 0, 0, 0, 0, 153, - 0, 0, 0, 0, 272, 0, 231, 0, 0, 0, - 0, 0, 239, 0, 0, 336, 204, 0, 0, 0, - 518, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 226, 0, 910, 0, 231, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 0, 0, 0, 154, 0, - 0, 0, 0, 231, 0, 0, 518, 0, 0, 0, - 0, 518, 397, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 0, 0, 949, 0, 0, - 0, 0, 0, 0, 231, 0, 518, 518, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, - 0, 0, 0, 239, 0, 423, 425, 425, 0, 0, - 0, 191, 0, 433, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 518, 0, 0, 154, 154, 0, - 0, 459, 0, 0, 425, 172, 176, 175, 0, 0, - 425, 290, 0, 0, 0, 0, 425, 425, 384, 385, - 176, 175, 425, 482, 0, 0, 0, 0, 487, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 0, 413, 0, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 231, 0, 0, 0, 0, 168, 170, 169, 191, - 535, 0, 0, 0, 0, 0, 0, 539, 540, 541, - 542, 543, 911, 0, 0, 435, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 455, 457, - 860, 859, 0, 0, 544, 0, 192, 172, 176, 175, - 0, 648, 646, 647, 0, 0, 471, 0, 0, 0, - 154, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 0, 0, 633, - 0, 659, 641, 635, 634, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 588, 0, 191, - 154, 0, 0, 650, 649, 640, 642, 653, 654, 651, - 652, 655, 657, 656, 658, 643, 644, 645, 636, 638, - 639, 637, 609, 611, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 176, 175, - 231, 231, 231, 0, 648, 646, 647, 0, 0, 0, - 0, 563, 0, 564, 0, 0, 0, 0, 272, 0, - 231, 231, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 0, 0, 846, - 0, 0, 633, 0, 659, 641, 635, 634, 231, 0, - 0, 0, 0, 0, 0, 168, 170, 169, 191, 690, - 0, 594, 0, 231, 0, 231, 650, 649, 640, 642, - 653, 654, 651, 652, 655, 657, 656, 658, 643, 644, - 645, 636, 638, 639, 637, 0, 0, 0, 838, 0, - 0, 0, 0, 725, 0, 192, 172, 176, 175, 425, - 731, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 737, 0, 0, 0, 0, 0, 154, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 633, 0, 0, - 889, 635, 634, 0, 0, 0, 890, 0, 231, 888, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 384, 694, 694, 653, 654, 651, 652, 655, - 657, 656, 658, 643, 644, 645, 636, 638, 639, 637, - 0, 0, 413, 413, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 336, 792, 0, 648, 646, 647, - 895, 896, 897, 894, 893, 892, 0, 0, 0, 0, - 471, 0, 0, 0, 0, 0, 0, 455, 0, 0, - 889, 0, 936, 0, 0, 471, 890, 471, 0, 888, - 0, 0, 0, 825, 0, 633, 844, 659, 641, 635, - 634, 425, 425, 0, 0, 0, 0, 0, 154, 0, - 0, 0, 0, 0, 842, 0, 231, 0, 231, 650, - 649, 640, 642, 653, 654, 651, 652, 655, 657, 656, - 658, 643, 644, 645, 636, 638, 639, 637, 0, 0, - 895, 896, 897, 894, 893, 892, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 231, 0, 0, 0, - 0, 0, 881, 0, 0, 0, 0, 0, 857, 0, - 804, 0, 0, 0, 0, 865, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 833, 192, 172, - 176, 175, 648, 646, 647, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 425, 0, 0, 0, 0, 594, + 101, 1053, 705, 996, 587, 883, 822, 915, 199, 122, + 130, 850, 824, 815, 425, 867, 470, 707, 327, 445, + 437, 4, 717, 412, 510, 113, 335, 467, 694, 795, + 136, 664, 454, 413, 384, 318, 683, 314, 440, 329, + 97, 114, 6, 157, 263, 129, 60, 328, 478, 25, + 5, 178, 2, 288, 191, 227, 227, 634, 634, 191, + 1027, 636, 635, 42, 137, 968, 990, 967, 142, 987, + 989, 964, 959, 983, 930, 918, 863, 720, 819, 701, + 266, 966, 257, 988, 984, 43, 573, 146, 931, 573, + 38, 699, 688, 644, 645, 646, 637, 639, 640, 638, + 638, 509, 700, 297, 352, 270, 613, 324, 1038, 634, + 152, 816, 240, 636, 635, 161, 810, 614, 250, 599, + 269, 271, 634, 774, 503, 310, 572, 203, 315, 319, + 600, 178, 322, 177, 179, 180, 178, 573, 504, 499, + 301, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 536, 500, 711, 340, 552, 353, 468, 334, + 227, 637, 639, 640, 638, 120, 117, 553, 120, 634, + 351, 354, 642, 636, 635, 200, 309, 349, 168, 170, + 169, 191, 443, 158, 120, 492, 333, 120, 240, 191, + 969, 350, 266, 939, 227, 641, 643, 654, 655, 652, + 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 852, 851, 899, 898, 1008, 270, 192, 172, + 176, 175, 227, 346, 38, 344, 830, 389, 176, 175, + 417, 957, 269, 271, 825, 161, 380, 772, 725, 345, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 785, - 633, 0, 659, 641, 635, 634, 0, 0, 0, 0, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 311, + 620, 227, 174, 177, 179, 180, 178, 295, 427, 449, + 132, 300, 612, 312, 486, 103, 120, 299, 943, 892, + 387, 611, 1061, 605, 133, 604, 578, 119, 441, 577, + 302, 444, 227, 466, 444, 460, 973, 451, 729, 240, + 1042, 464, 823, 728, 442, 159, 119, 472, 473, 119, + 585, 293, 592, 130, 488, 292, 487, 502, 591, 433, + 286, 506, 280, 253, 441, 514, 252, 1007, 4, 441, + 230, 230, 1009, 975, 866, 861, 858, 484, 429, 430, + 442, 465, 490, 945, 856, 442, 477, 958, 839, 6, + 531, 191, 809, 514, 294, 264, 674, 5, 498, 456, + 458, 495, 615, 606, 430, 429, 429, 125, 430, 120, + 602, 125, 422, 120, 634, 420, 306, 544, 636, 635, + 1057, 1028, 479, 444, 125, 304, 120, 432, 138, 540, + 176, 175, 926, 296, 807, 296, 563, 38, 119, 798, + 227, 704, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 575, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 439, + 852, 851, 382, 697, 689, 230, 228, 663, 574, 229, + 228, 560, 530, 229, 441, 441, 634, 388, 571, 596, + 636, 635, 287, 228, 277, 232, 229, 484, 490, 232, + 442, 442, 274, 538, 273, 485, 539, 264, 593, 230, + 491, 597, 232, 441, 294, 249, 441, 38, 441, 221, + 347, 194, 227, 568, 646, 637, 639, 640, 638, 442, + 193, 119, 442, 141, 442, 119, 121, 230, 616, 787, + 788, 315, 696, 332, 1048, 319, 1047, 1044, 119, 134, + 514, 308, 1017, 307, 4, 787, 788, 662, 191, 514, + 1016, 1006, 972, 951, 913, 909, 514, 514, 514, 514, + 514, 446, 854, 848, 633, 6, 230, 847, 626, 779, + 629, 692, 686, 5, 684, 535, 125, 494, 120, 1014, + 562, 391, 678, 342, 227, 227, 227, 176, 175, 155, + 897, 563, 586, 676, 1063, 483, 715, 230, 563, 1035, + 949, 925, 266, 924, 227, 227, 685, 922, 497, 812, + 716, 305, 196, 38, 698, 485, 491, 853, 693, 181, + 182, 174, 177, 179, 180, 178, 428, 270, 722, 871, + 524, 223, 224, 786, 907, 908, 731, 721, 125, 227, + 120, 227, 269, 271, 595, 228, 719, 439, 229, 598, + 843, 844, 125, 631, 294, 737, 125, 738, 524, 125, + 628, 125, 90, 735, 232, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 770, 739, 514, 125, 508, 505, 256, 258, + 119, 501, 709, 710, 431, 230, 294, 267, 714, 661, + 268, 448, 125, 294, 120, 483, 456, 416, 321, 514, + 563, 564, 793, 773, 565, 771, 232, 227, 124, 125, + 479, 320, 514, 316, 124, 563, 1020, 808, 784, 1002, + 782, 125, 668, 792, 563, 814, 462, 811, 801, 294, + 294, 789, 718, 791, 294, 258, 804, 783, 799, 452, + 431, 415, 119, 259, 260, 123, 813, 131, 127, 128, + 827, 294, 447, 828, 829, 887, 888, 889, 886, 885, + 884, 228, 618, 619, 229, 258, 419, 230, 622, 623, + 281, 285, 418, 303, 38, 298, 667, 796, 564, 514, + 232, 565, 825, 833, 461, 514, 514, 258, 564, 450, + 258, 565, 283, 131, 262, 524, 713, 567, 463, 259, + 260, 258, 395, 207, 524, 1018, 431, 227, 206, 227, + 868, 524, 524, 524, 524, 524, 119, 1054, 61, 258, + 703, 563, 806, 44, 282, 776, 1019, 563, 462, 259, + 260, 555, 860, 53, 284, 859, 872, 258, 869, 230, + 230, 230, 255, 862, 534, 894, 227, 891, 895, 514, + 284, 259, 260, 497, 259, 260, 896, 264, 1060, 230, + 230, 441, 901, 1026, 900, 259, 260, 777, 730, 441, + 1010, 911, 162, 905, 514, 985, 563, 442, 718, 919, + 38, 238, 914, 259, 260, 442, 1039, 916, 225, 233, + 916, 980, 1033, 563, 230, 933, 230, 44, 921, 961, + 904, 259, 260, 927, 554, 855, 787, 788, 542, 991, + 938, 790, 787, 788, 514, 962, 580, 937, 582, 581, + 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 946, 934, 524, + 125, 963, 803, 948, 741, 970, 740, 632, 950, 630, + 38, 894, 627, 952, 944, 954, 955, 512, 583, 557, + 514, 971, 507, 474, 524, 514, 932, 563, 392, 563, + 323, 890, 230, 202, 201, 198, 974, 524, 976, 135, + 977, 590, 588, 589, 986, 512, 940, 727, 665, 992, + 514, 514, 439, 521, 956, 543, 563, 393, 254, 1015, + 439, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 212, 1011, 1012, 75, 74, 251, 563, + 923, 248, 551, 1023, 794, 1032, 881, 381, 514, 563, + 576, 1037, 882, 358, 1021, 880, 38, 936, 38, 563, + 38, 357, 38, 38, 524, 356, 355, 817, 724, 723, + 524, 524, 1036, 893, 1056, 1034, 820, 821, 563, 682, + 336, 879, 38, 1031, 38, 38, 1041, 1000, 1029, 999, + 998, 997, 230, 995, 230, 994, 965, 935, 1046, 1050, + 1013, 878, 877, 601, 876, 446, 887, 888, 889, 886, + 885, 884, 960, 929, 1064, 208, 209, 210, 211, 213, + 214, 215, 216, 217, 218, 219, 220, 212, 928, 38, + 875, 230, 874, 476, 524, 708, 706, 1003, 942, 912, + 947, 993, 38, 1001, 566, 881, 396, 40, 712, 38, + 561, 882, 394, 39, 880, 559, 870, 14, 38, 524, + 13, 1062, 512, 1059, 1052, 864, 1051, 1049, 1025, 116, + 1001, 512, 38, 903, 953, 865, 805, 702, 512, 512, + 512, 512, 512, 800, 556, 195, 383, 163, 537, 338, + 1022, 1004, 910, 1030, 681, 680, 140, 677, 533, 524, + 139, 906, 649, 647, 648, 887, 888, 889, 886, 885, + 884, 845, 781, 1043, 532, 842, 780, 675, 331, 10, + 1, 832, 734, 438, 231, 231, 289, 873, 453, 160, + 156, 317, 1058, 313, 126, 115, 265, 63, 88, 579, + 634, 89, 660, 642, 636, 635, 513, 100, 73, 272, + 11, 325, 99, 98, 78, 524, 118, 519, 511, 3, + 524, 0, 0, 0, 651, 650, 641, 643, 654, 655, + 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, + 639, 640, 638, 0, 0, 524, 524, 512, 512, 512, + 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, + 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, + 512, 512, 512, 512, 0, 0, 512, 0, 0, 0, + 0, 0, 0, 524, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 650, 649, 640, 642, 653, 654, - 651, 652, 655, 657, 656, 658, 643, 644, 645, 636, - 638, 639, 637, 0, 425, 0, 0, 0, 694, 0, - 413, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 336, 0, 0, 94, 28, 19, 18, 0, + 634, 512, 660, 642, 636, 635, 0, 0, 0, 0, + 0, 0, 0, 0, 512, 0, 0, 0, 0, 0, + 0, 272, 0, 231, 651, 650, 641, 643, 654, 655, + 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, + 639, 640, 638, 0, 0, 0, 0, 0, 0, 0, + 0, 231, 208, 209, 210, 211, 213, 214, 215, 216, + 217, 218, 219, 220, 212, 0, 0, 0, 0, 30, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 512, 0, 0, 0, 0, 0, 512, 512, 0, + 231, 0, 144, 150, 154, 0, 0, 0, 164, 0, + 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, + 0, 205, 0, 0, 0, 0, 0, 168, 170, 169, + 191, 231, 222, 0, 0, 0, 234, 235, 236, 237, + 0, 0, 239, 0, 241, 242, 243, 244, 245, 246, + 247, 0, 0, 0, 0, 0, 0, 261, 0, 0, + 831, 512, 275, 276, 0, 278, 279, 192, 172, 176, + 175, 0, 0, 0, 0, 0, 290, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 512, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, + 0, 337, 0, 0, 0, 0, 512, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 0, 0, 0, 154, 0, 0, 0, 0, 0, + 0, 0, 512, 0, 0, 0, 0, 512, 398, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 512, 512, 0, 0, 0, 0, 0, 0, + 0, 231, 0, 0, 0, 0, 0, 0, 0, 239, + 0, 424, 426, 426, 0, 0, 50, 0, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 512, 0, 0, 154, 154, 0, 0, 459, 0, 0, + 426, 153, 0, 0, 0, 0, 426, 290, 0, 0, + 0, 0, 426, 426, 0, 0, 154, 0, 204, 426, + 489, 343, 0, 0, 0, 493, 0, 0, 0, 0, + 0, 226, 226, 231, 231, 231, 208, 209, 210, 211, + 213, 214, 215, 216, 217, 218, 219, 220, 212, 0, + 0, 272, 0, 231, 231, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, + 0, 0, 0, 0, 545, 546, 547, 548, 549, 0, + 649, 647, 648, 0, 0, 0, 0, 666, 231, 0, + 231, 0, 0, 0, 669, 670, 671, 672, 673, 0, + 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 838, 0, 154, 634, 0, + 660, 642, 636, 635, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, + 0, 0, 651, 650, 641, 643, 654, 655, 652, 653, + 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, + 638, 0, 0, 0, 594, 0, 0, 0, 0, 0, + 385, 386, 0, 0, 0, 0, 231, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 607, 609, + 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, + 0, 0, 617, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 769, + 0, 0, 666, 0, 0, 0, 0, 436, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 455, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 634, 0, 0, 642, 636, 635, 471, 0, + 0, 691, 0, 480, 0, 0, 231, 0, 231, 0, + 0, 0, 0, 649, 647, 648, 651, 650, 641, 643, + 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, + 646, 637, 639, 640, 638, 726, 0, 0, 0, 0, + 0, 426, 732, 0, 0, 231, 0, 0, 0, 0, + 154, 634, 836, 660, 642, 636, 635, 0, 0, 0, + 0, 0, 0, 0, 154, 0, 0, 837, 0, 0, + 0, 0, 0, 840, 841, 651, 650, 641, 643, 654, + 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, + 637, 639, 640, 638, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 569, 0, 570, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 634, 0, 0, 642, 636, 635, 0, 0, 0, 0, + 0, 337, 785, 0, 0, 0, 0, 902, 0, 0, + 0, 168, 170, 169, 191, 650, 641, 643, 654, 655, + 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, + 639, 640, 638, 0, 0, 0, 0, 0, 0, 0, + 818, 0, 0, 0, 0, 0, 0, 0, 426, 426, + 826, 192, 172, 176, 175, 0, 834, 0, 471, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 941, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 0, 649, 647, 648, 0, + 0, 0, 0, 0, 0, 0, 0, 849, 0, 0, + 0, 0, 0, 0, 857, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 385, 695, 695, 778, 634, 0, 660, 642, 636, 635, + 0, 0, 0, 426, 0, 0, 0, 0, 0, 0, + 414, 414, 0, 0, 0, 0, 0, 0, 651, 650, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 455, 0, 0, + 0, 0, 0, 0, 0, 471, 0, 471, 0, 0, + 0, 480, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 426, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 15, 24, 35, 471, 0, + 337, 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, + 0, 92, 0, 797, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 623, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 625, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, - 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 490, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, - 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, - 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1073, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 1063, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 0, 21, 695, 0, 414, 22, 23, 37, 44, + 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, + 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 471, 0, 0, 0, 92, 0, 0, 0, + 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 1053, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 496, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 1048, 32, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, + 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, + 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, @@ -914,125 +854,125 @@ var yyAct = [...]int{ 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, + 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 1013, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 1065, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, + 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 990, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 1055, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, + 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 989, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 1045, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 20, 1040, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, + 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 987, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 986, 33, 0, 0, 21, 0, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 1005, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 928, 0, 21, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 982, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 854, 20, 0, 32, 0, 33, 0, 0, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 981, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 552, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 979, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 94, 28, 19, 18, 0, 20, 0, 32, 978, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 325, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, - 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 33, 920, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, + 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, @@ -1042,56 +982,56 @@ var yyAct = [...]int{ 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 0, 94, 28, 19, 18, 846, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 1032, 62, 0, 96, + 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 925, 62, 0, + 0, 0, 91, 76, 16, 558, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 809, 62, + 0, 0, 0, 91, 76, 16, 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 678, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, @@ -1099,196 +1039,211 @@ var yyAct = [...]int{ 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 782, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 648, 646, 647, + 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 740, 0, 0, 91, 76, 16, 0, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 0, 0, 633, 0, 659, 641, 635, - 634, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, - 649, 640, 642, 653, 654, 651, 652, 655, 657, 656, - 658, 643, 644, 645, 636, 638, 639, 637, 0, 0, - 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 732, 0, 0, 0, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 168, 170, 169, 191, 0, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 1024, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 917, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 0, 34, 802, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 0, 34, 679, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 775, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 649, 647, 648, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 736, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 0, 0, 634, + 0, 660, 642, 636, 635, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 689, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, + 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, + 640, 638, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 686, 0, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, - 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 182, 174, 177, 179, 180, 178, 733, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 622, 0, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 619, 0, 0, 0, 0, 0, 0, 192, - 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 179, 180, 178, 690, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 605, 0, 0, 192, 172, 176, 175, 0, 0, 0, - 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 578, 0, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 469, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 396, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 420, 0, 0, 192, 172, 176, 175, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 389, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 687, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 340, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 624, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 621, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 603, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 584, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 0, 0, 0, 0, 469, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 397, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 421, 0, 0, + 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 338, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 390, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 165, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 648, 646, 647, 0, 0, 0, 0, 0, + 180, 178, 341, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 633, 0, 659, 641, 635, 634, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 650, 649, 640, 642, 653, 654, - 651, 652, 655, 657, 656, 658, 643, 644, 645, 636, - 638, 639, 637, 0, 0, 0, 192, 172, 176, 175, - 646, 647, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 633, 0, 659, - 641, 635, 634, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 650, 649, 640, 642, 653, 654, 651, 652, 655, - 657, 656, 658, 643, 644, 645, 636, 638, 639, 637, - 0, 0, 192, 172, 176, 175, 0, 647, 0, 0, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 339, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 165, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 649, 647, 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 633, 0, 659, 641, 635, 634, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 650, 649, 640, - 642, 653, 654, 651, 652, 655, 657, 656, 658, 643, - 644, 645, 636, 638, 639, 637, 0, 192, 172, 176, - 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 192, 172, - 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 180, 178, 0, 634, 0, 660, 642, 636, 635, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, + 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, + 644, 645, 646, 637, 639, 640, 638, 0, 0, 0, + 192, 172, 176, 175, 647, 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 633, - 0, 659, 641, 635, 634, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 634, 0, 660, 642, 636, 635, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 650, 649, 640, 642, 653, 654, 651, - 652, 655, 657, 656, 658, 643, 644, 645, 636, 638, - 639, 637, 633, 0, 0, 641, 635, 634, 191, 0, + 0, 0, 0, 0, 0, 651, 650, 641, 643, 654, + 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, + 637, 639, 640, 638, 0, 0, 192, 172, 176, 175, + 0, 648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 634, 0, 660, + 642, 636, 635, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 650, 649, 640, 642, - 653, 654, 651, 652, 655, 657, 656, 658, 643, 644, - 645, 636, 638, 639, 637, 0, 172, 176, 175, 0, + 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, + 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, + 0, 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 633, 0, 0, 641, 635, 634, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 649, 640, 642, 653, - 654, 651, 652, 655, 657, 656, 658, 643, 644, 645, - 636, 638, 639, 637, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 176, 175, 0, 0, 0, 0, 82, - 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 167, 171, 173, 185, 186, 183, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 596, 84, - 85, 86, 191, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 589, - 96, 176, 175, 595, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 596, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 595, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 180, 178, 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 0, 96, 0, 0, 843, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 172, 176, 175, 0, 0, + 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, + 102, 482, 84, 85, 86, 191, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 0, 0, 612, 57, 56, 58, + 0, 62, 475, 96, 176, 175, 481, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 191, 0, 0, 148, 112, + 108, 102, 482, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 172, 176, 175, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 481, 57, 56, + 58, 59, 72, 119, 0, 0, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 634, 0, 0, 642, 636, 635, 0, + 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, + 645, 646, 637, 639, 640, 638, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, @@ -1297,7 +1252,7 @@ var yyAct = [...]int{ 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 610, 57, 56, + 0, 0, 62, 0, 96, 0, 0, 835, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1310,7 +1265,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 0, 0, 62, 0, 96, 0, 0, 291, 57, + 0, 0, 0, 62, 0, 96, 0, 0, 610, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1318,12 +1273,27 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 608, + 57, 56, 58, 59, 72, 119, 0, 0, 0, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, + 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 422, 96, 0, 0, 0, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1333,14 +1303,14 @@ var yyAct = [...]int{ 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 191, 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 398, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 76, 0, 0, 0, 0, 62, 423, 96, 172, 176, + 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 94, 0, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, @@ -1349,8 +1319,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 399, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1362,7 +1332,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, + 0, 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, @@ -1375,7 +1345,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 143, 0, 62, 0, + 0, 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, @@ -1388,9 +1358,9 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 0, 0, 91, 76, 0, 0, 143, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 434, 120, + 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, @@ -1401,234 +1371,246 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 70, 0, 0, 634, 91, 76, 642, 636, 635, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 654, 655, 652, 653, 656, 658, 657, 659, 644, + 645, 646, 637, 639, 640, 638, 82, 83, 71, 0, + 104, 105, 125, 435, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 104, 105, 125, 77, + 41, 147, 0, 0, 0, 0, 522, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 517, 0, + 520, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 523, 0, 0, 0, 0, 515, 112, 108, + 516, 104, 105, 125, 0, 0, 0, 0, 0, 0, + 0, 522, 0, 0, 0, 0, 232, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 768, 529, 0, 518, 0, 0, 0, 528, 527, 525, + 526, 0, 0, 517, 0, 520, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 523, 0, 0, + 0, 0, 515, 112, 108, 516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 104, 105, 125, 77, 41, 147, 0, 0, 0, - 0, 516, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 511, 0, 514, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 517, 0, 0, - 0, 0, 509, 112, 108, 510, 104, 105, 125, 0, - 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 775, 523, 0, 512, 0, - 0, 0, 522, 521, 519, 520, 0, 0, 511, 0, - 514, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 517, 0, 0, 0, 0, 509, 112, 108, - 510, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 523, 0, 512, 0, 0, 0, 522, 521, 519, - 520, + 0, 0, 0, 0, 0, 0, 529, 0, 518, 0, + 0, 0, 528, 527, 525, 526, } var yyPact = [...]int{ - -1000, -1000, 2439, -1000, -1000, -1000, -1000, 344, 547, 696, - 122, -1000, 376, -1000, -1000, 932, -1000, 290, -1000, -1000, - 340, 290, 7635, 7504, 7373, 416, 253, 796, 7766, -1000, - 5671, 339, 338, -1000, -1000, 452, 7766, 928, 72, 925, - 921, 7766, -1000, -1000, -1000, -1000, 745, -1000, 741, -1000, - 1113, 334, 7766, 469, 448, 448, 7766, 7766, 7766, 7766, - -1000, -1000, 8028, -1000, 7766, 7766, 7766, 7766, 7766, 7766, - 7766, 332, -1000, -1000, 231, 230, 924, 7766, 723, 719, - 325, 324, 7766, 7766, 323, 7766, 7766, -1000, 226, -1000, - -1000, 893, 846, -1000, 217, 322, 6980, -1000, 213, 205, - -1000, 507, 861, 627, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 139, 184, -1000, 616, -1000, -1000, 451, - -1000, 288, 362, -1000, 861, -1000, 116, 697, 617, -1000, - 738, 861, -1000, 916, -1000, -13, 4142, 370, 8028, 290, - 4928, 7766, -1000, -1000, 5624, -1000, 72, 774, 535, -1000, - 5577, -1000, 415, 1245, 5759, -1000, 115, -1000, -1000, 474, - 107, 72, -21, 104, 5759, -1000, -1000, -1000, -1000, -1000, - 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, - 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, - 7766, 719, 366, 448, 7766, 318, -1000, 5530, 413, 915, - -1000, 740, -1000, -1000, 1113, 5483, -1000, -1000, 7242, 7766, - 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, 7766, - 7766, 392, -1000, -1000, -1000, -1000, -1000, 507, 520, 861, - 554, 552, -1000, -1000, -107, -107, -17, -107, 286, 5439, - 285, -107, -107, -107, -107, -107, -107, -107, -1000, 7111, - -1000, 7766, 7766, 7766, 301, 868, 877, -1000, 268, 7897, - 448, 5971, 65, 292, 543, -1000, 507, 519, 861, 716, - 139, 184, 542, 7766, 7766, 5759, 5759, 7766, 5759, 5759, - 7766, 593, 868, 839, -1000, 779, 7766, 6980, 167, 62, - 5395, 448, 7766, 7766, 910, 292, 507, 56, 7766, 7766, - 139, 451, 112, 292, 7766, 411, -1000, -1000, 2308, 507, - -1000, 706, 100, -1000, 703, 861, 99, -1000, 693, 861, - 901, 686, -23, 8188, -1000, -1000, -1000, -1000, -1000, 314, - 4928, -1000, -1000, 802, 410, 27, 5759, 317, -1000, -1000, - -1000, -1000, -1000, -1000, 253, -1000, 7766, -1000, -1000, 828, - -1000, 8188, -1000, 7766, 7766, 7766, 7766, 7766, 5930, 1427, - 6322, 1629, 7, 7, 7, -17, -107, -17, -17, 22, - 22, 1441, 1441, 1441, 1441, 267, 267, 267, 267, -1000, - 7766, -1000, 67, -1000, -1000, 536, 786, 898, 4011, -1000, - -1000, -1000, 312, -1000, 608, 737, 7766, 5971, 228, 5971, - 5971, 5971, 5971, 5971, 5971, 5971, 5971, 5971, 5971, 5971, - 5971, 58, -1000, -1000, 304, 861, 507, 65, 65, -1000, - -1000, -1000, -1000, -107, 165, 5759, 164, -1000, -1000, -1000, - -1000, 938, 896, 5314, 203, 423, -1000, 170, -1000, -1000, - 139, 184, -1000, 7766, -1000, -1000, 6325, 183, 861, 507, - 65, 139, 183, 34, -1000, 1113, -1000, 1045, 283, 5266, - 162, -1000, -1000, -1000, 142, 282, -1000, -1000, 6849, 6718, - -1000, -1000, 134, 133, -1000, -1000, 292, -1000, -1000, -1000, - -1000, 130, 5222, -1000, -1000, -1000, -1000, 5174, -1000, 2177, - -1000, 292, -1000, -1000, 697, 892, 638, -1000, 617, 882, - 636, -1000, 880, 8188, -1000, 5715, -1000, -1000, 507, 515, - 861, 302, 8188, -1000, -1000, -1000, -1000, 746, 541, 8188, - 8188, 8188, 8188, 8188, 281, -1000, -1000, 4797, -1000, -1000, - -1000, -1000, 408, 407, -1000, 5126, -38, 300, -1000, 5759, - 6194, 219, 5845, 5971, 5078, 7766, 396, 448, 391, 391, - -8, -40, 768, 299, 767, 733, -1000, 507, 510, 861, - 442, 608, -1000, 1113, -1000, 719, -41, 392, 392, 507, - -1000, -1000, -1000, 129, -1000, -1000, -1000, -1000, -1000, 7766, - -1000, -1000, 190, 180, 292, 7766, 7766, 139, 5032, -1000, - -30, 276, -1000, -1000, 1113, 448, 7766, -1000, 507, -1000, - -1000, -1000, 7766, -1000, -1000, -1000, -1000, -1000, -1000, 4984, - 448, 5759, 448, -1000, -1000, -1000, 292, 292, -1000, -1000, - 292, 292, -1000, -1000, -1000, -1000, -1000, 873, -1000, -1000, - 871, -1000, -1000, 8188, 8188, 8188, 8188, 8188, 8188, 8188, - 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, - 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8188, 8113, - 861, 507, 8188, 127, 21, 4940, 596, 800, -63, -63, - -46, -46, 2005, 395, -1000, 4273, -1000, -1000, -1000, 290, - 7766, 7766, 464, -1000, 897, -1000, -1000, 8188, 767, -1000, - 6098, -1000, -1000, 663, -1000, 448, 298, 663, 4666, 865, - 8188, 763, 297, 767, 274, 20, -1000, 72, -1000, -1000, - -1000, 440, 608, 861, 507, -1000, 19, -1000, -1000, 7766, - -1000, -36, -1000, 188, -1000, 1961, 666, 7766, 7766, -1000, - 106, 1728, -1000, -1000, 6456, -1000, -1000, 5759, 668, -1000, - 6587, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1870, - -46, -46, -63, -63, -63, -63, -19, 1772, 51, 1, - 1, -46, 5888, 6014, 5802, 119, 6116, 967, 967, 967, - 967, 137, 137, 137, 137, 8188, 1677, 507, 266, -1000, - -1000, 8188, 8188, -1000, -1000, -1000, -1000, 501, -1000, 3880, - 394, 393, 5759, -1000, 7766, 296, 461, 389, 886, -1000, - 265, 7766, 264, 391, -1000, 392, 236, -1000, -1000, -1000, - -45, -1000, -1000, -1000, -1000, 235, 758, 767, 495, -1000, - 19, 507, 1942, 608, 292, 5971, -1000, -1000, 138, 666, - 7766, -1000, 65, 422, -1000, 101, 98, -1000, -1000, -1000, - -1000, 65, 5759, 448, -1000, 6057, 8188, -1000, 1574, 5715, - -1000, 290, 4928, 493, 388, -1000, -1000, 1529, -1000, -1000, - -1000, -1000, -1000, 386, 758, 6098, 4535, -1000, -42, 4535, - 3749, 8188, 439, 608, 435, 433, 291, -1000, 824, -1000, - 1862, -1000, -1000, -1000, -43, -1000, 774, 798, -1000, 858, - 608, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 7766, 666, -1000, 93, -1000, -1000, -1000, -1000, -1000, -1000, - 6057, 8188, -1000, -1000, 482, 290, 347, -1000, 7766, -1000, - -1000, -1000, 432, -1000, -1000, -1000, -1000, -1000, 384, -1000, - -1000, -1000, -1000, -1000, 240, -62, -1000, 822, -1000, 852, - 72, -1000, -64, -54, -1000, 75, 666, -1000, -1000, 5715, - 4928, 382, 346, -1000, 234, -1000, 4273, -1000, 3618, -1000, - 3487, 819, 3356, 3225, -48, -1000, 817, 8188, -50, -66, - -67, 849, 8188, -1000, 608, -1000, 702, -1000, -1000, -1000, - -1000, -1000, 4273, -1000, 4273, 3094, 380, -1000, 220, -1000, - -1000, -1000, 186, -1000, -1000, -1000, 814, 8188, 8188, -1000, - -1000, -1000, 418, 702, -1000, 379, 319, 754, 784, 505, - -1000, -1000, 4404, -1000, -1000, -1000, -1000, 813, -72, -1000, - -1000, 269, -1000, -1000, -1000, -1000, 608, 798, 840, 4273, - -1000, -1000, -1000, 428, -1000, 8188, 767, -35, -1000, 838, - -1000, -1000, 2963, -1000, -1000, 187, 608, -1000, 270, 2832, - 359, -1000, -1000, -1000, -1000, -1000, -1000, 766, 2701, -1000, - 766, -1000, 185, -1000, -1000, 608, -1000, 807, -34, -1000, - 426, -1000, 2570, -1000, + -1000, -1000, 2543, -1000, -1000, -1000, -1000, 373, 616, 701, + 149, -1000, 387, -1000, -1000, 969, -1000, 265, -1000, -1000, + 370, 265, 7646, 7515, 7384, 438, 171, 850, 7777, -1000, + 5775, 367, 358, -1000, -1000, 463, 7777, 965, 47, 964, + 963, 7777, -1000, -1000, -1000, -1000, 746, -1000, 741, -1000, + 1236, 356, 7777, 497, 536, 536, 7777, 7777, 7777, 7777, + -1000, -1000, 8063, -1000, 7777, 7777, 7777, 7777, 7777, 7777, + 7777, 352, -1000, -1000, 201, 198, 815, 7777, 727, 598, + 341, 339, 7777, 7777, 331, 7777, 7777, -1000, 197, -1000, + -1000, 797, 765, -1000, 195, 329, 6991, -1000, 190, 186, + -1000, 272, 930, 687, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 152, 156, -1000, 685, 270, -1000, 462, + -1000, 252, 392, -1000, 930, -1000, 138, 621, 619, -1000, + 659, 930, -1000, 960, -1000, -29, 4246, 381, 8063, 265, + 5032, 7777, -1000, -1000, 5728, -1000, 47, 776, 622, -1000, + 5681, -1000, 432, 1570, 5863, -1000, 104, -1000, -1000, 361, + 56, 47, -32, 36, 5863, -1000, -1000, -1000, -1000, -1000, + 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, + 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, + 7777, 598, 310, 536, 7777, 324, -1000, 5634, 430, 958, + -1000, 737, -1000, -1000, 1236, 5587, -1000, -1000, 7253, 7777, + 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, + 7777, 672, -1000, -1000, -1000, -1000, -1000, 272, 605, 930, + 684, 678, -1000, -1000, -116, -116, -36, -116, 251, 5543, + 248, -116, -116, -116, -116, -116, -116, -116, -1000, 7122, + -1000, 7777, 7777, 7777, 478, 768, 779, -1000, 262, 7932, + 536, 6075, 172, 270, 664, -1000, 542, 599, 930, 722, + 152, 156, 651, 7777, 7777, 5863, 5863, 7777, 5863, 5863, + 7777, 657, 768, 743, -1000, 713, 7777, 6991, 167, 23, + 5499, 536, 7777, 7777, 953, -1000, 6288, 272, 264, 7777, + 7777, 152, 462, 175, -1000, 7777, 426, -1000, -1000, 2412, + 272, -1000, 655, 18, -1000, 642, 930, 3, -1000, 638, + 930, 952, 637, -35, 8223, -1000, -1000, -1000, -1000, -1000, + 319, 5032, -1000, -1000, 813, 424, 17, 5863, 344, -1000, + -1000, -1000, -1000, -1000, -1000, 171, -1000, 7777, -1000, -1000, + 886, -1000, 8223, -1000, 7777, 7777, 7777, 7777, 7777, 6034, + 6827, 6285, 7120, -31, -31, -31, -36, -116, -36, -36, + 99, 99, 261, 261, 261, 261, 428, 428, 428, 428, + -1000, 7777, -1000, 32, -1000, -1000, 865, 792, 949, 4115, + -1000, -1000, -1000, 318, -1000, 689, 732, 7777, 6075, 357, + 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, + 6075, 6075, 2, -1000, -1000, 315, 930, 272, 172, 172, + -1000, -1000, -1000, -1000, -116, 163, 5863, 160, -1000, -1000, + -1000, -1000, 896, 948, 5418, 185, 442, -1000, 193, -1000, + -1000, 152, 156, -1000, 7777, -1000, -1000, 153, 930, 542, + 172, 152, 153, -5, -1000, 1236, -1000, 959, 246, 5370, + 159, -1000, -1000, -1000, 157, 239, -1000, -1000, 6841, 6710, + -1000, -1000, 155, 146, -1000, -1000, -18, 238, -1000, -1000, + 1236, 536, 7777, -1000, 270, 270, -1000, -1000, 134, 5326, + 270, 270, -1000, 5278, -1000, 2267, -1000, -1000, -1000, -1000, + 621, 942, 601, -1000, 619, 939, 594, -1000, 937, 8223, + -1000, 5819, -1000, -1000, 542, 597, 930, 314, 8223, -1000, + -1000, -1000, -1000, 749, 634, 8223, 8223, 8223, 8223, 8223, + 232, -1000, -1000, 4901, -1000, -1000, -1000, -1000, 423, 421, + -1000, 5230, -44, 311, -1000, 5863, 6157, 6405, 5949, 6075, + 5182, 7777, 420, 536, 374, 374, -33, -57, 769, 278, + 612, 730, -1000, 542, 596, 930, 461, 689, -1000, 1236, + -1000, 598, -59, 672, 672, 272, -1000, -1000, -1000, 112, + -1000, -1000, -1000, -1000, -1000, 7777, -1000, -1000, 178, 173, + 270, 7777, 7777, 152, 5136, -1000, 542, -1000, -1000, -1000, + 7777, -1000, -1000, -1000, -1000, -1000, -1000, 5088, 536, 5863, + 536, -1000, -1000, -1000, 6419, -1000, -1000, 5863, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 936, -1000, + -1000, 934, -1000, -1000, 8223, 8223, 8223, 8223, 8223, 8223, + 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, + 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, + 8148, 930, 542, 8223, 111, -12, 5044, 641, 805, -67, + -67, -3, -3, 2079, 418, -1000, 4377, -1000, -1000, -1000, + 265, 7777, 7777, 483, -1000, 870, -1000, -1000, 8223, 612, + -1000, 6116, -1000, -1000, 709, -1000, 536, 276, 709, 4770, + 932, 8223, 770, 271, 612, 228, -19, -1000, 47, -1000, + -1000, -1000, 460, 689, 930, 542, -1000, -24, -1000, -1000, + 7777, -1000, -46, -1000, 177, -1000, 1994, 715, 7777, 7777, + -1000, 100, 1350, -1000, 716, -1000, 6579, -1000, -1000, -1000, + -1000, -1000, 1866, -3, -3, -67, -67, -67, -67, 6448, + 249, 7768, 321, 321, -3, 5992, 1195, 5906, 44, 1935, + -16, -16, -16, -16, -68, -68, -68, -68, 8223, 1663, + 542, 224, -1000, -1000, 8223, 8223, -1000, -1000, -1000, -1000, + 527, -1000, 3984, 416, 412, 5863, -1000, 7777, 309, 467, + 411, 864, -1000, 220, 7777, 212, 374, -1000, 672, 211, + -1000, -1000, -1000, -60, -1000, -1000, -1000, -1000, 210, 756, + 612, 516, -1000, -24, 542, 1087, 689, 270, 6075, -1000, + -1000, 154, 715, 7777, -1000, 172, 440, -1000, 89, 88, + -1000, -1000, -1000, 172, 5863, 536, -1000, 1807, 8223, -1000, + 1095, 5819, -1000, 265, 5032, 511, 404, -1000, -1000, 91, + -1000, -1000, -1000, -1000, -1000, 403, 756, 6116, 4639, -1000, + -49, 4639, 3853, 8223, 458, 689, 454, 452, 269, -1000, + 881, -1000, 988, -1000, -1000, -1000, -47, -1000, 776, 647, + -1000, 928, 689, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 7777, 715, -1000, 67, -1000, -1000, -1000, -1000, + -1000, -1000, 1807, 8223, -1000, -1000, 183, 265, 221, -1000, + 7777, -1000, -1000, -1000, 451, -1000, -1000, -1000, -1000, -1000, + 402, -1000, -1000, -1000, -1000, -1000, 219, -64, -1000, 877, + -1000, 895, 47, -1000, -65, -54, -1000, 64, 715, -1000, + -1000, 5819, 5032, 401, 174, -1000, 209, -1000, 4377, -1000, + 3722, -1000, 3591, 869, 3460, 3329, -51, -1000, 853, 8223, + -52, -66, -70, 889, 8223, -1000, 689, -1000, 699, -1000, + -1000, -1000, -1000, -1000, 4377, -1000, 4377, 3198, 400, -1000, + 203, -1000, -1000, -1000, 204, -1000, -1000, -1000, 848, 8223, + 8223, -1000, -1000, -1000, 429, 699, -1000, 399, 391, 750, + 787, 628, -1000, -1000, 4508, -1000, -1000, -1000, -1000, 841, + -76, -1000, -1000, 258, -1000, -1000, -1000, -1000, 689, 647, + 872, 4377, -1000, -1000, -1000, 450, -1000, 8223, 612, -27, + -1000, 866, -1000, -1000, 3067, -1000, -1000, 176, 689, -1000, + 386, 2936, 385, -1000, -1000, -1000, -1000, -1000, -1000, 766, + 2805, -1000, 766, -1000, 257, -1000, -1000, 689, -1000, 836, + 158, -1000, 445, -1000, 2674, -1000, } var yyPgo = [...]int{ - 0, 1294, 52, 46, 40, 102, 1293, 1289, 34, 508, - 1212, 42, 1273, 59, 63, 20, 786, 1374, 1288, 37, - 1287, 1286, 1285, 12, 1283, 49, 86, 1282, 1281, 1280, - 1279, 83, 1278, 1277, 61, 1276, 36, 47, 24, 1275, - 709, 41, 53, 0, 1274, 1272, 1271, 6, 1270, 1269, - 599, 1266, 1265, 58, 29, 161, 26, 28, 1264, 1263, - 1262, 14, 518, 1247, 54, 45, 1246, 17, 1218, 1217, - 1216, 1215, 1214, 1213, 1211, 1210, 1208, 1207, 1206, 1205, - 1203, 5, 1202, 1201, 1200, 1199, 1198, 1197, 44, 1195, - 1194, 30, 18, 1180, 1179, 1178, 1177, 1176, 1175, 13, - 1174, 1173, 1172, 1170, 1141, 1137, 1, 1123, 1120, 43, - 1118, 1117, 16, 1116, 22, 1115, 4, 1114, 1113, 1112, - 1111, 23, 1110, 1102, 1099, 51, 33, 19, 1094, 1093, - 1091, 1090, 1089, 27, 1088, 1087, 31, 1086, 1083, 1082, - 1080, 1073, 1071, 1069, 1068, 1067, 1064, 1061, 1055, 1053, - 2, 1051, 1049, 1048, 1046, 1045, 1044, 7, 1043, 1042, - 1038, 11, 8, 1034, 1033, 1026, 1024, 1023, 1022, 1020, - 1019, 1016, 1015, 1013, 1011, 1009, 1002, 997, 996, 993, - 992, 991, 989, 21, 987, 984, 982, 980, 978, 976, - 972, 971, 967, 966, 585, 32, 965, 961, 38, 3, - 959, 956, 947, 946, 934, 903, + 0, 1239, 45, 37, 35, 632, 1237, 1236, 25, 275, + 1149, 14, 1389, 85, 63, 16, 823, 1646, 1234, 40, + 1233, 1232, 1231, 18, 1230, 43, 24, 1228, 1227, 1226, + 1221, 82, 1219, 1218, 32, 1217, 33, 38, 166, 1216, + 808, 44, 1215, 52, 0, 1214, 1213, 1211, 30, 1210, + 1209, 668, 1208, 1206, 53, 23, 41, 28, 20, 1203, + 1202, 1201, 19, 267, 1200, 47, 39, 1199, 46, 1198, + 1197, 1196, 1195, 1194, 1192, 1191, 1181, 1180, 1178, 1177, + 1176, 1175, 26, 1174, 1172, 1171, 1170, 1169, 1168, 49, + 1167, 1166, 29, 7, 1165, 1164, 1163, 1157, 1156, 1155, + 154, 1154, 1148, 1147, 1146, 1145, 1144, 1, 1143, 1141, + 34, 1140, 1137, 8, 1136, 87, 1135, 2, 1133, 1132, + 1130, 1128, 13, 1127, 1126, 1124, 22, 36, 11, 1120, + 1119, 1118, 1117, 1116, 17, 1115, 1113, 48, 1112, 1110, + 1093, 1092, 1084, 1082, 1081, 1080, 1078, 1077, 1076, 1075, + 1073, 3, 1071, 1070, 1069, 1068, 1067, 1063, 5, 1061, + 1060, 1059, 6, 12, 1057, 1056, 1053, 1049, 1048, 1047, + 1046, 1045, 1041, 1033, 1030, 1027, 1024, 1022, 1021, 1018, + 1017, 1016, 998, 997, 15, 995, 994, 1238, 31, 993, + 988, 27, 4, 987, 986, 983, 982, 981, } var yyR1 = [...]int{ - 0, 63, 42, 42, 43, 43, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 44, 44, 2, - 2, 2, 2, 45, 45, 3, 3, 3, 3, 46, - 46, 4, 4, 4, 4, 66, 66, 47, 47, 22, - 22, 22, 22, 23, 23, 24, 68, 69, 24, 72, - 73, 24, 76, 77, 24, 79, 80, 24, 82, 83, - 84, 24, 86, 24, 24, 24, 24, 24, 24, 24, + 0, 64, 43, 43, 44, 44, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 45, 45, 2, + 2, 2, 2, 46, 46, 3, 3, 3, 3, 47, + 47, 4, 4, 4, 4, 67, 67, 48, 48, 22, + 22, 22, 22, 23, 23, 24, 69, 70, 24, 73, + 74, 24, 77, 78, 24, 80, 81, 24, 83, 84, + 85, 24, 87, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 93, 24, 24, 24, 24, 24, 96, 98, 100, 101, - 102, 96, 97, 104, 97, 103, 103, 105, 105, 107, - 108, 106, 90, 90, 109, 64, 65, 112, 112, 113, - 113, 115, 110, 119, 111, 123, 111, 117, 117, 117, - 117, 118, 118, 122, 124, 124, 120, 120, 125, 125, - 91, 91, 56, 56, 56, 85, 85, 92, 92, 95, - 95, 94, 94, 87, 87, 87, 87, 126, 128, 126, - 129, 126, 127, 127, 78, 78, 70, 130, 70, 74, - 131, 74, 71, 71, 75, 75, 116, 116, 132, 132, - 133, 133, 134, 134, 134, 134, 62, 62, 62, 135, - 135, 136, 136, 136, 136, 48, 48, 25, 25, 25, - 49, 49, 49, 49, 121, 121, 139, 137, 137, 137, - 144, 137, 142, 146, 146, 147, 147, 148, 148, 149, - 149, 150, 150, 151, 154, 154, 155, 155, 153, 152, - 152, 156, 156, 145, 145, 138, 138, 143, 143, 158, - 158, 157, 157, 157, 157, 157, 157, 140, 140, 140, - 140, 141, 141, 89, 89, 81, 81, 160, 159, 159, - 161, 161, 163, 163, 165, 164, 164, 164, 166, 167, - 166, 40, 13, 13, 13, 168, 13, 13, 13, 13, + 94, 24, 24, 24, 24, 24, 97, 99, 101, 102, + 103, 97, 98, 105, 98, 104, 104, 106, 106, 108, + 109, 107, 91, 91, 110, 65, 66, 113, 113, 114, + 114, 116, 111, 120, 112, 124, 112, 118, 118, 118, + 118, 119, 119, 123, 125, 125, 121, 121, 126, 126, + 92, 92, 57, 57, 57, 86, 86, 93, 93, 96, + 96, 95, 95, 88, 88, 88, 88, 127, 129, 127, + 130, 127, 128, 128, 79, 79, 71, 131, 71, 75, + 132, 75, 72, 72, 76, 76, 117, 117, 133, 133, + 134, 134, 135, 135, 135, 135, 63, 63, 63, 136, + 136, 137, 137, 137, 137, 49, 49, 25, 25, 25, + 50, 50, 50, 50, 122, 122, 140, 138, 138, 138, + 145, 138, 143, 147, 147, 148, 148, 149, 149, 150, + 150, 151, 151, 152, 155, 155, 156, 156, 154, 153, + 153, 157, 157, 146, 146, 139, 139, 144, 144, 159, + 159, 158, 158, 158, 158, 158, 158, 141, 141, 141, + 141, 142, 142, 90, 90, 82, 82, 161, 160, 160, + 162, 162, 164, 164, 166, 165, 165, 165, 167, 168, + 167, 40, 13, 13, 13, 169, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 169, 13, 170, 13, 171, 13, - 172, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 170, 13, 171, 13, 172, 13, + 173, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 173, 13, 174, 175, 13, 176, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 178, 13, 13, 13, - 13, 13, 13, 13, 182, 13, 184, 13, 88, 88, - 88, 88, 179, 179, 179, 179, 180, 180, 114, 183, - 183, 185, 185, 185, 185, 186, 21, 187, 21, 188, - 21, 189, 21, 190, 21, 191, 21, 192, 21, 193, - 21, 9, 9, 9, 9, 99, 99, 99, 41, 41, - 39, 39, 59, 59, 60, 177, 177, 177, 181, 181, - 181, 61, 61, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 26, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 33, 33, 33, 33, 27, 27, 27, 27, 27, 27, - 27, 195, 195, 198, 198, 197, 197, 197, 197, 12, - 12, 67, 67, 14, 15, 16, 17, 17, 200, 200, - 201, 162, 202, 202, 204, 203, 199, 199, 199, 38, - 38, 205, 205, 10, 20, 20, 18, 18, 18, 19, - 19, 19, 8, 8, 8, 7, 7, 11, 11, 57, - 57, 58, 58, 58, 37, 37, 55, 55, 54, 54, - 36, 36, 36, 53, 53, 52, 52, 52, 52, 52, - 52, 52, 52, 50, 50, 50, 50, 31, 31, 31, - 31, 31, 31, 32, 32, 32, 35, 35, 35, 35, - 35, 35, 35, 35, 51, 51, 34, 34, 28, 28, - 29, 30, + 174, 13, 175, 176, 13, 177, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 179, 13, 13, 13, + 13, 13, 13, 13, 183, 13, 185, 13, 89, 89, + 89, 89, 180, 180, 180, 180, 181, 181, 115, 184, + 184, 186, 186, 186, 186, 21, 21, 21, 21, 21, + 21, 21, 21, 9, 9, 9, 9, 100, 100, 100, + 41, 41, 39, 39, 60, 60, 61, 178, 178, 178, + 182, 182, 182, 62, 62, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 6, 26, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, + 189, 189, 33, 33, 33, 33, 27, 27, 27, 27, + 27, 27, 27, 188, 188, 191, 191, 190, 190, 190, + 190, 12, 12, 68, 68, 14, 15, 16, 17, 17, + 193, 193, 194, 163, 195, 195, 197, 196, 192, 192, + 192, 38, 38, 42, 42, 10, 20, 20, 18, 18, + 18, 19, 19, 19, 8, 8, 8, 7, 7, 11, + 11, 58, 58, 59, 59, 59, 37, 37, 56, 56, + 55, 55, 36, 36, 36, 54, 54, 53, 53, 53, + 53, 53, 53, 53, 53, 51, 51, 51, 51, 31, + 31, 31, 31, 31, 31, 32, 32, 32, 35, 35, + 35, 35, 35, 35, 35, 35, 52, 52, 34, 34, + 28, 28, 29, 30, } var yyR2 = [...]int{ @@ -1668,250 +1650,247 @@ var yyR2 = [...]int{ 2, 2, 2, 2, 2, 2, 0, 3, 1, 1, 1, 3, 2, 1, 0, 10, 0, 11, 2, 2, 4, 4, 4, 4, 4, 4, 4, 3, 1, 0, - 4, 3, 4, 1, 2, 0, 3, 0, 5, 0, - 4, 0, 5, 0, 5, 0, 5, 0, 5, 0, - 3, 1, 1, 3, 2, 1, 3, 2, 1, 1, - 4, 1, 2, 0, 2, 0, 2, 1, 0, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 3, 1, 1, 1, 1, - 3, 2, 4, 3, 1, 1, 1, 4, 3, 3, - 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, + 4, 3, 4, 1, 2, 2, 4, 3, 4, 4, + 4, 4, 2, 1, 1, 3, 2, 1, 3, 2, + 1, 1, 4, 1, 2, 0, 2, 0, 2, 1, + 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 2, 3, 1, 1, + 1, 1, 3, 2, 4, 3, 1, 1, 1, 4, + 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 4, 5, 2, 2, 3, - 1, 1, 3, 2, 1, 1, 1, 1, 3, 3, - 1, 0, 2, 0, 1, 5, 3, 3, 1, 1, - 1, 3, 3, 1, 1, 1, 5, 1, 2, 0, - 0, 4, 4, 4, 0, 2, 1, 1, 0, 1, - 2, 3, 3, 1, 4, 4, 1, 1, 1, 1, - 2, 1, 4, 4, 1, 1, 4, 0, 1, 1, - 1, 4, 4, 1, 1, 3, 1, 2, 3, 1, - 1, 4, 0, 0, 2, 5, 3, 3, 1, 6, - 4, 4, 2, 2, 2, 1, 2, 1, 4, 3, - 3, 6, 3, 1, 1, 1, 4, 4, 4, 2, - 2, 4, 2, 2, 1, 3, 1, 1, 3, 3, - 3, 3, + 3, 3, 3, 3, 3, 3, 3, 4, 5, 2, + 2, 3, 1, 1, 3, 2, 1, 1, 1, 1, + 3, 3, 1, 0, 2, 0, 1, 5, 3, 3, + 1, 1, 1, 3, 3, 1, 1, 1, 5, 1, + 2, 0, 0, 4, 4, 4, 0, 2, 1, 1, + 0, 1, 2, 3, 3, 1, 4, 4, 1, 1, + 1, 1, 2, 1, 4, 4, 1, 1, 4, 0, + 1, 1, 1, 4, 4, 1, 1, 3, 1, 2, + 3, 1, 1, 4, 0, 0, 2, 5, 3, 3, + 1, 6, 4, 4, 2, 2, 2, 1, 2, 1, + 4, 3, 3, 6, 3, 1, 1, 1, 4, 4, + 4, 2, 2, 4, 2, 2, 1, 3, 1, 1, + 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -63, -42, -1, -23, -64, -65, 51, 79, 44, - -66, -24, 10, -110, -111, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -88, 46, 98, 19, 14, - -12, 48, 25, 27, 121, 40, 43, 36, -114, -117, - -122, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -1000, -64, -43, -1, -23, -65, -66, 51, 79, 44, + -67, -24, 10, -111, -112, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -89, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -115, -118, + -123, 97, -14, -13, 37, 52, 99, 53, 100, 54, -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, - -67, -40, 123, -35, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -27, -179, -180, 118, 96, -18, 91, + -68, -40, 123, -35, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -27, -180, -181, 118, 96, -18, 91, 49, 50, 4, 5, 84, 85, 86, 11, -33, -30, -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, - -28, -43, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -55, -205, -10, -38, -7, 134, - 12, 123, -43, 119, 82, 10, -44, 37, 38, -2, - -43, 82, 121, 135, 122, 10, -47, -67, 123, -76, - -79, 123, -67, 121, -12, 97, -114, 98, 79, 121, - -12, 121, -13, -17, -12, 121, -48, -25, 12, 134, - -49, -114, 12, -89, -12, 121, 149, 150, 87, 89, + -28, -44, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -56, -42, -10, -38, -7, 134, + 12, 123, -44, 119, 82, 10, -45, 37, 38, -2, + -44, 82, 121, 135, 122, 10, -48, -68, 123, -77, + -80, 123, -68, 121, -12, 97, -115, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -49, -25, 12, 134, + -50, -115, 12, -90, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -93, 119, -12, 10, -112, + 160, 90, 127, 123, 123, -94, 119, -12, 10, -113, 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -12, 104, 105, -16, -17, -43, 79, 82, + 147, 123, -12, 104, 105, -16, -17, -44, 79, 82, -9, -10, 98, -16, -12, -12, -12, -12, -40, -12, - -88, -12, -12, -12, -12, -12, -12, -12, -177, 123, - -67, -178, 125, 125, -181, 17, -50, -31, 12, 76, - 77, -12, 57, -41, -9, -39, -43, 79, 82, -19, - -8, -55, -10, 123, 123, -12, -12, 123, -12, -12, - 125, -50, 17, 17, 75, -50, 125, 123, -53, -52, - -12, 128, 125, 125, 82, -186, -43, 78, 125, 119, - -8, 134, 78, -193, 119, 124, 121, 119, -42, -43, - 121, 135, -45, -3, -43, 82, -46, -4, -43, 82, - 29, -43, 10, 136, -22, 120, -23, -64, -65, 51, - -68, 122, -67, -23, -81, -159, -12, -86, 121, -112, - 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, - -112, 136, 121, 135, -169, -170, -171, -172, -12, -12, + -89, -12, -12, -12, -12, -12, -12, -12, -178, 123, + -68, -179, 125, 125, -182, 17, -51, -31, 12, 76, + 77, -12, 57, -41, -9, -39, -44, 79, 82, -19, + -8, -56, -10, 123, 123, -12, -12, 123, -12, -12, + 125, -51, 17, 17, 75, -51, 125, 123, -54, -53, + -12, 128, 125, 125, 82, -63, 123, -44, 78, 125, + 119, -8, 134, 78, -63, 119, 124, 121, 119, -43, + -44, 121, 135, -46, -3, -44, 82, -47, -4, -44, + 82, 29, -44, 10, 136, -22, 120, -23, -65, -66, + 51, -69, 122, -68, -23, -82, -160, -12, -87, 121, + -113, 121, 121, 121, 121, 135, -14, 119, -17, 121, + 135, -113, 136, 121, 135, -170, -171, -172, -173, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -41, - -174, 122, -90, -109, -17, -17, -13, 123, -47, 121, - 121, 10, -182, -118, 55, -123, 58, -12, 128, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -54, -36, -17, 59, 82, -43, 78, 78, 124, - 124, 124, 124, -12, -11, -12, -11, 118, -31, -31, - 17, 125, 57, -12, 11, -17, -57, -58, -38, -37, - -8, -55, 10, 119, -61, -62, 123, 78, 82, -43, - 57, -8, 78, -51, -34, -17, -13, -17, -13, -12, - -11, 117, 75, 75, -11, -53, 126, -198, 135, 58, - -15, -17, -11, -11, 10, -62, -188, -37, -38, 10, - 52, -11, -12, -37, -38, 10, -62, -12, 121, -42, - 120, -187, -2, 121, 135, 29, -43, 121, 135, 29, - -43, 10, 29, 136, -26, -194, -5, -29, -43, 79, - 82, 60, 125, -6, 62, -196, 18, 74, -9, 131, - 132, 130, 129, 123, 123, -23, -72, -77, 21, 121, - 135, -87, 119, 122, -25, -12, 12, -184, -26, -12, - -12, -12, -12, -12, -12, -176, 124, 135, 29, 29, - -94, 10, 120, -115, 123, -119, -99, -43, 79, 82, - -124, 55, -13, -17, -17, 91, 124, 135, 123, -43, - -173, 126, 126, -32, 10, 13, 12, 10, 120, 125, - 120, -199, -203, -202, -204, 125, 119, -8, -12, 124, - -135, -88, -136, -13, -17, 128, 83, -38, -43, -57, - -38, 124, 135, 124, 124, 124, 126, 126, 124, -12, - 128, -12, 128, 126, 126, -62, -189, -190, 126, 120, - -191, -192, 120, 120, -62, -3, 10, 29, -4, 10, - 29, 10, -26, 125, 130, 129, 164, 167, 165, 166, - 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, - 149, 155, 156, 153, 154, 157, 159, 158, 160, 127, - 82, -43, 123, -195, -197, -194, 17, 78, -194, -194, - -194, -194, -194, 124, -69, -47, -78, -23, 122, -80, - -82, -160, -126, 121, -126, 121, 120, 136, 123, 122, - -12, 121, -109, -56, -17, 128, 59, -56, 124, 135, - 136, -96, 41, 123, -116, -132, -133, -134, 60, 61, - -99, -120, 56, 82, -43, 119, -125, -99, -41, 136, - -36, -54, -166, -167, 126, -12, -200, 125, 125, -62, - -11, -12, 120, 124, 135, 124, -15, -12, -59, -34, - 58, -15, -15, -62, -62, -62, -62, 10, 10, -194, - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, 122, -194, -43, -195, 126, - -198, 135, 58, 10, 52, 124, 121, -70, -73, -47, - -67, -81, -12, 120, 32, 33, -126, 31, -126, -26, - -116, -175, -91, 58, -17, 123, -91, -95, -23, 122, - 10, -26, -97, 42, 123, -116, 124, 135, -112, 119, - -125, -43, -121, 135, -168, -12, 124, -164, -163, -161, - 125, -162, 57, 126, -162, -11, -11, 126, 120, -136, - -60, 57, -12, 128, 126, -194, 122, 124, -194, -194, - -71, 93, 94, -74, 22, 121, 121, -12, -127, 122, - 121, 120, 121, 31, 124, -12, 124, -56, -54, 124, - -47, 136, -104, -98, 124, -183, 44, -133, -113, 83, - -121, 120, -137, -138, -141, -142, -143, -158, 47, 38, - 44, -157, 103, 102, 101, 98, 99, 100, -99, -61, - 125, -165, -162, -11, -57, 120, 126, 126, -57, -15, - -194, 58, -67, -23, -75, 93, 94, 121, -83, -127, - -129, 121, -183, -92, -23, 122, 124, -92, 28, -26, - 119, -99, 119, 119, 123, 12, 120, -139, 121, 135, - -114, -157, 10, -146, -99, -11, -161, 126, -201, -194, - -130, 95, -67, 122, -81, -128, -47, 119, -47, 121, - -47, -100, -47, -47, -185, 12, 128, 136, -140, 12, - 10, -112, 136, -147, 135, 121, 119, 126, -199, -23, - 121, 122, -47, 124, -47, -47, 26, 120, 12, 120, - 120, 124, 135, 12, -26, 121, 135, 136, 136, 10, - -26, -99, -148, -149, -150, -151, -152, -153, -155, -99, - 10, -131, -84, 120, 121, 124, 12, 128, 12, -26, - -26, -144, 120, -150, 121, 121, 45, 29, 78, -47, - -85, -23, 122, -101, 12, 136, 123, -154, -99, -156, - -157, 10, -47, 119, -26, -116, 135, 10, 24, -47, - 124, -99, 121, 120, -145, 121, 119, -102, -47, -103, - -105, -106, 41, 120, -106, 123, -99, -107, 12, 124, - -108, 119, -47, 120, + -41, -175, 122, -91, -110, -17, -17, -13, 123, -48, + 121, 121, 10, -183, -119, 55, -124, 58, -12, 128, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, + -12, -12, -55, -36, -17, 59, 82, -44, 78, 78, + 124, 124, 124, 124, -12, -11, -12, -11, 118, -31, + -31, 17, 125, 57, -12, 11, -17, -58, -59, -38, + -37, -8, -56, 10, 119, -62, -63, 78, 82, -44, + 57, -8, 78, -52, -34, -17, -13, -17, -13, -12, + -11, 117, 75, 75, -11, -54, 126, -191, 135, 58, + -15, -17, -11, -11, 10, 124, -136, -89, -137, -13, + -17, 128, 83, -63, -37, -38, 10, 52, -11, -12, + -37, -38, 10, -12, 121, -43, 120, -63, -2, 121, + 135, 29, -44, 121, 135, 29, -44, 10, 29, 136, + -26, -187, -5, -29, -44, 79, 82, 60, 125, -6, + 62, -189, 18, 74, -9, 131, 132, 130, 129, 123, + 123, -23, -73, -78, 21, 121, 135, -88, 119, 122, + -25, -12, 12, -185, -26, -12, -12, -12, -12, -12, + -12, -177, 124, 135, 29, 29, -95, 10, 120, -116, + 123, -120, -100, -44, 79, 82, -125, 55, -13, -17, + -17, 91, 124, 135, 123, -44, -174, 126, 126, -32, + 10, 13, 12, 10, 120, 125, 120, -192, -196, -195, + -197, 125, 119, -8, -12, -38, -44, -58, -38, 124, + 135, 124, 124, 124, 126, 126, 124, -12, 128, -12, + 128, 126, 126, 124, 135, 124, -15, -12, -63, -63, + 126, 120, -63, -63, 120, 120, -3, 10, 29, -4, + 10, 29, 10, -26, 125, 130, 129, 164, 167, 165, + 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, + 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, + 127, 82, -44, 123, -188, -190, -187, 17, 78, -187, + -187, -187, -187, -187, 124, -70, -48, -79, -23, 122, + -81, -83, -161, -127, 121, -127, 121, 120, 136, 123, + 122, -12, 121, -110, -57, -17, 128, 59, -57, 124, + 135, 136, -97, 41, 123, -117, -133, -134, -135, 60, + 61, -100, -121, 56, 82, -44, 119, -126, -100, -41, + 136, -36, -55, -167, -168, 126, -12, -193, 125, 125, + -63, -11, -12, 120, -60, -34, 58, -15, -15, -137, + 10, 10, -187, -187, -187, -187, -187, -187, -187, -187, + -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, + -187, -187, -187, -187, -187, -187, -187, -187, 122, -187, + -44, -188, 126, -191, 135, 58, 10, 52, 124, 121, + -71, -74, -48, -68, -82, -12, 120, 32, 33, -127, + 31, -127, -26, -117, -176, -92, 58, -17, 123, -92, + -96, -23, 122, 10, -26, -98, 42, 123, -117, 124, + 135, -113, 119, -126, -44, -122, 135, -169, -12, 124, + -165, -164, -162, 125, -163, 57, 126, -163, -11, -11, + 126, 120, -61, 57, -12, 128, 126, -187, 122, 124, + -187, -187, -72, 93, 94, -75, 22, 121, 121, -12, + -128, 122, 121, 120, 121, 31, 124, -12, 124, -57, + -55, 124, -48, 136, -105, -99, 124, -184, 44, -134, + -114, 83, -122, 120, -138, -139, -142, -143, -144, -159, + 47, 38, 44, -158, 103, 102, 101, 98, 99, 100, + -100, -62, 125, -166, -163, -11, -58, 120, 126, 126, + -58, -15, -187, 58, -68, -23, -76, 93, 94, 121, + -84, -128, -130, 121, -184, -93, -23, 122, 124, -93, + 28, -26, 119, -100, 119, 119, 123, 12, 120, -140, + 121, 135, -115, -158, 10, -147, -100, -11, -162, 126, + -194, -187, -131, 95, -68, 122, -82, -129, -48, 119, + -48, 121, -48, -101, -48, -48, -186, 12, 128, 136, + -141, 12, 10, -113, 136, -148, 135, 121, 119, 126, + -192, -23, 121, 122, -48, 124, -48, -48, 26, 120, + 12, 120, 120, 124, 135, 12, -26, 121, 135, 136, + 136, 10, -26, -100, -149, -150, -151, -152, -153, -154, + -156, -100, 10, -132, -85, 120, 121, 124, 12, 128, + 12, -26, -26, -145, 120, -151, 121, 121, 45, 29, + 78, -48, -86, -23, 122, -102, 12, 136, 123, -155, + -100, -157, -158, 10, -48, 119, -26, -117, 135, 10, + 24, -48, 124, -100, 121, 120, -146, 121, 119, -103, + -48, -104, -106, -107, 41, 120, -107, 123, -100, -108, + 12, 124, -109, 119, -48, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 105, 106, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 373, 0, 75, 0, 0, 0, 80, 82, 0, 0, 0, 107, 0, - 0, 343, 479, 480, 358, 117, 0, 119, 0, 123, + 0, 343, 471, 472, 358, 117, 0, 119, 0, 123, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 319, 0, 327, 0, 0, 0, 0, 0, 0, - 0, 395, 336, 338, 339, 340, 398, 0, 487, 0, - 0, 0, 0, 0, 0, 0, 0, 464, 465, 466, - 467, 0, 0, 470, 405, 0, 533, 506, 507, 508, - 460, -2, 0, 0, 403, 404, 406, 407, 408, 409, - 410, 411, 412, -2, 0, 511, 0, 379, 514, 526, - 515, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 0, 387, 336, 338, 339, 340, 390, 0, 479, 0, + 0, 0, 0, 0, 0, 0, 0, 456, 457, 458, + 459, 0, 0, 462, 397, 0, 525, 498, 499, 500, + 452, -2, 0, 0, 395, 396, 398, 399, 400, 401, + 402, 403, 404, -2, 0, 503, 0, 0, 506, 518, + 507, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 245, 62, 64, 0, 343, 107, 381, 0, 66, - 0, 68, 480, -2, 0, 71, 0, 186, 187, 0, + 0, 245, 62, 64, 0, 343, 107, 373, 0, 66, + 0, 68, 472, -2, 0, 71, 0, 186, 187, 0, 0, 107, 192, 0, 244, 76, 284, 286, 288, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, 38, 0, 0, 344, 108, 121, 115, -2, -2, 0, 118, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 532, 267, 280, 282, 281, 485, -2, 0, 0, - 0, 0, 381, 283, 305, 306, 307, 308, 319, 0, + 0, 524, 267, 280, 282, 281, 477, 374, 0, 0, + 0, 0, 373, 283, 305, 306, 307, 308, 319, 0, 0, 328, 329, 330, 331, 332, 333, 334, 335, 0, - 397, 0, 517, 517, 0, 399, 400, 545, 547, 0, - 0, 342, 0, 401, 388, 389, 382, 0, 0, 391, - -2, 0, 0, 0, 0, 559, 560, 0, 562, 563, - 517, 0, 0, 0, 414, 0, 517, 533, 0, 473, - 538, 0, 517, 517, 0, 0, -2, 0, 517, 0, - -2, 527, 0, 0, 0, 0, 10, 3, 0, -2, - 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, - 0, 21, 0, 0, 37, 45, 39, 40, 41, 0, - 0, 49, 53, 0, 0, 246, 249, 0, 65, 344, - 67, 69, 70, 72, 0, 188, 0, 483, 73, 0, - 346, 0, 74, 0, 0, 0, 0, 0, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, -2, -2, -2, -2, -2, -2, -2, -2, 317, - 0, 325, 0, 102, 104, -2, 480, 0, 0, 84, - 85, 111, 0, 113, 0, 124, 0, 263, 0, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 0, 529, 530, 0, 0, -2, 0, 0, 320, - 481, 482, 396, 337, 0, 518, 0, 341, 546, 543, - 544, 0, 0, 0, 464, 0, -2, 519, 520, 523, - 499, 0, 524, 0, 261, 402, 0, 0, 0, 384, - 0, 510, 0, 0, 564, -2, -2, -2, 480, 0, - 0, 468, 413, 469, 0, 0, 357, 534, 474, 0, - 542, 484, 0, 0, 5, 366, 0, 371, -2, -2, - 571, 0, 0, 375, -2, -2, 380, 0, 9, 0, - 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, - 33, 20, 0, 0, 36, 416, 417, 418, -2, 0, - 0, 0, 471, 424, 425, 426, 405, 0, 0, 0, - 0, 0, 0, 0, 0, 47, 38, 0, 56, 58, - 247, 63, 147, 147, 185, 0, 190, 0, 193, 243, - 285, 287, 289, 291, 0, 0, 0, 0, 0, 0, - 0, 0, 86, 0, -2, 126, 122, 385, 0, 0, - 0, 0, -2, -2, 264, 0, 0, 532, 532, -2, - -2, 353, 352, 0, 553, 554, 555, 549, 550, 0, - 552, 489, 496, 497, 0, 517, 0, 500, 0, 176, - 0, 0, 179, -2, -2, 0, 0, 501, 383, 393, - 502, 556, 0, 557, 558, 561, 355, 354, 356, 536, - 0, 537, 0, 504, 505, 370, 0, 0, 512, 513, - 0, 0, 516, 11, 368, 23, 26, 0, 29, 32, - 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, + 389, 0, 509, 509, 0, 391, 392, 537, 539, 0, + 0, 342, 0, 393, 380, 381, 374, 0, 0, 383, + -2, 0, 0, 0, 0, 551, 552, 0, 554, 555, + 509, 0, 0, 0, 406, 0, 509, 525, 0, 465, + 530, 0, 509, 509, 0, 365, 0, -2, 0, 509, + 0, -2, 519, 0, 372, 0, 0, 10, 3, 0, + -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, + 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, + 0, 0, 49, 53, 0, 0, 246, 249, 0, 65, + 344, 67, 69, 70, 72, 0, 188, 0, 475, 73, + 0, 346, 0, 74, 0, 0, 0, 0, 0, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, -2, -2, -2, -2, -2, -2, -2, -2, + 317, 0, 325, 0, 102, 104, -2, 472, 0, 0, + 84, 85, 111, 0, 113, 0, 124, 0, 263, 0, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 0, 521, 522, 0, 0, 376, 0, 0, + 320, 473, 474, 388, 337, 0, 510, 0, 341, 538, + 535, 536, 0, 0, 0, 456, 0, -2, 511, 512, + 515, 491, 0, 516, 0, 261, 394, 0, 0, 376, + 0, 502, 0, 0, 556, -2, -2, -2, 472, 0, + 0, 460, 405, 461, 0, 0, 357, 526, 466, 0, + 534, 476, 0, 0, 5, 176, 0, 0, 179, -2, + -2, 0, 0, 367, 0, 493, -2, 563, 0, 0, + 0, 494, -2, 0, 9, 0, 12, 366, 17, 14, + 0, 0, 27, 15, 0, 0, 33, 20, 0, 0, + 36, 408, 409, 410, -2, 0, 0, 0, 463, 416, + 417, 418, 397, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 38, 0, 56, 58, 247, 63, 147, 147, + 185, 0, 190, 0, 193, 243, 285, 287, 289, 291, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, + -2, 126, 122, 377, 0, 0, 0, 0, -2, -2, + 264, 0, 0, 524, 524, 375, -2, 353, 352, 0, + 545, 546, 547, 541, 542, 0, 544, 481, 488, 489, + 0, 509, 0, 492, 0, 493, 375, 385, 494, 548, + 0, 549, 550, 553, 355, 354, 356, 528, 0, 529, + 0, 496, 497, 177, 0, 178, 183, 184, 368, 369, + 504, 505, 370, 371, 508, 11, 23, 26, 0, 29, + 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -2, 471, 0, 473, 478, 0, 0, 434, 435, - 457, 458, 0, 0, 156, 50, 54, 154, 38, 0, - 245, 0, 0, 147, 0, 147, 189, 0, -2, 323, - 326, 77, 103, 130, 132, 0, 0, 130, 0, 0, - 0, 92, 0, -2, 0, 166, 168, 107, 173, 174, - 175, 0, 0, 0, 387, 195, 125, 128, 265, 0, - 528, 0, 321, 0, 548, 0, 486, 517, 517, 495, - 0, 0, 525, 177, 0, 178, 183, 184, 390, 565, - 0, 540, 541, 372, 374, 376, 378, 28, 34, 0, - 428, 429, 430, 431, 432, 433, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, -2, -2, -2, - -2, -2, -2, -2, -2, 0, 0, -2, 0, 423, - 472, 474, 0, 415, 570, 459, 42, 162, 159, 0, - 0, 0, 248, 143, 0, 0, 0, 0, 0, 191, - 0, 0, 0, 0, 133, 532, 0, 81, 139, 38, - 0, 141, 83, 93, 87, 0, 359, 172, 109, 195, - 127, 386, 227, 0, 401, 262, 531, 260, -2, 257, - 517, 251, 0, 0, 488, 0, 0, 521, 522, 180, - 392, 0, 535, 0, 427, 455, 0, 422, 476, 477, - 48, 0, 0, 164, 0, 57, 59, 0, 150, 152, - 153, 144, 145, 0, 359, 324, 0, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 169, 0, 110, - 227, 116, 194, 196, 0, 199, 0, -2, 226, 0, - 0, 229, 231, 232, 233, 234, 235, 236, 129, 266, - 517, 0, 250, 0, 490, 551, 493, 492, 394, 539, - 456, 0, 157, 163, 0, 0, 0, 155, 245, 148, - 38, 146, 0, 78, 137, 38, 134, 79, 0, 142, - 38, 88, 38, 38, 0, 170, 114, 0, 198, 0, - 107, 230, 0, 0, 203, 0, 255, 253, -2, 475, - 0, 0, 0, 38, 0, 38, 151, 38, 0, 140, - 0, 0, 0, 0, 0, 363, 0, 0, 0, 239, - 0, 0, 0, 202, 0, 205, 207, 252, 491, 158, - 51, 160, 165, 60, 149, 0, 0, 94, 0, 112, - 345, 360, 0, 364, 171, 197, 0, 0, 0, 200, - 242, 204, 0, 208, 209, 0, 0, 217, 0, 0, - -2, 38, 0, 347, 138, 89, 361, 0, 237, 240, - 241, 0, 206, 210, 211, 212, 0, 221, 0, 161, - 61, 135, 38, 0, 362, 0, -2, 213, 214, 0, - -2, 218, 0, 38, 238, 0, 0, 219, 0, 0, - 0, 215, 136, 90, 201, 223, 38, 96, 0, 91, - 95, 97, 0, 224, 98, 0, 99, 0, 0, 100, - 0, 38, 0, 101, + 0, 0, -2, 463, 0, 465, 470, 0, 0, 426, + 427, 449, 450, 0, 0, 156, 50, 54, 154, 38, + 0, 245, 0, 0, 147, 0, 147, 189, 0, -2, + 323, 326, 77, 103, 130, 132, 0, 0, 130, 0, + 0, 0, 92, 0, -2, 0, 166, 168, 107, 173, + 174, 175, 0, 0, 0, 379, 195, 125, 128, 265, + 0, 520, 0, 321, 0, 540, 0, 478, 509, 509, + 487, 0, 0, 517, 382, 557, 0, 532, 533, 180, + 28, 34, 0, 420, 421, 422, 423, 424, 425, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, + -2, 0, 415, 464, 466, 0, 407, 562, 451, 42, + 162, 159, 0, 0, 0, 248, 143, 0, 0, 0, + 0, 0, 191, 0, 0, 0, 0, 133, 524, 0, + 81, 139, 38, 0, 141, 83, 93, 87, 0, 359, + 172, 109, 195, 127, 378, 227, 0, 393, 262, 523, + 260, -2, 257, 509, 251, 0, 0, 480, 0, 0, + 513, 514, 384, 0, 527, 0, 419, 447, 0, 414, + 468, 469, 48, 0, 0, 164, 0, 57, 59, 0, + 150, 152, 153, 144, 145, 0, 359, 324, 0, 131, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, + 0, 110, 227, 116, 194, 196, 0, 199, 0, -2, + 226, 0, 0, 229, 231, 232, 233, 234, 235, 236, + 129, 266, 509, 0, 250, 0, 482, 543, 485, 484, + 386, 531, 448, 0, 157, 163, 0, 0, 0, 155, + 245, 148, 38, 146, 0, 78, 137, 38, 134, 79, + 0, 142, 38, 88, 38, 38, 0, 170, 114, 0, + 198, 0, 107, 230, 0, 0, 203, 0, 255, 253, + -2, 467, 0, 0, 0, 38, 0, 38, 151, 38, + 0, 140, 0, 0, 0, 0, 0, 363, 0, 0, + 0, 239, 0, 0, 0, 202, 0, 205, 207, 252, + 483, 158, 51, 160, 165, 60, 149, 0, 0, 94, + 0, 112, 345, 360, 0, 364, 171, 197, 0, 0, + 0, 200, 242, 204, 0, 208, 209, 0, 0, 217, + 0, 0, -2, 38, 0, 347, 138, 89, 361, 0, + 237, 240, 241, 0, 206, 210, 211, 212, 0, 221, + 0, 161, 61, 135, 38, 0, 362, 0, -2, 213, + 214, 0, -2, 218, 0, 38, 238, 0, 0, 219, + 0, 0, 0, 215, 136, 90, 201, 223, 38, 96, + 0, 91, 95, 97, 0, 224, 98, 0, 99, 0, + 0, 100, 0, 38, 0, 101, } var yyTok1 = [...]int{ @@ -2289,25 +2268,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:218 + //line php5/php5.y:219 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:224 + //line php5/php5.y:225 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:225 + //line php5/php5.y:226 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:230 + //line php5/php5.y:231 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2316,7 +2295,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:237 + //line php5/php5.y:238 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2325,31 +2304,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:246 + //line php5/php5.y:247 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:247 + //line php5/php5.y:248 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:248 + //line php5/php5.y:249 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:249 + //line php5/php5.y:250 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:251 + //line php5/php5.y:252 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2361,7 +2340,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:261 + //line php5/php5.y:262 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2373,7 +2352,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:271 + //line php5/php5.y:272 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2381,7 +2360,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:277 + //line php5/php5.y:278 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2389,7 +2368,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:283 + //line php5/php5.y:284 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2401,7 +2380,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:293 + //line php5/php5.y:294 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2413,25 +2392,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:302 + //line php5/php5.y:303 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:306 + //line php5/php5.y:307 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:307 + //line php5/php5.y:308 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:312 + //line php5/php5.y:313 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2443,7 +2422,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:322 + //line php5/php5.y:323 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2458,7 +2437,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:335 + //line php5/php5.y:336 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2470,7 +2449,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:345 + //line php5/php5.y:346 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2485,19 +2464,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:361 + //line php5/php5.y:362 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:365 + //line php5/php5.y:366 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:372 + //line php5/php5.y:373 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2509,7 +2488,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:382 + //line php5/php5.y:383 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2524,7 +2503,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:395 + //line php5/php5.y:396 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2536,7 +2515,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:405 + //line php5/php5.y:406 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2551,19 +2530,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:421 + //line php5/php5.y:422 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:425 + //line php5/php5.y:426 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:432 + //line php5/php5.y:433 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2575,7 +2554,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:442 + //line php5/php5.y:443 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2590,7 +2569,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:455 + //line php5/php5.y:456 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2602,7 +2581,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:465 + //line php5/php5.y:466 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2617,480 +2596,480 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:480 + //line php5/php5.y:481 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:481 + //line php5/php5.y:482 { } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:486 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:486 + //line php5/php5.y:487 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:492 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:493 { yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:494 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:494 + //line php5/php5.y:495 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:500 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:505 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:506 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:506 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:506 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:507 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:507 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:507 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:508 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:508 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:508 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:513 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:514 + //line php5/php5.y:515 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:517 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:518 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:519 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:519 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:520 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:521 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:522 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:523 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:524 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:525 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:526 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:526 + //line php5/php5.y:527 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:528 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:529 { } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:530 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:531 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:532 { yyVAL.node = yyDollar[1].node } case 77: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:533 { } case 78: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:534 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:534 + //line php5/php5.y:535 { } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:536 { } case 81: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:536 { } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:537 { } case 83: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:538 { } case 84: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:540 { } case 86: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:543 + //line php5/php5.y:544 { } case 87: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:545 { } case 88: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:546 { } case 89: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:547 { } case 90: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:548 { } case 91: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:548 + //line php5/php5.y:549 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:551 + //line php5/php5.y:552 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:552 + //line php5/php5.y:553 { } case 94: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:552 + //line php5/php5.y:553 { } case 95: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:556 + //line php5/php5.y:557 { } case 96: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:557 + //line php5/php5.y:558 { } case 97: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:561 + //line php5/php5.y:562 { } case 98: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:562 + //line php5/php5.y:563 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:566 + //line php5/php5.y:567 { } case 100: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:566 + //line php5/php5.y:567 { } case 101: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:566 + //line php5/php5.y:567 { } case 104: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:575 + //line php5/php5.y:576 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:579 + //line php5/php5.y:580 { } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:583 + //line php5/php5.y:584 { } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:587 + //line php5/php5.y:588 { } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:588 + //line php5/php5.y:589 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:592 + //line php5/php5.y:593 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:593 + //line php5/php5.y:594 { } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:597 + //line php5/php5.y:598 { } case 112: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:599 + //line php5/php5.y:600 { } case 113: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:604 + //line php5/php5.y:605 { } case 114: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:608 + //line php5/php5.y:609 { } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:610 + //line php5/php5.y:611 { } case 116: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:614 + //line php5/php5.y:615 { } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:619 + //line php5/php5.y:620 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:620 + //line php5/php5.y:621 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:621 + //line php5/php5.y:622 { } case 120: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:622 + //line php5/php5.y:623 { } case 121: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:626 + //line php5/php5.y:627 { } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:627 + //line php5/php5.y:628 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:631 + //line php5/php5.y:632 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:645 + //line php5/php5.y:646 { } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:646 + //line php5/php5.y:647 { } case 130: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:651 { } case 131: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:651 + //line php5/php5.y:652 { } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:656 + //line php5/php5.y:657 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 133: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:658 + //line php5/php5.y:659 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 134: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:660 + //line php5/php5.y:661 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3099,160 +3078,160 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:688 { } case 142: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:688 + //line php5/php5.y:689 { } case 143: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:693 + //line php5/php5.y:694 { } case 144: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:694 + //line php5/php5.y:695 { } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:695 + //line php5/php5.y:696 { } case 146: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:696 + //line php5/php5.y:697 { } case 147: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:701 + //line php5/php5.y:702 { } case 148: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:702 + //line php5/php5.y:703 { } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:702 + //line php5/php5.y:703 { } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:703 + //line php5/php5.y:704 { } case 151: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:703 + //line php5/php5.y:704 { } case 157: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:722 + //line php5/php5.y:723 { } case 158: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:722 + //line php5/php5.y:723 { } case 160: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:728 + //line php5/php5.y:729 { } case 161: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:728 + //line php5/php5.y:729 { } case 170: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:757 + //line php5/php5.y:758 { } case 171: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:759 + //line php5/php5.y:760 { } case 172: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:764 + //line php5/php5.y:765 { } case 173: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:765 + //line php5/php5.y:766 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:766 + //line php5/php5.y:767 { } case 175: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:768 { } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:773 + //line php5/php5.y:774 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:774 + //line php5/php5.y:775 { } case 178: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:775 + //line php5/php5.y:776 { } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:785 + //line php5/php5.y:786 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:786 + //line php5/php5.y:787 { } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:787 + //line php5/php5.y:788 { } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:788 + //line php5/php5.y:789 { } case 185: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:792 + //line php5/php5.y:793 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 186: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:793 + //line php5/php5.y:794 { yyVAL.list = []node.Node{yyDollar[1].node} } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:799 + //line php5/php5.y:800 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3264,7 +3243,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:809 + //line php5/php5.y:810 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3272,7 +3251,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:815 + //line php5/php5.y:816 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3280,7 +3259,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:825 + //line php5/php5.y:826 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3299,7 +3278,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:842 + //line php5/php5.y:843 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3318,7 +3297,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:859 + //line php5/php5.y:860 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3337,7 +3316,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:876 + //line php5/php5.y:877 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3356,272 +3335,272 @@ yydefault: } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:903 + //line php5/php5.y:904 { } case 200: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:906 + //line php5/php5.y:907 { } case 201: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:908 + //line php5/php5.y:909 { } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:916 + //line php5/php5.y:917 { } case 204: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:917 + //line php5/php5.y:918 { } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:941 + //line php5/php5.y:942 { } case 214: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:945 + //line php5/php5.y:946 { } case 215: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:946 + //line php5/php5.y:947 { } case 216: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:950 + //line php5/php5.y:951 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:951 + //line php5/php5.y:952 { } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:956 { } case 219: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:960 { } case 220: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:961 { } case 221: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:964 + //line php5/php5.y:965 { } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:965 + //line php5/php5.y:966 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:970 { } case 224: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:970 + //line php5/php5.y:971 { } case 225: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:975 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:976 { } case 227: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:979 + //line php5/php5.y:980 { } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:981 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:984 + //line php5/php5.y:985 { } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:986 { } case 231: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:990 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:991 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:992 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:993 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:993 + //line php5/php5.y:994 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:995 { } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:998 + //line php5/php5.y:999 { } case 238: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:1000 { } case 239: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1000 + //line php5/php5.y:1001 { } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1002 { } case 241: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1005 + //line php5/php5.y:1006 { } case 242: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1007 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1010 + //line php5/php5.y:1011 { } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1012 { } case 245: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1017 { } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1018 { } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1022 { } case 248: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1022 { } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1023 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1026 + //line php5/php5.y:1027 { } case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1028 { } case 252: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1031 + //line php5/php5.y:1032 { } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1032 + //line php5/php5.y:1033 { } case 254: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1036 + //line php5/php5.y:1037 { } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1036 + //line php5/php5.y:1037 { } case 256: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1038 { } case 257: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1039 { } case 258: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1042 + //line php5/php5.y:1043 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1044 { } case 260: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1044 + //line php5/php5.y:1045 { } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1049 + //line php5/php5.y:1050 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3635,7 +3614,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1064 + //line php5/php5.y:1065 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3647,648 +3626,608 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1073 + //line php5/php5.y:1074 { } case 264: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1074 + //line php5/php5.y:1075 { } case 265: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1076 { } case 266: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1076 { } case 267: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1077 { } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1078 { } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1080 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1081 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1082 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1083 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1084 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1085 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1086 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1087 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1088 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1088 + //line php5/php5.y:1089 { } case 280: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1089 + //line php5/php5.y:1090 { } case 281: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1090 + //line php5/php5.y:1091 { } case 282: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1091 + //line php5/php5.y:1092 { } case 283: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1092 + //line php5/php5.y:1093 { } case 284: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1094 { } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1094 { } case 286: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1095 { } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1095 { } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1096 { } case 289: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1096 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1097 { } case 291: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1097 { } case 292: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1098 { } case 293: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1099 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1100 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1100 + //line php5/php5.y:1101 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1102 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1102 + //line php5/php5.y:1103 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1104 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1105 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1106 { } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1107 { } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1107 + //line php5/php5.y:1108 { } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1108 + //line php5/php5.y:1109 { } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1109 + //line php5/php5.y:1110 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1110 + //line php5/php5.y:1111 { } case 306: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1111 + //line php5/php5.y:1112 { } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1112 + //line php5/php5.y:1113 { } case 308: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1114 { } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1114 + //line php5/php5.y:1115 { } case 310: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1116 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1116 + //line php5/php5.y:1117 { } case 312: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1118 { } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1118 + //line php5/php5.y:1119 { } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1119 + //line php5/php5.y:1120 { } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1120 + //line php5/php5.y:1121 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1121 + //line php5/php5.y:1122 { } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1123 { } case 318: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1123 + //line php5/php5.y:1124 { } case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1125 + //line php5/php5.y:1126 { yyVAL.node = yyDollar[1].node } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1126 + //line php5/php5.y:1127 { } case 321: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1126 + //line php5/php5.y:1127 { } case 322: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1128 { } case 323: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1128 + //line php5/php5.y:1129 { } case 324: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1130 { } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1131 { } case 326: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1132 { } case 327: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1133 { } case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1133 + //line php5/php5.y:1134 { } case 329: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1134 + //line php5/php5.y:1135 { } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1135 + //line php5/php5.y:1136 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1136 + //line php5/php5.y:1137 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1137 + //line php5/php5.y:1138 { } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1138 + //line php5/php5.y:1139 { } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1139 + //line php5/php5.y:1140 { } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1140 + //line php5/php5.y:1141 { } case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1142 { } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1142 { } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1142 + //line php5/php5.y:1143 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1143 + //line php5/php5.y:1144 { } case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1144 + //line php5/php5.y:1145 { } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1145 + //line php5/php5.y:1146 { } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1147 { } case 343: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1147 + //line php5/php5.y:1148 { } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1148 + //line php5/php5.y:1149 { } case 345: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1151 { } case 346: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1152 { } case 347: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1153 + //line php5/php5.y:1154 { } case 348: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1157 + //line php5/php5.y:1158 { } case 349: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1159 { } case 350: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1159 + //line php5/php5.y:1160 { } case 351: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1161 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1164 + //line php5/php5.y:1165 { } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1165 + //line php5/php5.y:1166 { } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1166 + //line php5/php5.y:1167 { } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1167 + //line php5/php5.y:1168 { } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1171 + //line php5/php5.y:1172 { } case 357: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1172 + //line php5/php5.y:1173 { } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1176 + //line php5/php5.y:1177 { } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1185 + //line php5/php5.y:1186 { } case 362: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1186 + //line php5/php5.y:1187 { } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1187 + //line php5/php5.y:1188 { } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1188 + //line php5/php5.y:1189 { } case 365: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1192 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1193 { } case 366: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1193 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1194 { } case 367: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1194 - { - } - case 368: - yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1195 { } - case 369: - yyDollar = yyS[yypt-2 : yypt+1] + case 368: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1196 { } - case 370: + case 369: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1197 { } - case 371: - yyDollar = yyS[yypt-3 : yypt+1] + case 370: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1198 { } - case 372: - yyDollar = yyS[yypt-5 : yypt+1] + case 371: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1199 { } - case 373: - yyDollar = yyS[yypt-3 : yypt+1] + case 372: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1200 { } - case 374: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1201 - { - } - case 375: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1202 - { - } - case 376: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1203 - { - } - case 377: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1204 - { - } - case 378: - yyDollar = yyS[yypt-5 : yypt+1] + case 373: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1205 - { - } - case 379: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1206 - { - } - case 380: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1207 - { - } - case 381: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1212 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 382: + case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1218 + //line php5/php5.y:1211 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 383: + case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1224 + //line php5/php5.y:1217 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 384: + case 376: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1230 + //line php5/php5.y:1223 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 385: + case 377: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1231 + { + } + case 378: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1232 + { + } + case 379: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1233 + { + } + case 380: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1238 { + yyVAL.node = yyDollar[1].node } - case 386: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1239 - { - } - case 387: - yyDollar = yyS[yypt-2 : yypt+1] + case 381: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1240 - { - } - case 388: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1247 { yyVAL.node = yyDollar[1].node } - case 389: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1249 - { - yyVAL.node = yyDollar[1].node - } - case 390: + case 382: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1255 + //line php5/php5.y:1245 { yyVAL.node = yyDollar[1].node @@ -4318,171 +4257,171 @@ yydefault: } } } - case 391: + case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1285 + //line php5/php5.y:1275 { yyVAL.node = yyDollar[1].node } - case 392: + case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1291 + //line php5/php5.y:1281 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } - case 393: + case 385: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1283 { yyVAL.objectPropertyList = []objectProperty{} } - case 394: + case 386: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1289 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } - case 395: + case 387: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1303 + //line php5/php5.y:1293 { } - case 396: + case 388: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1304 + //line php5/php5.y:1294 { } - case 397: + case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1295 { } - case 398: + case 390: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1309 + //line php5/php5.y:1299 { } - case 399: + case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1310 + //line php5/php5.y:1300 { } - case 400: + case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1311 + //line php5/php5.y:1301 { } - case 401: + case 393: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1316 + //line php5/php5.y:1306 { yyVAL.nodesWithEndToken = nil } - case 402: + case 394: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1318 + //line php5/php5.y:1308 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 403: + case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1323 + //line php5/php5.y:1313 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 404: + case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1329 + //line php5/php5.y:1319 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 405: + case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1335 + //line php5/php5.y:1325 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 406: + case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1331 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 407: + case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1347 + //line php5/php5.y:1337 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 408: + case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1353 + //line php5/php5.y:1343 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 409: + case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1349 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 410: + case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1355 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 411: + case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1371 + //line php5/php5.y:1361 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 412: + case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1377 + //line php5/php5.y:1367 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 413: + case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1373 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 414: + case 406: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1388 + //line php5/php5.y:1378 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 415: + case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1397 + //line php5/php5.y:1387 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4492,249 +4431,249 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 408: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1399 + { + } + case 409: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1403 + { + } + case 410: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1404 + { + } + case 411: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1405 + { + } + case 412: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1406 + { + } + case 413: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1407 + { + } + case 414: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1408 + { + } + case 415: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1409 + { + } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1409 + //line php5/php5.y:1410 { } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1413 + //line php5/php5.y:1411 { } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1414 + //line php5/php5.y:1412 { } case 419: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1415 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1416 { } case 420: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1416 - { - } - case 421: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1417 { } - case 422: - yyDollar = yyS[yypt-4 : yypt+1] + case 421: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1418 { } - case 423: + case 422: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1419 { } - case 424: - yyDollar = yyS[yypt-1 : yypt+1] + case 423: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1420 { } - case 425: - yyDollar = yyS[yypt-1 : yypt+1] + case 424: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1421 { } - case 426: - yyDollar = yyS[yypt-1 : yypt+1] + case 425: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1422 { } + case 426: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1423 + { + } case 427: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1426 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1424 { } case 428: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1427 + //line php5/php5.y:1425 { } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1428 + //line php5/php5.y:1426 { } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1429 + //line php5/php5.y:1427 { } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1430 + //line php5/php5.y:1428 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1431 + //line php5/php5.y:1429 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1432 + //line php5/php5.y:1430 { } case 434: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1433 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1431 { } case 435: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1434 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1432 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1435 + //line php5/php5.y:1433 { } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1436 + //line php5/php5.y:1434 { } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1437 + //line php5/php5.y:1435 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1438 + //line php5/php5.y:1436 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1437 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1440 + //line php5/php5.y:1438 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1441 + //line php5/php5.y:1439 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1440 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1443 + //line php5/php5.y:1441 { } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1444 + //line php5/php5.y:1442 { } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1443 { } case 447: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1446 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1444 { } case 448: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1447 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1445 { } case 449: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1448 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1446 { } case 450: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1449 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1447 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1448 { } case 452: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1451 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1452 { } case 453: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1452 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1453 { } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1453 - { - } - case 455: - yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1454 { } - case 456: - yyDollar = yyS[yypt-5 : yypt+1] + case 455: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1455 { } - case 457: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1456 - { - } - case 458: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1457 - { - } - case 459: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1458 - { - } - case 460: + case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1462 - { - } - case 461: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1463 - { - } - case 462: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1464 - { - } - case 463: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1465 - { - } - case 464: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1470 + //line php5/php5.y:1460 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4744,247 +4683,193 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 465: + case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1480 + //line php5/php5.y:1470 { yyVAL.node = yyDollar[1].node } - case 466: + case 458: yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1472 + { + yyVAL.node = yyDollar[1].node + } + case 459: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1474 + { + yyVAL.node = yyDollar[1].node + } + case 460: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1476 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 461: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1482 - { - yyVAL.node = yyDollar[1].node - } - case 467: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1484 - { - yyVAL.node = yyDollar[1].node - } - case 468: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1486 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 469: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1492 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 470: + case 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1498 + //line php5/php5.y:1488 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 471: + case 463: yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1496 + { + } + case 464: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1497 + { + } + case 467: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1506 { } - case 472: - yyDollar = yyS[yypt-2 : yypt+1] + case 468: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1507 { } - case 475: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1516 - { - } - case 476: + case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1517 + //line php5/php5.y:1508 { } - case 477: + case 470: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1509 + { + } + case 471: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1513 + { + yyVAL.node = yyDollar[1].node + } + case 472: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1514 + { + yyVAL.node = yyDollar[1].node + } + case 473: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1518 { } - case 478: - yyDollar = yyS[yypt-1 : yypt+1] + case 474: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1519 { } + case 475: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1525 + { + yyVAL.node = yyDollar[1].node + } + case 476: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1533 + { + yyVAL.node = yyDollar[1].node + } + case 477: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1540 + { + yyVAL.node = yyDollar[1].node + } + case 478: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1547 + { + } case 479: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1523 + //line php5/php5.y:1549 { yyVAL.node = yyDollar[1].node } case 480: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1524 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1553 { - yyVAL.node = yyDollar[1].node } case 481: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1528 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1554 { } case 482: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1529 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1559 { } case 483: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1535 - { - yyVAL.node = yyDollar[1].node - } - case 484: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1543 - { - yyVAL.node = yyDollar[1].node - } - case 485: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1550 - { - yyVAL.node = yyDollar[1].node - } - case 486: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1557 - { - } - case 487: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1559 { - yyVAL.node = yyDollar[1].node } - case 488: - yyDollar = yyS[yypt-2 : yypt+1] + case 484: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1563 { } - case 489: - yyDollar = yyS[yypt-0 : yypt+1] + case 485: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1564 { } - case 490: + case 486: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1568 + { + } + case 487: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1569 { } - case 491: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1569 - { - } - case 492: - yyDollar = yyS[yypt-4 : yypt+1] + case 488: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1573 { } - case 493: - yyDollar = yyS[yypt-4 : yypt+1] + case 489: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1574 { } - case 494: + case 490: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1578 + //line php5/php5.y:1575 { } - case 495: + case 491: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1580 + { + yyVAL.node = yyDollar[1].node + } + case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1579 - { - } - case 496: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1583 - { - } - case 497: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1584 - { - } - case 498: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1585 - { - } - case 499: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1589 - { - } - case 500: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1590 - { - } - case 501: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1594 - { - } - case 502: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1595 - { - } - case 503: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1601 - { - yyVAL.node = yyDollar[1].node - } - case 504: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1607 - { - } - case 505: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1608 - { - } - case 506: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1612 - { - yyVAL.node = yyDollar[1].node - } - case 507: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1613 - { - yyVAL.node = yyDollar[1].node - } - case 508: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1614 - { - yyVAL.node = yyDollar[1].node - } - case 509: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1619 - { - yyVAL.node = yyDollar[1].node - } - case 510: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1621 + //line php5/php5.y:1582 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4994,36 +4879,105 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 511: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1630 + case 493: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1595 { - } - case 512: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1635 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 513: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1641 + case 494: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1601 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 514: + case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1646 + //line php5/php5.y:1611 { yyVAL.node = yyDollar[1].node } - case 515: + case 496: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1616 + { + } + case 497: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1618 + { + } + case 498: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:1622 + { + yyVAL.node = yyDollar[1].node + } + case 499: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1623 + { + yyVAL.node = yyDollar[1].node + } + case 500: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1624 + { + yyVAL.node = yyDollar[1].node + } + case 501: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1630 + { + yyVAL.node = yyDollar[1].node + } + case 502: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1632 + { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 503: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1642 + { + yyVAL.node = yyDollar[1].node + } + case 504: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1647 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 505: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1653 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 506: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1659 + { + yyVAL.node = yyDollar[1].node + } + case 507: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1665 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5033,77 +4987,77 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 516: + case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1662 + //line php5/php5.y:1675 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 517: + case 509: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1670 + //line php5/php5.y:1683 { yyVAL.node = nil } - case 518: + case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1684 { yyVAL.node = yyDollar[1].node } - case 519: + case 511: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1677 + //line php5/php5.y:1690 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } - case 520: + case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1679 - { - op := objectProperty{yyDollar[1].node, propertyFetchType} - yyVAL.objectPropertyList = []objectProperty{op} - } - case 521: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1687 - { - op := objectProperty{yyDollar[3].node, arrayFetchType} - yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) - } - case 522: - yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1692 + { + op := objectProperty{yyDollar[1].node, propertyFetchType} + yyVAL.objectPropertyList = []objectProperty{op} + } + case 513: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1700 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } - case 523: + case 514: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1705 + { + op := objectProperty{yyDollar[3].node, arrayFetchType} + yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) + } + case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1697 + //line php5/php5.y:1710 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } - case 524: + case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1705 + //line php5/php5.y:1718 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 525: + case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1711 + //line php5/php5.y:1724 { yyVAL.node = yyDollar[2].node } - case 526: + case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1716 + //line php5/php5.y:1729 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5111,9 +5065,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 527: + case 519: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1724 + //line php5/php5.y:1737 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5125,53 +5079,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 528: + case 520: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1739 + //line php5/php5.y:1752 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 529: + case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1741 + //line php5/php5.y:1754 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 530: + case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1747 + //line php5/php5.y:1760 { yyVAL.node = yyDollar[1].node } - case 531: + case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1749 + //line php5/php5.y:1762 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 532: + case 524: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1755 + //line php5/php5.y:1768 { yyVAL.node = nil } - case 533: + case 525: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1761 + //line php5/php5.y:1774 { yyVAL.list = nil } - case 534: + case 526: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1763 + //line php5/php5.y:1776 { yyVAL.list = yyDollar[1].list } - case 535: + case 527: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1781 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5179,9 +5133,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 536: + case 528: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1776 + //line php5/php5.y:1789 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5189,9 +5143,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 537: + case 529: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1784 + //line php5/php5.y:1797 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5199,9 +5153,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 538: + case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1805 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5209,9 +5163,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 539: + case 531: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1800 + //line php5/php5.y:1813 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5219,9 +5173,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 540: + case 532: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1808 + //line php5/php5.y:1821 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5229,9 +5183,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 541: + case 533: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1816 + //line php5/php5.y:1829 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5239,9 +5193,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 542: + case 534: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1824 + //line php5/php5.y:1837 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5249,39 +5203,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 543: + case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1835 + //line php5/php5.y:1848 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 544: + case 536: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1837 + //line php5/php5.y:1850 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 545: + case 537: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1844 + //line php5/php5.y:1857 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 546: + case 538: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1846 + //line php5/php5.y:1859 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 547: + case 539: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1856 + //line php5/php5.y:1869 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5291,9 +5245,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 548: + case 540: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1866 + //line php5/php5.y:1879 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5306,9 +5260,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 549: + case 541: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1879 + //line php5/php5.y:1892 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5324,17 +5278,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 550: + case 542: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1895 + //line php5/php5.y:1908 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 551: + case 543: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1901 + //line php5/php5.y:1914 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5347,23 +5301,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 552: + case 544: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1915 + //line php5/php5.y:1928 { yyVAL.node = yyDollar[2].node } - case 553: + case 545: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1920 + //line php5/php5.y:1933 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 554: + case 546: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1926 + //line php5/php5.y:1939 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5375,9 +5329,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 555: + case 547: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1938 + //line php5/php5.y:1951 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5387,97 +5341,97 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 556: + case 548: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1951 + //line php5/php5.y:1964 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 557: + case 549: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1957 + //line php5/php5.y:1970 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 558: + case 550: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1963 + //line php5/php5.y:1976 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 559: + case 551: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1969 + //line php5/php5.y:1982 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 560: + case 552: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1975 + //line php5/php5.y:1988 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 561: + case 553: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1981 + //line php5/php5.y:1994 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 562: + case 554: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1987 + //line php5/php5.y:2000 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 563: + case 555: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1993 + //line php5/php5.y:2006 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 564: + case 556: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2002 + //line php5/php5.y:2015 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 565: + case 557: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2004 + //line php5/php5.y:2017 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 566: + case 558: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2008 + //line php5/php5.y:2021 { yyVAL.node = yyDollar[1].node } - case 567: + case 559: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2009 + //line php5/php5.y:2022 { yyVAL.node = yyDollar[1].node } - case 568: + case 560: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2014 + //line php5/php5.y:2027 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5487,19 +5441,7 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 569: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2024 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 570: + case 561: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:2037 { @@ -5511,7 +5453,7 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 571: + case 562: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:2050 { @@ -5520,6 +5462,18 @@ yydefault: yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 563: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2063 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } diff --git a/php5/php5.y b/php5/php5.y index 79a4015..46b561f 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -200,7 +200,8 @@ import ( %type base_variable array_function_dereference function_call inner_statement statement unticked_statement %type inner_statement statement global_var static_scalar scalar class_constant static_class_name_scalar class_name_scalar %type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc assignment_list_element -%type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference +%type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member +%type function_call %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -1189,22 +1190,14 @@ lexical_var_list: ; function_call: - namespace_name { } - function_call_parameter_list { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - function_call_parameter_list { } - | T_NS_SEPARATOR namespace_name { } - function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } - function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name { } - function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - function_call_parameter_list { } - | variable_without_objects { } - function_call_parameter_list { } + namespace_name function_call_parameter_list { } + | T_NAMESPACE T_NS_SEPARATOR namespace_name function_call_parameter_list { } + | T_NS_SEPARATOR namespace_name function_call_parameter_list { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { } + | variable_without_objects function_call_parameter_list { } ; class_name: @@ -1240,8 +1233,6 @@ fully_qualified_class_name: | T_NS_SEPARATOR namespace_name { } ; - - class_name_reference: class_name { $$ = $1 } @@ -1249,7 +1240,6 @@ class_name_reference: { $$ = $1 } ; - dynamic_class_name_reference: base_variable T_OBJECT_OPERATOR object_property dynamic_class_name_variable_properties { @@ -1587,37 +1577,8 @@ method_or_not: ; variable_without_objects: - reference_variable { } - | simple_indirect_reference reference_variable { } -; - -static_member: - class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { } - -; - -variable_class_name: reference_variable - { - $$ = $1 - } -; - -array_function_dereference: - array_function_dereference '[' dim_offset ']' { } - | function_call '[' dim_offset ']' { } -; - -base_variable_with_function_calls: - base_variable { $$ = $1 } - | array_function_dereference { $$ = $1 } - | function_call { $$ = $1 } -; - - -base_variable: - reference_variable { $$ = $1 } + { $$ = $1 } | simple_indirect_reference reference_variable { $1.last.SetVarName($2) @@ -1628,7 +1589,58 @@ base_variable: $$ = $1.all[0] } - | static_member { } +; + +static_member: + class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + { + $$ = expr.NewStaticPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + { + $$ = expr.NewStaticPropertyFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + +; + +variable_class_name: + reference_variable + { $$ = $1 } +; + +array_function_dereference: + array_function_dereference '[' dim_offset ']' + { } + | function_call '[' dim_offset ']' + { } +; + +base_variable_with_function_calls: + base_variable { $$ = $1 } + | array_function_dereference { $$ = $1 } + | function_call { $$ = $1 } +; + + +base_variable: + reference_variable + { $$ = $1 } + | simple_indirect_reference reference_variable + { + $1.last.SetVarName($2) + + for _, n := range($1.all) { + positions[n] = positionBuilder.NewNodesPosition(n, $2) + } + + $$ = $1.all[0] + } + | static_member + { $$ = $1 } ; reference_variable: @@ -1644,7 +1656,8 @@ reference_variable: positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments($$, comments[$1]) } - | compound_variable { $$ = $1 } + | compound_variable + { $$ = $1 } ; From b4cdb8f8d7df15f3b8b61a6d0bef3dda3f4484cf Mon Sep 17 00:00:00 2001 From: z7zmey Date: Fri, 2 Feb 2018 14:36:57 +0200 Subject: [PATCH 16/31] php5 syntax --- php5/php5.go | 1524 +++++++++++++++++++++++++++----------------------- php5/php5.y | 170 +++++- 2 files changed, 965 insertions(+), 729 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 30ec131..b7a45ec 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2074 +//line php5/php5.y:2204 //line yacctab:1 var yyExca = [...]int{ @@ -681,29 +681,29 @@ var yyAct = [...]int{ 514, 971, 507, 474, 524, 514, 932, 563, 392, 563, 323, 890, 230, 202, 201, 198, 974, 524, 976, 135, 977, 590, 588, 589, 986, 512, 940, 727, 665, 992, - 514, 514, 439, 521, 956, 543, 563, 393, 254, 1015, + 514, 514, 439, 521, 543, 393, 563, 254, 251, 1015, 439, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 1011, 1012, 75, 74, 251, 563, - 923, 248, 551, 1023, 794, 1032, 881, 381, 514, 563, - 576, 1037, 882, 358, 1021, 880, 38, 936, 38, 563, - 38, 357, 38, 38, 524, 356, 355, 817, 724, 723, - 524, 524, 1036, 893, 1056, 1034, 820, 821, 563, 682, - 336, 879, 38, 1031, 38, 38, 1041, 1000, 1029, 999, - 998, 997, 230, 995, 230, 994, 965, 935, 1046, 1050, - 1013, 878, 877, 601, 876, 446, 887, 888, 889, 886, - 885, 884, 960, 929, 1064, 208, 209, 210, 211, 213, + 218, 219, 220, 212, 1011, 1012, 248, 551, 794, 563, + 923, 381, 576, 1023, 358, 1032, 881, 357, 514, 563, + 356, 1037, 882, 355, 1021, 880, 38, 936, 38, 563, + 38, 817, 38, 38, 524, 724, 723, 893, 820, 821, + 524, 524, 1036, 682, 1056, 1034, 336, 879, 563, 1031, + 1000, 1029, 38, 999, 38, 38, 1041, 998, 997, 995, + 994, 965, 230, 935, 230, 1046, 1013, 878, 877, 1050, + 876, 960, 929, 601, 875, 446, 887, 888, 889, 886, + 885, 884, 874, 476, 1064, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, 928, 38, - 875, 230, 874, 476, 524, 708, 706, 1003, 942, 912, - 947, 993, 38, 1001, 566, 881, 396, 40, 712, 38, - 561, 882, 394, 39, 880, 559, 870, 14, 38, 524, - 13, 1062, 512, 1059, 1052, 864, 1051, 1049, 1025, 116, - 1001, 512, 38, 903, 953, 865, 805, 702, 512, 512, - 512, 512, 512, 800, 556, 195, 383, 163, 537, 338, - 1022, 1004, 910, 1030, 681, 680, 140, 677, 533, 524, - 139, 906, 649, 647, 648, 887, 888, 889, 886, 885, - 884, 845, 781, 1043, 532, 842, 780, 675, 331, 10, - 1, 832, 734, 438, 231, 231, 289, 873, 453, 160, - 156, 317, 1058, 313, 126, 115, 265, 63, 88, 579, + 708, 230, 706, 1003, 524, 942, 912, 947, 566, 396, + 40, 993, 38, 1001, 712, 881, 561, 394, 39, 38, + 559, 882, 870, 14, 880, 13, 1062, 1059, 38, 524, + 1052, 864, 512, 1051, 1049, 1025, 953, 865, 805, 116, + 1001, 512, 38, 903, 702, 800, 556, 195, 512, 512, + 512, 512, 512, 383, 163, 537, 338, 1022, 1004, 910, + 681, 680, 140, 1030, 677, 533, 139, 906, 845, 524, + 781, 532, 649, 647, 648, 887, 888, 889, 886, 885, + 884, 842, 780, 1043, 675, 331, 10, 1, 832, 734, + 438, 956, 289, 453, 231, 231, 160, 873, 156, 317, + 313, 126, 1058, 74, 75, 115, 265, 63, 88, 579, 634, 89, 660, 642, 636, 635, 513, 100, 73, 272, 11, 325, 99, 98, 78, 524, 118, 519, 511, 3, 524, 0, 0, 0, 651, 650, 641, 643, 654, 655, @@ -1531,86 +1531,86 @@ var yyPact = [...]int{ } var yyPgo = [...]int{ - 0, 1239, 45, 37, 35, 632, 1237, 1236, 25, 275, - 1149, 14, 1389, 85, 63, 16, 823, 1646, 1234, 40, - 1233, 1232, 1231, 18, 1230, 43, 24, 1228, 1227, 1226, - 1221, 82, 1219, 1218, 32, 1217, 33, 38, 166, 1216, - 808, 44, 1215, 52, 0, 1214, 1213, 1211, 30, 1210, - 1209, 668, 1208, 1206, 53, 23, 41, 28, 20, 1203, - 1202, 1201, 19, 267, 1200, 47, 39, 1199, 46, 1198, - 1197, 1196, 1195, 1194, 1192, 1191, 1181, 1180, 1178, 1177, - 1176, 1175, 26, 1174, 1172, 1171, 1170, 1169, 1168, 49, - 1167, 1166, 29, 7, 1165, 1164, 1163, 1157, 1156, 1155, - 154, 1154, 1148, 1147, 1146, 1145, 1144, 1, 1143, 1141, - 34, 1140, 1137, 8, 1136, 87, 1135, 2, 1133, 1132, - 1130, 1128, 13, 1127, 1126, 1124, 22, 36, 11, 1120, - 1119, 1118, 1117, 1116, 17, 1115, 1113, 48, 1112, 1110, - 1093, 1092, 1084, 1082, 1081, 1080, 1078, 1077, 1076, 1075, - 1073, 3, 1071, 1070, 1069, 1068, 1067, 1063, 5, 1061, - 1060, 1059, 6, 12, 1057, 1056, 1053, 1049, 1048, 1047, - 1046, 1045, 1041, 1033, 1030, 1027, 1024, 1022, 1021, 1018, - 1017, 1016, 998, 997, 15, 995, 994, 1238, 31, 993, + 0, 87, 1239, 45, 37, 35, 632, 1237, 1236, 25, + 275, 1149, 14, 1389, 85, 63, 16, 823, 1646, 1234, + 40, 1233, 1232, 1231, 18, 1230, 43, 24, 1228, 1227, + 1226, 1221, 82, 1219, 1218, 32, 1217, 33, 38, 166, + 1216, 808, 44, 1215, 154, 1214, 1213, 52, 0, 1211, + 1210, 1209, 30, 1208, 1206, 668, 1203, 1202, 53, 23, + 1201, 15, 41, 28, 20, 1200, 1199, 1198, 19, 267, + 1197, 47, 39, 1196, 46, 1195, 1194, 1192, 1191, 1181, + 1180, 1178, 1177, 1176, 1175, 1174, 1172, 1171, 26, 1170, + 1169, 1168, 1167, 1166, 1165, 49, 1164, 1163, 29, 7, + 1157, 1156, 1155, 1154, 1148, 1147, 1146, 1145, 1144, 1143, + 1141, 1140, 1, 1137, 1136, 34, 1135, 1133, 8, 1132, + 1130, 2, 1128, 1127, 1126, 1124, 13, 1120, 1119, 1118, + 22, 36, 11, 1117, 1116, 1115, 1113, 1112, 17, 1110, + 1093, 48, 1092, 1084, 1082, 1081, 1080, 1078, 1077, 1076, + 1075, 1073, 1071, 1070, 1069, 3, 1068, 1067, 1063, 1061, + 1060, 1059, 5, 1057, 1056, 1053, 6, 12, 1049, 1048, + 1047, 1046, 1045, 1041, 1033, 1030, 1027, 1024, 1022, 1021, + 1018, 1017, 1016, 998, 997, 995, 994, 1238, 31, 993, 988, 27, 4, 987, 986, 983, 982, 981, } var yyR1 = [...]int{ - 0, 64, 43, 43, 44, 44, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 45, 45, 2, - 2, 2, 2, 46, 46, 3, 3, 3, 3, 47, - 47, 4, 4, 4, 4, 67, 67, 48, 48, 22, - 22, 22, 22, 23, 23, 24, 69, 70, 24, 73, - 74, 24, 77, 78, 24, 80, 81, 24, 83, 84, - 85, 24, 87, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 94, 24, 24, 24, 24, 24, 97, 99, 101, 102, - 103, 97, 98, 105, 98, 104, 104, 106, 106, 108, - 109, 107, 91, 91, 110, 65, 66, 113, 113, 114, - 114, 116, 111, 120, 112, 124, 112, 118, 118, 118, - 118, 119, 119, 123, 125, 125, 121, 121, 126, 126, - 92, 92, 57, 57, 57, 86, 86, 93, 93, 96, - 96, 95, 95, 88, 88, 88, 88, 127, 129, 127, - 130, 127, 128, 128, 79, 79, 71, 131, 71, 75, - 132, 75, 72, 72, 76, 76, 117, 117, 133, 133, - 134, 134, 135, 135, 135, 135, 63, 63, 63, 136, - 136, 137, 137, 137, 137, 49, 49, 25, 25, 25, - 50, 50, 50, 50, 122, 122, 140, 138, 138, 138, - 145, 138, 143, 147, 147, 148, 148, 149, 149, 150, - 150, 151, 151, 152, 155, 155, 156, 156, 154, 153, - 153, 157, 157, 146, 146, 139, 139, 144, 144, 159, - 159, 158, 158, 158, 158, 158, 158, 141, 141, 141, - 141, 142, 142, 90, 90, 82, 82, 161, 160, 160, - 162, 162, 164, 164, 166, 165, 165, 165, 167, 168, - 167, 40, 13, 13, 13, 169, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 170, 13, 171, 13, 172, 13, - 173, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 174, 13, 175, 176, 13, 177, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 179, 13, 13, 13, - 13, 13, 13, 13, 183, 13, 185, 13, 89, 89, - 89, 89, 180, 180, 180, 180, 181, 181, 115, 184, - 184, 186, 186, 186, 186, 21, 21, 21, 21, 21, - 21, 21, 21, 9, 9, 9, 9, 100, 100, 100, - 41, 41, 39, 39, 60, 60, 61, 178, 178, 178, - 182, 182, 182, 62, 62, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 6, 26, 187, + 0, 70, 47, 47, 48, 48, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 49, 49, 3, + 3, 3, 3, 50, 50, 4, 4, 4, 4, 51, + 51, 5, 5, 5, 5, 73, 73, 52, 52, 23, + 23, 23, 23, 24, 24, 25, 75, 76, 25, 79, + 80, 25, 83, 84, 25, 86, 87, 25, 89, 90, + 91, 25, 93, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 100, 25, 25, 25, 25, 25, 103, 105, 106, 107, + 108, 103, 104, 110, 104, 109, 109, 111, 111, 113, + 114, 112, 97, 97, 115, 71, 72, 118, 118, 119, + 119, 120, 116, 124, 117, 128, 117, 122, 122, 122, + 122, 123, 123, 127, 129, 129, 125, 125, 130, 130, + 98, 98, 63, 63, 63, 92, 92, 99, 99, 102, + 102, 101, 101, 94, 94, 94, 94, 131, 133, 131, + 134, 131, 132, 132, 85, 85, 77, 135, 77, 81, + 136, 81, 78, 78, 82, 82, 121, 121, 137, 137, + 138, 138, 139, 139, 139, 139, 69, 69, 69, 140, + 140, 141, 141, 141, 141, 53, 53, 26, 26, 26, + 54, 54, 54, 54, 126, 126, 144, 142, 142, 142, + 149, 142, 147, 151, 151, 152, 152, 153, 153, 154, + 154, 155, 155, 156, 159, 159, 160, 160, 158, 157, + 157, 161, 161, 150, 150, 143, 143, 148, 148, 163, + 163, 162, 162, 162, 162, 162, 162, 145, 145, 145, + 145, 146, 146, 96, 96, 88, 88, 165, 164, 164, + 166, 166, 168, 168, 170, 169, 169, 169, 171, 172, + 171, 41, 14, 14, 14, 173, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 174, 14, 175, 14, 176, 14, + 177, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 178, 14, 179, 180, 14, 181, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 183, 14, 14, 14, + 14, 14, 14, 14, 185, 14, 186, 14, 95, 95, + 95, 95, 46, 46, 46, 46, 45, 45, 1, 61, + 61, 60, 60, 60, 60, 22, 22, 22, 22, 22, + 22, 22, 22, 10, 10, 10, 10, 44, 44, 44, + 42, 42, 40, 40, 66, 66, 67, 182, 182, 182, + 184, 184, 184, 68, 68, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 7, 27, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 33, 33, 33, 33, 27, 27, 27, 27, - 27, 27, 27, 188, 188, 191, 191, 190, 190, 190, - 190, 12, 12, 68, 68, 14, 15, 16, 17, 17, - 193, 193, 194, 163, 195, 195, 197, 196, 192, 192, - 192, 38, 38, 42, 42, 10, 20, 20, 18, 18, - 18, 19, 19, 19, 8, 8, 8, 7, 7, 11, - 11, 58, 58, 59, 59, 59, 37, 37, 56, 56, - 55, 55, 36, 36, 36, 54, 54, 53, 53, 53, - 53, 53, 53, 53, 53, 51, 51, 51, 51, 31, - 31, 31, 31, 31, 31, 32, 32, 32, 35, 35, - 35, 35, 35, 35, 35, 35, 52, 52, 34, 34, - 28, 28, 29, 30, + 189, 189, 34, 34, 34, 34, 28, 28, 28, 28, + 28, 28, 28, 188, 188, 191, 191, 190, 190, 190, + 190, 13, 13, 74, 74, 15, 16, 17, 18, 18, + 193, 193, 194, 167, 195, 195, 197, 196, 192, 192, + 192, 39, 39, 43, 43, 11, 21, 21, 19, 19, + 19, 20, 20, 20, 9, 9, 9, 8, 8, 12, + 12, 64, 64, 65, 65, 65, 38, 38, 62, 62, + 59, 59, 37, 37, 37, 58, 58, 57, 57, 57, + 57, 57, 57, 57, 57, 55, 55, 55, 55, 32, + 32, 32, 32, 32, 32, 33, 33, 33, 36, 36, + 36, 36, 36, 36, 36, 36, 56, 56, 35, 35, + 29, 29, 30, 31, } var yyR2 = [...]int{ @@ -1674,113 +1674,113 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -64, -43, -1, -23, -65, -66, 51, 79, 44, - -67, -24, 10, -111, -112, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -89, 46, 98, 19, 14, - -12, 48, 25, 27, 121, 40, 43, 36, -115, -118, - -123, 97, -14, -13, 37, 52, 99, 53, 100, 54, - -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, - -68, -40, 123, -35, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -27, -180, -181, 118, 96, -18, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -33, -30, - -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, - -28, -44, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -56, -42, -10, -38, -7, 134, - 12, 123, -44, 119, 82, 10, -45, 37, 38, -2, - -44, 82, 121, 135, 122, 10, -48, -68, 123, -77, - -80, 123, -68, 121, -12, 97, -115, 98, 79, 121, - -12, 121, -13, -17, -12, 121, -49, -25, 12, 134, - -50, -115, 12, -90, -12, 121, 149, 150, 87, 89, + -1000, -70, -47, -2, -24, -71, -72, 51, 79, 44, + -73, -25, 10, -116, -117, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -95, 46, 98, 19, 14, + -13, 48, 25, 27, 121, 40, 43, 36, -1, -122, + -127, 97, -15, -14, 37, 52, 99, 53, 100, 54, + -18, 59, 92, -17, 104, 105, 130, 129, 131, 132, + -74, -41, 123, -36, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -28, -46, -45, 118, 96, -19, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -34, -31, + -6, 117, 74, 62, 18, 60, 125, -20, -21, -22, + -29, -48, 82, -10, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -9, -62, -43, -11, -39, -8, 134, + 12, 123, -48, 119, 82, 10, -49, 37, 38, -3, + -48, 82, 121, 135, 122, 10, -52, -74, 123, -83, + -86, 123, -74, 121, -13, 97, -1, 98, 79, 121, + -13, 121, -14, -18, -13, 121, -53, -26, 12, 134, + -54, -1, 12, -96, -13, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -94, 119, -12, 10, -113, - 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, + 160, 90, 127, 123, 123, -100, 119, -13, 10, -118, + 128, 10, 10, -14, -18, -13, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -12, 104, 105, -16, -17, -44, 79, 82, - -9, -10, 98, -16, -12, -12, -12, -12, -40, -12, - -89, -12, -12, -12, -12, -12, -12, -12, -178, 123, - -68, -179, 125, 125, -182, 17, -51, -31, 12, 76, - 77, -12, 57, -41, -9, -39, -44, 79, 82, -19, - -8, -56, -10, 123, 123, -12, -12, 123, -12, -12, - 125, -51, 17, 17, 75, -51, 125, 123, -54, -53, - -12, 128, 125, 125, 82, -63, 123, -44, 78, 125, - 119, -8, 134, 78, -63, 119, 124, 121, 119, -43, - -44, 121, 135, -46, -3, -44, 82, -47, -4, -44, - 82, 29, -44, 10, 136, -22, 120, -23, -65, -66, - 51, -69, 122, -68, -23, -82, -160, -12, -87, 121, - -113, 121, 121, 121, 121, 135, -14, 119, -17, 121, - 135, -113, 136, 121, 135, -170, -171, -172, -173, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -41, -175, 122, -91, -110, -17, -17, -13, 123, -48, - 121, 121, 10, -183, -119, 55, -124, 58, -12, 128, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -55, -36, -17, 59, 82, -44, 78, 78, - 124, 124, 124, 124, -12, -11, -12, -11, 118, -31, - -31, 17, 125, 57, -12, 11, -17, -58, -59, -38, - -37, -8, -56, 10, 119, -62, -63, 78, 82, -44, - 57, -8, 78, -52, -34, -17, -13, -17, -13, -12, - -11, 117, 75, 75, -11, -54, 126, -191, 135, 58, - -15, -17, -11, -11, 10, 124, -136, -89, -137, -13, - -17, 128, 83, -63, -37, -38, 10, 52, -11, -12, - -37, -38, 10, -12, 121, -43, 120, -63, -2, 121, - 135, 29, -44, 121, 135, 29, -44, 10, 29, 136, - -26, -187, -5, -29, -44, 79, 82, 60, 125, -6, - 62, -189, 18, 74, -9, 131, 132, 130, 129, 123, - 123, -23, -73, -78, 21, 121, 135, -88, 119, 122, - -25, -12, 12, -185, -26, -12, -12, -12, -12, -12, - -12, -177, 124, 135, 29, 29, -95, 10, 120, -116, - 123, -120, -100, -44, 79, 82, -125, 55, -13, -17, - -17, 91, 124, 135, 123, -44, -174, 126, 126, -32, + 147, 123, -13, 104, 105, -17, -18, -48, 79, 82, + -10, -11, 98, -17, -13, -13, -13, -13, -41, -13, + -95, -13, -13, -13, -13, -13, -13, -13, -182, 123, + -74, -183, 125, 125, -184, 17, -55, -32, 12, 76, + 77, -13, 57, -42, -10, -40, -48, 79, 82, -20, + -9, -62, -11, 123, 123, -13, -13, 123, -13, -13, + 125, -55, 17, 17, 75, -55, 125, 123, -58, -57, + -13, 128, 125, 125, 82, -69, 123, -48, 78, 125, + 119, -9, 134, 78, -69, 119, 124, 121, 119, -47, + -48, 121, 135, -50, -4, -48, 82, -51, -5, -48, + 82, 29, -48, 10, 136, -23, 120, -24, -71, -72, + 51, -75, 122, -74, -24, -88, -164, -13, -93, 121, + -118, 121, 121, 121, 121, 135, -15, 119, -18, 121, + 135, -118, 136, 121, 135, -174, -175, -176, -177, -13, + -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, + -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, + -42, -179, 122, -97, -115, -18, -18, -14, 123, -52, + 121, 121, 10, -185, -123, 55, -128, 58, -13, 128, + -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, + -13, -13, -59, -37, -18, 59, 82, -48, 78, 78, + 124, 124, 124, 124, -13, -12, -13, -12, 118, -32, + -32, 17, 125, 57, -13, 11, -18, -64, -65, -39, + -38, -9, -62, 10, 119, -68, -69, 78, 82, -48, + 57, -9, 78, -56, -35, -18, -14, -18, -14, -13, + -12, 117, 75, 75, -12, -58, 126, -191, 135, 58, + -16, -18, -12, -12, 10, 124, -140, -95, -141, -14, + -18, 128, 83, -69, -38, -39, 10, 52, -12, -13, + -38, -39, 10, -13, 121, -47, 120, -69, -3, 121, + 135, 29, -48, 121, 135, 29, -48, 10, 29, 136, + -27, -187, -6, -30, -48, 79, 82, 60, 125, -7, + 62, -189, 18, 74, -10, 131, 132, 130, 129, 123, + 123, -24, -79, -84, 21, 121, 135, -94, 119, 122, + -26, -13, 12, -186, -27, -13, -13, -13, -13, -13, + -13, -181, 124, 135, 29, 29, -101, 10, 120, -120, + 123, -124, -44, -48, 79, 82, -129, 55, -14, -18, + -18, 91, 124, 135, 123, -48, -178, 126, 126, -33, 10, 13, 12, 10, 120, 125, 120, -192, -196, -195, - -197, 125, 119, -8, -12, -38, -44, -58, -38, 124, - 135, 124, 124, 124, 126, 126, 124, -12, 128, -12, - 128, 126, 126, 124, 135, 124, -15, -12, -63, -63, - 126, 120, -63, -63, 120, 120, -3, 10, 29, -4, - 10, 29, 10, -26, 125, 130, 129, 164, 167, 165, + -197, 125, 119, -9, -13, -39, -48, -64, -39, 124, + 135, 124, 124, 124, 126, 126, 124, -13, 128, -13, + 128, 126, 126, 124, 135, 124, -16, -13, -69, -69, + 126, 120, -69, -69, 120, 120, -4, 10, 29, -5, + 10, 29, 10, -27, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -44, 123, -188, -190, -187, 17, 78, -187, - -187, -187, -187, -187, 124, -70, -48, -79, -23, 122, - -81, -83, -161, -127, 121, -127, 121, 120, 136, 123, - 122, -12, 121, -110, -57, -17, 128, 59, -57, 124, - 135, 136, -97, 41, 123, -117, -133, -134, -135, 60, - 61, -100, -121, 56, 82, -44, 119, -126, -100, -41, - 136, -36, -55, -167, -168, 126, -12, -193, 125, 125, - -63, -11, -12, 120, -60, -34, 58, -15, -15, -137, + 127, 82, -48, 123, -188, -190, -187, 17, 78, -187, + -187, -187, -187, -187, 124, -76, -52, -85, -24, 122, + -87, -89, -165, -131, 121, -131, 121, 120, 136, 123, + 122, -13, 121, -115, -63, -18, 128, 59, -63, 124, + 135, 136, -103, 41, 123, -121, -137, -138, -139, 60, + 61, -44, -125, 56, 82, -48, 119, -130, -44, -42, + 136, -37, -59, -171, -172, 126, -13, -193, 125, 125, + -69, -12, -13, 120, -66, -35, 58, -16, -16, -141, 10, 10, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 122, -187, - -44, -188, 126, -191, 135, 58, 10, 52, 124, 121, - -71, -74, -48, -68, -82, -12, 120, 32, 33, -127, - 31, -127, -26, -117, -176, -92, 58, -17, 123, -92, - -96, -23, 122, 10, -26, -98, 42, 123, -117, 124, - 135, -113, 119, -126, -44, -122, 135, -169, -12, 124, - -165, -164, -162, 125, -163, 57, 126, -163, -11, -11, - 126, 120, -61, 57, -12, 128, 126, -187, 122, 124, - -187, -187, -72, 93, 94, -75, 22, 121, 121, -12, - -128, 122, 121, 120, 121, 31, 124, -12, 124, -57, - -55, 124, -48, 136, -105, -99, 124, -184, 44, -134, - -114, 83, -122, 120, -138, -139, -142, -143, -144, -159, - 47, 38, 44, -158, 103, 102, 101, 98, 99, 100, - -100, -62, 125, -166, -163, -11, -58, 120, 126, 126, - -58, -15, -187, 58, -68, -23, -76, 93, 94, 121, - -84, -128, -130, 121, -184, -93, -23, 122, 124, -93, - 28, -26, 119, -100, 119, 119, 123, 12, 120, -140, - 121, 135, -115, -158, 10, -147, -100, -11, -162, 126, - -194, -187, -131, 95, -68, 122, -82, -129, -48, 119, - -48, 121, -48, -101, -48, -48, -186, 12, 128, 136, - -141, 12, 10, -113, 136, -148, 135, 121, 119, 126, - -192, -23, 121, 122, -48, 124, -48, -48, 26, 120, - 12, 120, 120, 124, 135, 12, -26, 121, 135, 136, - 136, 10, -26, -100, -149, -150, -151, -152, -153, -154, - -156, -100, 10, -132, -85, 120, 121, 124, 12, 128, - 12, -26, -26, -145, 120, -151, 121, 121, 45, 29, - 78, -48, -86, -23, 122, -102, 12, 136, 123, -155, - -100, -157, -158, 10, -48, 119, -26, -117, 135, 10, - 24, -48, 124, -100, 121, 120, -146, 121, 119, -103, - -48, -104, -106, -107, 41, 120, -107, 123, -100, -108, - 12, 124, -109, 119, -48, 120, + -48, -188, 126, -191, 135, 58, 10, 52, 124, 121, + -77, -80, -52, -74, -88, -13, 120, 32, 33, -131, + 31, -131, -27, -121, -180, -98, 58, -18, 123, -98, + -102, -24, 122, 10, -27, -104, 42, 123, -121, 124, + 135, -118, 119, -130, -48, -126, 135, -173, -13, 124, + -169, -168, -166, 125, -167, 57, 126, -167, -12, -12, + 126, 120, -67, 57, -13, 128, 126, -187, 122, 124, + -187, -187, -78, 93, 94, -81, 22, 121, 121, -13, + -132, 122, 121, 120, 121, 31, 124, -13, 124, -63, + -59, 124, -52, 136, -110, -105, 124, -61, 44, -138, + -119, 83, -126, 120, -142, -143, -146, -147, -148, -163, + 47, 38, 44, -162, 103, 102, 101, 98, 99, 100, + -44, -68, 125, -170, -167, -12, -64, 120, 126, 126, + -64, -16, -187, 58, -74, -24, -82, 93, 94, 121, + -90, -132, -134, 121, -61, -99, -24, 122, 124, -99, + 28, -27, 119, -44, 119, 119, 123, 12, 120, -144, + 121, 135, -1, -162, 10, -151, -44, -12, -166, 126, + -194, -187, -135, 95, -74, 122, -88, -133, -52, 119, + -52, 121, -52, -106, -52, -52, -60, 12, 128, 136, + -145, 12, 10, -118, 136, -152, 135, 121, 119, 126, + -192, -24, 121, 122, -52, 124, -52, -52, 26, 120, + 12, 120, 120, 124, 135, 12, -27, 121, 135, 136, + 136, 10, -27, -44, -153, -154, -155, -156, -157, -158, + -160, -44, 10, -136, -91, 120, 121, 124, 12, 128, + 12, -27, -27, -149, 120, -155, 121, 121, 45, 29, + 78, -52, -92, -24, 122, -107, 12, 136, 123, -159, + -44, -161, -162, 10, -52, 119, -27, -121, 135, 10, + 24, -52, 124, -44, 121, 120, -150, 121, 119, -108, + -52, -109, -111, -112, 41, 120, -112, 123, -44, -113, + 12, 124, -114, 119, -52, 120, } var yyDef = [...]int{ @@ -2268,25 +2268,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:219 + //line php5/php5.y:221 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:225 + //line php5/php5.y:227 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:226 + //line php5/php5.y:228 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:231 + //line php5/php5.y:233 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2295,7 +2295,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:238 + //line php5/php5.y:240 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2304,31 +2304,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:247 + //line php5/php5.y:249 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:248 + //line php5/php5.y:250 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:249 + //line php5/php5.y:251 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:250 + //line php5/php5.y:252 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:252 + //line php5/php5.y:254 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2340,7 +2340,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:262 + //line php5/php5.y:264 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2352,7 +2352,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:272 + //line php5/php5.y:274 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2360,7 +2360,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:278 + //line php5/php5.y:280 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2368,7 +2368,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:284 + //line php5/php5.y:286 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2380,7 +2380,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:294 + //line php5/php5.y:296 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2392,25 +2392,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:303 + //line php5/php5.y:305 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:307 + //line php5/php5.y:309 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:308 + //line php5/php5.y:310 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:313 + //line php5/php5.y:315 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2422,7 +2422,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:323 + //line php5/php5.y:325 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2437,7 +2437,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:336 + //line php5/php5.y:338 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2449,7 +2449,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:346 + //line php5/php5.y:348 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2464,19 +2464,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:362 + //line php5/php5.y:364 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:366 + //line php5/php5.y:368 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:373 + //line php5/php5.y:375 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2488,7 +2488,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:383 + //line php5/php5.y:385 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2503,7 +2503,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:396 + //line php5/php5.y:398 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2515,7 +2515,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:406 + //line php5/php5.y:408 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2530,19 +2530,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:422 + //line php5/php5.y:424 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:426 + //line php5/php5.y:428 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:433 + //line php5/php5.y:435 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2554,7 +2554,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:443 + //line php5/php5.y:445 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2569,7 +2569,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:456 + //line php5/php5.y:458 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2581,7 +2581,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:466 + //line php5/php5.y:468 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2596,480 +2596,480 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:481 + //line php5/php5.y:483 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:482 + //line php5/php5.y:484 { } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:486 + //line php5/php5.y:488 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:487 + //line php5/php5.y:489 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:494 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:495 { yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:494 + //line php5/php5.y:496 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:495 + //line php5/php5.y:497 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:502 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:503 { } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:507 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:508 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:508 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:508 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:509 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:509 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:509 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:510 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:510 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:510 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:511 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:511 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:511 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:513 + //line php5/php5.y:515 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:517 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:519 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:520 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:521 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:521 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:522 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:523 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:524 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:525 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:526 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:527 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:526 + //line php5/php5.y:528 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:529 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:530 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:531 { } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:532 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:533 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:534 { yyVAL.node = yyDollar[1].node } case 77: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:535 { } case 78: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:534 + //line php5/php5.y:536 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:537 { } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:538 { } case 81: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:538 { } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:539 { } case 83: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:540 { } case 84: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:541 { } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:542 { } case 86: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:546 { } case 87: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:547 { } case 88: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:548 { } case 89: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:549 { } case 90: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:548 + //line php5/php5.y:550 { } case 91: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:551 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:552 + //line php5/php5.y:554 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:553 + //line php5/php5.y:555 { } case 94: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:553 + //line php5/php5.y:555 { } case 95: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:557 + //line php5/php5.y:559 { } case 96: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:558 + //line php5/php5.y:560 { } case 97: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:562 + //line php5/php5.y:564 { } case 98: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:563 + //line php5/php5.y:565 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:567 + //line php5/php5.y:569 { } case 100: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:567 + //line php5/php5.y:569 { } case 101: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:567 + //line php5/php5.y:569 { } case 104: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:576 + //line php5/php5.y:578 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:580 + //line php5/php5.y:582 { } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:584 + //line php5/php5.y:586 { } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:588 + //line php5/php5.y:590 { } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:589 + //line php5/php5.y:591 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:593 + //line php5/php5.y:595 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:594 + //line php5/php5.y:596 { } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:598 + //line php5/php5.y:600 { } case 112: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:600 + //line php5/php5.y:602 { } case 113: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:605 + //line php5/php5.y:607 { } case 114: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:609 + //line php5/php5.y:611 { } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:611 + //line php5/php5.y:613 { } case 116: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:615 + //line php5/php5.y:617 { } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:620 + //line php5/php5.y:622 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:621 + //line php5/php5.y:623 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:622 + //line php5/php5.y:624 { } case 120: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:623 + //line php5/php5.y:625 { } case 121: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:627 + //line php5/php5.y:629 { } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:628 + //line php5/php5.y:630 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:632 + //line php5/php5.y:634 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:646 + //line php5/php5.y:648 { } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:647 + //line php5/php5.y:649 { } case 130: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:651 + //line php5/php5.y:653 { } case 131: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:652 + //line php5/php5.y:654 { } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:657 + //line php5/php5.y:659 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 133: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:659 + //line php5/php5.y:661 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 134: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:661 + //line php5/php5.y:663 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3078,160 +3078,160 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:688 + //line php5/php5.y:690 { } case 142: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:689 + //line php5/php5.y:691 { } case 143: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:694 + //line php5/php5.y:696 { } case 144: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:695 + //line php5/php5.y:697 { } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:696 + //line php5/php5.y:698 { } case 146: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:697 + //line php5/php5.y:699 { } case 147: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:702 + //line php5/php5.y:704 { } case 148: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:703 + //line php5/php5.y:705 { } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:703 + //line php5/php5.y:705 { } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:704 + //line php5/php5.y:706 { } case 151: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:704 + //line php5/php5.y:706 { } case 157: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:723 + //line php5/php5.y:725 { } case 158: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:723 + //line php5/php5.y:725 { } case 160: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:729 + //line php5/php5.y:731 { } case 161: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:729 + //line php5/php5.y:731 { } case 170: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:758 + //line php5/php5.y:760 { } case 171: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:760 + //line php5/php5.y:762 { } case 172: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:765 + //line php5/php5.y:767 { } case 173: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:766 + //line php5/php5.y:768 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:769 { } case 175: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:768 + //line php5/php5.y:770 { } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:774 + //line php5/php5.y:776 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:775 + //line php5/php5.y:777 { } case 178: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:776 + //line php5/php5.y:778 { } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:786 + //line php5/php5.y:788 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:787 + //line php5/php5.y:789 { } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:788 + //line php5/php5.y:790 { } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:791 { } case 185: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:793 + //line php5/php5.y:795 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 186: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:794 + //line php5/php5.y:796 { yyVAL.list = []node.Node{yyDollar[1].node} } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:800 + //line php5/php5.y:802 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3243,7 +3243,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:810 + //line php5/php5.y:812 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3251,7 +3251,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:816 + //line php5/php5.y:818 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3259,7 +3259,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:826 + //line php5/php5.y:828 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3278,7 +3278,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:843 + //line php5/php5.y:845 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3297,7 +3297,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:860 + //line php5/php5.y:862 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3316,7 +3316,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:877 + //line php5/php5.y:879 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3335,272 +3335,272 @@ yydefault: } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:904 + //line php5/php5.y:906 { } case 200: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:907 + //line php5/php5.y:909 { } case 201: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:909 + //line php5/php5.y:911 { } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:917 + //line php5/php5.y:919 { } case 204: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:918 + //line php5/php5.y:920 { } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:942 + //line php5/php5.y:944 { } case 214: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:946 + //line php5/php5.y:948 { } case 215: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:947 + //line php5/php5.y:949 { } case 216: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:951 + //line php5/php5.y:953 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:952 + //line php5/php5.y:954 { } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:956 + //line php5/php5.y:958 { } case 219: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:962 { } case 220: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:961 + //line php5/php5.y:963 { } case 221: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:965 + //line php5/php5.y:967 { } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:966 + //line php5/php5.y:968 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:970 + //line php5/php5.y:972 { } case 224: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:971 + //line php5/php5.y:973 { } case 225: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:977 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:978 { } case 227: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:982 { } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:983 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:987 { } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:986 + //line php5/php5.y:988 { } case 231: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:992 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:993 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:994 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:993 + //line php5/php5.y:995 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:996 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:997 { } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:1001 { } case 238: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1000 + //line php5/php5.y:1002 { } case 239: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1003 { } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1004 { } case 241: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1008 { } case 242: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1007 + //line php5/php5.y:1009 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1013 { } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1012 + //line php5/php5.y:1014 { } case 245: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1019 { } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1018 + //line php5/php5.y:1020 { } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1024 { } case 248: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1022 + //line php5/php5.y:1024 { } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1023 + //line php5/php5.y:1025 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1029 { } case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1030 { } case 252: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1032 + //line php5/php5.y:1034 { } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1033 + //line php5/php5.y:1035 { } case 254: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1039 { } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1039 { } case 256: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1040 { } case 257: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1041 { } case 258: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1045 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1044 + //line php5/php5.y:1046 { } case 260: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1047 { } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1052 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3614,7 +3614,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1067 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3626,549 +3626,636 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1074 + //line php5/php5.y:1076 { } case 264: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1077 { } case 265: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1078 { } case 266: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1078 { } case 267: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1079 { } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1080 { } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1081 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1082 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1083 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1084 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1085 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1086 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1087 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1088 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1089 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1088 + //line php5/php5.y:1090 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1089 + //line php5/php5.y:1091 { } case 280: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1090 + //line php5/php5.y:1092 { } case 281: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1091 + //line php5/php5.y:1093 { } case 282: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1092 + //line php5/php5.y:1094 { } case 283: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1095 { } case 284: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1096 { } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1096 { } case 286: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1097 { } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1097 { } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1098 { } case 289: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1098 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1099 { } case 291: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1099 { } case 292: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1100 { } case 293: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1101 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1100 + //line php5/php5.y:1102 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1103 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1102 + //line php5/php5.y:1104 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1105 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1106 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1107 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1108 { } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1107 + //line php5/php5.y:1109 { } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1108 + //line php5/php5.y:1110 { } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1109 + //line php5/php5.y:1111 { } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1110 + //line php5/php5.y:1112 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1111 + //line php5/php5.y:1113 { } case 306: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1112 + //line php5/php5.y:1114 { } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1115 { } case 308: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1114 + //line php5/php5.y:1116 { } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1117 { } case 310: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1116 + //line php5/php5.y:1118 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1119 { } case 312: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1118 + //line php5/php5.y:1120 { } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1119 + //line php5/php5.y:1121 { } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1120 + //line php5/php5.y:1122 { } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1121 + //line php5/php5.y:1123 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1124 { } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1123 + //line php5/php5.y:1125 { } case 318: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1124 + //line php5/php5.y:1126 { } case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1126 + //line php5/php5.y:1128 { yyVAL.node = yyDollar[1].node } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1129 { } case 321: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1129 { } case 322: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1128 + //line php5/php5.y:1130 { } case 323: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1131 { } case 324: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1132 { } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1133 { } case 326: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1134 { } case 327: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1133 + //line php5/php5.y:1135 { } case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1134 + //line php5/php5.y:1136 { } case 329: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1135 + //line php5/php5.y:1137 { } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1136 + //line php5/php5.y:1138 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1137 + //line php5/php5.y:1139 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1138 + //line php5/php5.y:1140 { } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1139 + //line php5/php5.y:1141 { } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1140 + //line php5/php5.y:1142 { } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1143 { } case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1142 + //line php5/php5.y:1144 { } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1142 + //line php5/php5.y:1144 { } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1143 + //line php5/php5.y:1145 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1144 + //line php5/php5.y:1146 { } case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1145 + //line php5/php5.y:1147 { } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1148 { } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1147 + //line php5/php5.y:1149 { } case 343: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1148 + //line php5/php5.y:1150 { } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1151 { } case 345: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1153 { } case 346: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1152 + //line php5/php5.y:1154 { } case 347: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1154 + //line php5/php5.y:1156 { } case 348: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1160 { } case 349: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1159 + //line php5/php5.y:1161 { } case 350: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1162 { } case 351: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1161 + //line php5/php5.y:1163 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1165 + //line php5/php5.y:1168 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1166 + //line php5/php5.y:1174 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1167 + //line php5/php5.y:1180 { + str := scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(str, yyDollar[1].token.Comments()) + + yyVAL.node = expr.NewArrayDimFetch(str, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[str]) } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1168 + //line php5/php5.y:1190 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1172 + //line php5/php5.y:1199 { + yyVAL.node = expr.NewArray(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 357: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1173 + //line php5/php5.y:1205 { + yyVAL.node = expr.NewShortArray(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1177 + //line php5/php5.y:1214 { + yyVAL.token = yyDollar[1].token + } + case 359: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1219 + { + yyVAL.list = []node.Node{} + } + case 360: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1221 + { + yyVAL.list = yyDollar[3].list } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1186 + //line php5/php5.y:1226 { + identifier := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(identifier, yyDollar[3].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(variable, yyDollar[3].token.Comments()) + + use := expr.NewClusureUse(variable, false) + positions.AddPosition(use, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(use, yyDollar[3].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, use) } case 362: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1187 + //line php5/php5.y:1242 { + identifier := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(identifier, yyDollar[4].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(variable, yyDollar[3].token.Comments()) + + use := expr.NewClusureUse(variable, true) + positions.AddPosition(use, positionBuilder.NewTokensPosition(yyDollar[3].token, yyDollar[4].token)) + comments.AddComments(use, yyDollar[3].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, use) } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1188 + //line php5/php5.y:1258 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(identifier, yyDollar[1].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(variable, yyDollar[1].token.Comments()) + + use := expr.NewClusureUse(variable, false) + positions.AddPosition(use, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(use, yyDollar[1].token.Comments()) + + yyVAL.list = []node.Node{use} } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1189 + //line php5/php5.y:1274 { + identifier := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(identifier, yyDollar[2].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(variable, yyDollar[1].token.Comments()) + + use := expr.NewClusureUse(variable, true) + positions.AddPosition(use, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(use, yyDollar[1].token.Comments()) + + yyVAL.list = []node.Node{use} } case 365: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1193 + //line php5/php5.y:1292 { } case 366: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1194 + //line php5/php5.y:1293 { } case 367: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1195 + //line php5/php5.y:1294 { } case 368: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1196 + //line php5/php5.y:1295 { } case 369: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1197 + //line php5/php5.y:1296 { } case 370: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1198 + //line php5/php5.y:1297 { } case 371: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1199 + //line php5/php5.y:1298 { } case 372: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1200 + //line php5/php5.y:1299 { } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1205 + //line php5/php5.y:1304 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4176,7 +4263,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1211 + //line php5/php5.y:1310 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4184,7 +4271,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1217 + //line php5/php5.y:1316 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4192,7 +4279,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1223 + //line php5/php5.y:1322 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4200,34 +4287,43 @@ yydefault: } case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1231 + //line php5/php5.y:1331 { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1232 + //line php5/php5.y:1337 { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 379: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1233 + //line php5/php5.y:1343 { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 380: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1238 + //line php5/php5.y:1352 { yyVAL.node = yyDollar[1].node } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1240 + //line php5/php5.y:1354 { yyVAL.node = yyDollar[1].node } case 382: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1245 + //line php5/php5.y:1359 { yyVAL.node = yyDollar[1].node @@ -4259,73 +4355,73 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1275 + //line php5/php5.y:1389 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1395 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } case 385: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1283 + //line php5/php5.y:1397 { yyVAL.objectPropertyList = []objectProperty{} } case 386: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1289 + //line php5/php5.y:1403 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } case 387: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1407 { } case 388: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1294 + //line php5/php5.y:1408 { } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1295 + //line php5/php5.y:1409 { } case 390: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1413 { } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1300 + //line php5/php5.y:1414 { } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1301 + //line php5/php5.y:1415 { } case 393: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1306 + //line php5/php5.y:1420 { yyVAL.nodesWithEndToken = nil } case 394: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1308 + //line php5/php5.y:1422 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1313 + //line php5/php5.y:1427 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4333,7 +4429,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1319 + //line php5/php5.y:1433 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4341,7 +4437,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1325 + //line php5/php5.y:1439 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4349,7 +4445,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1331 + //line php5/php5.y:1445 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4357,7 +4453,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1337 + //line php5/php5.y:1451 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4365,7 +4461,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1343 + //line php5/php5.y:1457 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4373,7 +4469,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1349 + //line php5/php5.y:1463 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4381,7 +4477,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1355 + //line php5/php5.y:1469 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4389,7 +4485,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1361 + //line php5/php5.y:1475 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4397,7 +4493,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1367 + //line php5/php5.y:1481 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4405,7 +4501,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1487 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -4413,7 +4509,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1378 + //line php5/php5.y:1492 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -4421,7 +4517,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1387 + //line php5/php5.y:1501 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4433,247 +4529,257 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1399 + //line php5/php5.y:1513 { } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1403 + //line php5/php5.y:1517 { } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1404 + //line php5/php5.y:1518 { } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1405 + //line php5/php5.y:1519 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1406 + //line php5/php5.y:1520 { } case 413: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1407 + //line php5/php5.y:1521 { } case 414: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1408 + //line php5/php5.y:1522 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1409 + //line php5/php5.y:1523 { } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1410 + //line php5/php5.y:1524 { } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1411 + //line php5/php5.y:1525 { } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1412 + //line php5/php5.y:1526 { } case 419: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1416 + //line php5/php5.y:1530 { } case 420: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1417 + //line php5/php5.y:1531 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1418 + //line php5/php5.y:1532 { } case 422: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1419 + //line php5/php5.y:1533 { } case 423: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1420 + //line php5/php5.y:1534 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1421 + //line php5/php5.y:1535 { } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1422 + //line php5/php5.y:1536 { } case 426: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1537 { } case 427: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1424 + //line php5/php5.y:1538 { } case 428: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1425 + //line php5/php5.y:1539 { } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1426 + //line php5/php5.y:1540 { } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1427 + //line php5/php5.y:1541 { } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1428 + //line php5/php5.y:1542 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1429 + //line php5/php5.y:1543 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1430 + //line php5/php5.y:1544 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1431 + //line php5/php5.y:1545 { } case 435: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1432 + //line php5/php5.y:1546 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1433 + //line php5/php5.y:1547 { } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1548 { } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1435 + //line php5/php5.y:1549 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1436 + //line php5/php5.y:1550 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1437 + //line php5/php5.y:1551 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1438 + //line php5/php5.y:1552 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1553 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1440 + //line php5/php5.y:1554 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1441 + //line php5/php5.y:1555 { } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1556 { } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1443 + //line php5/php5.y:1557 { } case 447: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1444 + //line php5/php5.y:1558 { } case 448: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1559 { } case 449: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1446 + //line php5/php5.y:1560 { } case 450: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1447 + //line php5/php5.y:1561 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1448 + //line php5/php5.y:1562 { } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1452 + //line php5/php5.y:1567 { + yyVAL.node = yyDollar[1].node } case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1453 + //line php5/php5.y:1569 { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1454 + //line php5/php5.y:1575 { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 455: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1455 + //line php5/php5.y:1581 { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1460 + //line php5/php5.y:1590 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4685,25 +4791,25 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1470 + //line php5/php5.y:1600 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1472 + //line php5/php5.y:1602 { yyVAL.node = yyDollar[1].node } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1474 + //line php5/php5.y:1604 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1606 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4711,7 +4817,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1612 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4719,7 +4825,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1618 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4727,149 +4833,149 @@ yydefault: } case 463: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:1626 { } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1497 + //line php5/php5.y:1627 { } case 467: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1506 + //line php5/php5.y:1636 { } case 468: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1507 + //line php5/php5.y:1637 { } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1508 + //line php5/php5.y:1638 { } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1509 + //line php5/php5.y:1639 { } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1513 + //line php5/php5.y:1643 { yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1514 + //line php5/php5.y:1644 { yyVAL.node = yyDollar[1].node } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1518 + //line php5/php5.y:1648 { } case 474: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1519 + //line php5/php5.y:1649 { } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1525 + //line php5/php5.y:1655 { yyVAL.node = yyDollar[1].node } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1533 + //line php5/php5.y:1663 { yyVAL.node = yyDollar[1].node } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1670 { yyVAL.node = yyDollar[1].node } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1547 + //line php5/php5.y:1677 { } case 479: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1679 { yyVAL.node = yyDollar[1].node } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1553 + //line php5/php5.y:1683 { } case 481: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1554 + //line php5/php5.y:1684 { } case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1559 + //line php5/php5.y:1689 { } case 483: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1559 + //line php5/php5.y:1689 { } case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1563 + //line php5/php5.y:1693 { } case 485: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1564 + //line php5/php5.y:1694 { } case 486: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1568 + //line php5/php5.y:1698 { } case 487: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1569 + //line php5/php5.y:1699 { } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1573 + //line php5/php5.y:1703 { } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1574 + //line php5/php5.y:1704 { } case 490: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1575 + //line php5/php5.y:1705 { } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1580 + //line php5/php5.y:1710 { yyVAL.node = yyDollar[1].node } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1582 + //line php5/php5.y:1712 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4881,7 +4987,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1595 + //line php5/php5.y:1725 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4889,7 +4995,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1731 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4897,47 +5003,47 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1611 + //line php5/php5.y:1741 { yyVAL.node = yyDollar[1].node } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1616 + //line php5/php5.y:1746 { } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1748 { } case 498: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1622 + //line php5/php5.y:1752 { yyVAL.node = yyDollar[1].node } case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1623 + //line php5/php5.y:1753 { yyVAL.node = yyDollar[1].node } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1624 + //line php5/php5.y:1754 { yyVAL.node = yyDollar[1].node } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1760 { yyVAL.node = yyDollar[1].node } case 502: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1632 + //line php5/php5.y:1762 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4949,13 +5055,13 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1642 + //line php5/php5.y:1772 { yyVAL.node = yyDollar[1].node } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1647 + //line php5/php5.y:1777 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4963,7 +5069,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1653 + //line php5/php5.y:1783 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4971,13 +5077,13 @@ yydefault: } case 506: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1789 { yyVAL.node = yyDollar[1].node } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1665 + //line php5/php5.y:1795 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4989,7 +5095,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1675 + //line php5/php5.y:1805 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4997,53 +5103,53 @@ yydefault: } case 509: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1683 + //line php5/php5.y:1813 { yyVAL.node = nil } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1684 + //line php5/php5.y:1814 { yyVAL.node = yyDollar[1].node } case 511: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1820 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1692 + //line php5/php5.y:1822 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 513: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1700 + //line php5/php5.y:1830 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 514: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1705 + //line php5/php5.y:1835 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1710 + //line php5/php5.y:1840 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1718 + //line php5/php5.y:1848 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5051,13 +5157,13 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1724 + //line php5/php5.y:1854 { yyVAL.node = yyDollar[2].node } case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1729 + //line php5/php5.y:1859 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5067,7 +5173,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1737 + //line php5/php5.y:1867 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5081,25 +5187,25 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1752 + //line php5/php5.y:1882 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1754 + //line php5/php5.y:1884 { yyVAL.list = []node.Node{yyDollar[1].node} } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1760 + //line php5/php5.y:1890 { yyVAL.node = yyDollar[1].node } case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1762 + //line php5/php5.y:1892 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5107,25 +5213,25 @@ yydefault: } case 524: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1898 { yyVAL.node = nil } case 525: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1774 + //line php5/php5.y:1904 { yyVAL.list = nil } case 526: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1776 + //line php5/php5.y:1906 { yyVAL.list = yyDollar[1].list } case 527: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1781 + //line php5/php5.y:1911 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5135,7 +5241,7 @@ yydefault: } case 528: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1789 + //line php5/php5.y:1919 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5145,7 +5251,7 @@ yydefault: } case 529: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1797 + //line php5/php5.y:1927 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5155,7 +5261,7 @@ yydefault: } case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1805 + //line php5/php5.y:1935 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5165,7 +5271,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1813 + //line php5/php5.y:1943 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5175,7 +5281,7 @@ yydefault: } case 532: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1821 + //line php5/php5.y:1951 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5185,7 +5291,7 @@ yydefault: } case 533: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1829 + //line php5/php5.y:1959 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5195,7 +5301,7 @@ yydefault: } case 534: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1837 + //line php5/php5.y:1967 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5205,13 +5311,13 @@ yydefault: } case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1848 + //line php5/php5.y:1978 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 536: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1850 + //line php5/php5.y:1980 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5220,13 +5326,13 @@ yydefault: } case 537: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1857 + //line php5/php5.y:1987 { yyVAL.list = []node.Node{yyDollar[1].node} } case 538: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1859 + //line php5/php5.y:1989 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5235,7 +5341,7 @@ yydefault: } case 539: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1869 + //line php5/php5.y:1999 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5247,7 +5353,7 @@ yydefault: } case 540: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1879 + //line php5/php5.y:2009 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5262,7 +5368,7 @@ yydefault: } case 541: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1892 + //line php5/php5.y:2022 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5280,7 +5386,7 @@ yydefault: } case 542: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1908 + //line php5/php5.y:2038 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5288,7 +5394,7 @@ yydefault: } case 543: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1914 + //line php5/php5.y:2044 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5303,13 +5409,13 @@ yydefault: } case 544: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1928 + //line php5/php5.y:2058 { yyVAL.node = yyDollar[2].node } case 545: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1933 + //line php5/php5.y:2063 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5317,7 +5423,7 @@ yydefault: } case 546: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1939 + //line php5/php5.y:2069 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5331,7 +5437,7 @@ yydefault: } case 547: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1951 + //line php5/php5.y:2081 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5343,7 +5449,7 @@ yydefault: } case 548: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1964 + //line php5/php5.y:2094 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5351,7 +5457,7 @@ yydefault: } case 549: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1970 + //line php5/php5.y:2100 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5359,7 +5465,7 @@ yydefault: } case 550: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1976 + //line php5/php5.y:2106 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5367,7 +5473,7 @@ yydefault: } case 551: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1982 + //line php5/php5.y:2112 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5375,7 +5481,7 @@ yydefault: } case 552: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:2118 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5383,7 +5489,7 @@ yydefault: } case 553: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1994 + //line php5/php5.y:2124 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5391,7 +5497,7 @@ yydefault: } case 554: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2000 + //line php5/php5.y:2130 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5399,7 +5505,7 @@ yydefault: } case 555: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2006 + //line php5/php5.y:2136 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5407,31 +5513,31 @@ yydefault: } case 556: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2015 + //line php5/php5.y:2145 { yyVAL.list = []node.Node{yyDollar[1].node} } case 557: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2017 + //line php5/php5.y:2147 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 558: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2021 + //line php5/php5.y:2151 { yyVAL.node = yyDollar[1].node } case 559: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2022 + //line php5/php5.y:2152 { yyVAL.node = yyDollar[1].node } case 560: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2027 + //line php5/php5.y:2157 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5443,7 +5549,7 @@ yydefault: } case 561: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2037 + //line php5/php5.y:2167 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5455,7 +5561,7 @@ yydefault: } case 562: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2050 + //line php5/php5.y:2180 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5467,7 +5573,7 @@ yydefault: } case 563: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2063 + //line php5/php5.y:2193 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 46b561f..7395590 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -194,6 +194,8 @@ import ( %left T_ENDIF %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC +%type function + %type top_statement use_declaration use_function_declaration use_const_declaration common_scalar %type static_class_constant compound_variable reference_variable class_name variable_class_name %type dim_offset expr expr_without_variable r_variable w_variable rw_variable variable base_variable_with_function_calls @@ -201,11 +203,11 @@ import ( %type inner_statement statement global_var static_scalar scalar class_constant static_class_name_scalar class_name_scalar %type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc assignment_list_element %type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member -%type function_call +%type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list -%type array_pair_list assignment_list +%type array_pair_list assignment_list lexical_var_list lexical_vars %type simple_indirect_reference %type foreach_variable @@ -1162,31 +1164,128 @@ yield_expr: ; combined_scalar_offset: - combined_scalar '[' dim_offset ']' { } - | combined_scalar_offset '[' dim_offset ']' { } - | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { } - | general_constant '[' dim_offset ']' { } + combined_scalar '[' dim_offset ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | combined_scalar_offset '[' dim_offset ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' + { + str := scalar.NewString($1.Value) + positions.AddPosition(str, positionBuilder.NewTokenPosition($1)) + comments.AddComments(str, $1.Comments()) + + $$ = expr.NewArrayDimFetch(str, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition(str, $4)) + comments.AddComments($$, comments[str]) + } + | general_constant '[' dim_offset ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } ; combined_scalar: - T_ARRAY '(' array_pair_list ')' { } - | '[' array_pair_list ']' { } + T_ARRAY '(' array_pair_list ')' + { + $$ = expr.NewArray($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | '[' array_pair_list ']' + { + $$ = expr.NewShortArray($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } ; function: - T_FUNCTION { } + T_FUNCTION + { $$ = $1 } ; lexical_vars: /* empty */ + { $$ = []node.Node{} } | T_USE '(' lexical_var_list ')' + { $$ = $3; } ; lexical_var_list: - lexical_var_list ',' T_VARIABLE { } - | lexical_var_list ',' '&' T_VARIABLE { } - | T_VARIABLE { } - | '&' T_VARIABLE { } + lexical_var_list ',' T_VARIABLE + { + identifier := node.NewIdentifier($3.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($3)) + comments.AddComments(identifier, $3.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($3)) + comments.AddComments(variable, $3.Comments()) + + use := expr.NewClusureUse(variable, false) + positions.AddPosition(use, positionBuilder.NewTokenPosition($3)) + comments.AddComments(use, $3.Comments()) + + $$ = append($1, use) + } + | lexical_var_list ',' '&' T_VARIABLE + { + identifier := node.NewIdentifier($4.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) + comments.AddComments(identifier, $4.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) + comments.AddComments(variable, $3.Comments()) + + use := expr.NewClusureUse(variable, true) + positions.AddPosition(use, positionBuilder.NewTokensPosition($3, $4)) + comments.AddComments(use, $3.Comments()) + + $$ = append($1, use) + } + | T_VARIABLE + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + comments.AddComments(identifier, $1.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + comments.AddComments(variable, $1.Comments()) + + use := expr.NewClusureUse(variable, false) + positions.AddPosition(use, positionBuilder.NewTokenPosition($1)) + comments.AddComments(use, $1.Comments()) + + $$ = []node.Node{use} + } + | '&' T_VARIABLE + { + identifier := node.NewIdentifier($2.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) + comments.AddComments(identifier, $2.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) + comments.AddComments(variable, $1.Comments()) + + use := expr.NewClusureUse(variable, true) + positions.AddPosition(use, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments(use, $1.Comments()) + + $$ = []node.Node{use} + } ; function_call: @@ -1228,9 +1327,24 @@ class_name: ; fully_qualified_class_name: - namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + namespace_name + { + $$ = name.NewName($1) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NAMESPACE T_NS_SEPARATOR namespace_name + { + $$ = name.NewRelative($3) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_SEPARATOR namespace_name + { + $$ = name.NewFullyQualified($2) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; class_name_reference: @@ -1450,10 +1564,26 @@ static_operation: ; general_constant: - class_constant { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } + class_constant + { $$ = $1 } + | namespace_name + { + $$ = name.NewName($1) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NAMESPACE T_NS_SEPARATOR namespace_name + { + $$ = name.NewRelative($3) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_SEPARATOR namespace_name + { + $$ = name.NewFullyQualified($2) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; scalar: From 79a9bf3282c6d9a1b3da503092180119dff53a33 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Fri, 2 Feb 2018 15:01:03 +0200 Subject: [PATCH 17/31] php5 syntax --- php5/php5.go | 1393 +++++++++++++++++++++++++------------------------- php5/php5.y | 24 +- 2 files changed, 715 insertions(+), 702 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index b7a45ec..078a19e 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2204 +//line php5/php5.y:2212 //line yacctab:1 var yyExca = [...]int{ @@ -683,27 +683,27 @@ var yyAct = [...]int{ 977, 590, 588, 589, 986, 512, 940, 727, 665, 992, 514, 514, 439, 521, 543, 393, 563, 254, 251, 1015, 439, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 1011, 1012, 248, 551, 794, 563, - 923, 381, 576, 1023, 358, 1032, 881, 357, 514, 563, - 356, 1037, 882, 355, 1021, 880, 38, 936, 38, 563, - 38, 817, 38, 38, 524, 724, 723, 893, 820, 821, - 524, 524, 1036, 682, 1056, 1034, 336, 879, 563, 1031, - 1000, 1029, 38, 999, 38, 38, 1041, 998, 997, 995, - 994, 965, 230, 935, 230, 1046, 1013, 878, 877, 1050, - 876, 960, 929, 601, 875, 446, 887, 888, 889, 886, - 885, 884, 874, 476, 1064, 208, 209, 210, 211, 213, + 218, 219, 220, 212, 1011, 1012, 551, 794, 381, 563, + 923, 576, 358, 1023, 357, 1032, 881, 356, 514, 563, + 355, 1037, 882, 817, 1021, 880, 38, 936, 38, 563, + 38, 724, 38, 38, 524, 723, 893, 820, 821, 682, + 524, 524, 1036, 336, 1056, 1034, 879, 1031, 563, 1000, + 1029, 999, 38, 998, 38, 38, 1041, 997, 995, 994, + 965, 935, 230, 1046, 230, 1013, 878, 877, 876, 1050, + 960, 929, 875, 601, 874, 446, 887, 888, 889, 886, + 885, 884, 476, 708, 1064, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, 928, 38, - 708, 230, 706, 1003, 524, 942, 912, 947, 566, 396, - 40, 993, 38, 1001, 712, 881, 561, 394, 39, 38, - 559, 882, 870, 14, 880, 13, 1062, 1059, 38, 524, - 1052, 864, 512, 1051, 1049, 1025, 953, 865, 805, 116, - 1001, 512, 38, 903, 702, 800, 556, 195, 512, 512, - 512, 512, 512, 383, 163, 537, 338, 1022, 1004, 910, - 681, 680, 140, 1030, 677, 533, 139, 906, 845, 524, - 781, 532, 649, 647, 648, 887, 888, 889, 886, 885, - 884, 842, 780, 1043, 675, 331, 10, 1, 832, 734, - 438, 956, 289, 453, 231, 231, 160, 873, 156, 317, - 313, 126, 1058, 74, 75, 115, 265, 63, 88, 579, + 706, 230, 1003, 942, 524, 912, 947, 566, 396, 40, + 712, 993, 38, 1001, 561, 881, 394, 39, 559, 38, + 870, 882, 14, 13, 880, 1062, 1059, 1052, 38, 524, + 864, 1051, 512, 1049, 1025, 953, 865, 805, 702, 116, + 1001, 512, 38, 903, 800, 556, 195, 383, 512, 512, + 512, 512, 512, 163, 537, 338, 1022, 1004, 910, 681, + 680, 140, 677, 1030, 533, 139, 906, 845, 781, 524, + 532, 842, 649, 647, 648, 887, 888, 889, 886, 885, + 884, 780, 675, 1043, 331, 10, 1, 832, 734, 438, + 956, 289, 453, 160, 231, 231, 156, 873, 317, 313, + 126, 248, 1058, 74, 75, 115, 265, 63, 88, 579, 634, 89, 660, 642, 636, 635, 513, 100, 73, 272, 11, 325, 99, 98, 78, 524, 118, 519, 511, 3, 524, 0, 0, 0, 651, 650, 641, 643, 654, 655, @@ -1535,65 +1535,65 @@ var yyPgo = [...]int{ 275, 1149, 14, 1389, 85, 63, 16, 823, 1646, 1234, 40, 1233, 1232, 1231, 18, 1230, 43, 24, 1228, 1227, 1226, 1221, 82, 1219, 1218, 32, 1217, 33, 38, 166, - 1216, 808, 44, 1215, 154, 1214, 1213, 52, 0, 1211, - 1210, 1209, 30, 1208, 1206, 668, 1203, 1202, 53, 23, - 1201, 15, 41, 28, 20, 1200, 1199, 1198, 19, 267, - 1197, 47, 39, 1196, 46, 1195, 1194, 1192, 1191, 1181, - 1180, 1178, 1177, 1176, 1175, 1174, 1172, 1171, 26, 1170, - 1169, 1168, 1167, 1166, 1165, 49, 1164, 1163, 29, 7, - 1157, 1156, 1155, 1154, 1148, 1147, 1146, 1145, 1144, 1143, - 1141, 1140, 1, 1137, 1136, 34, 1135, 1133, 8, 1132, - 1130, 2, 1128, 1127, 1126, 1124, 13, 1120, 1119, 1118, - 22, 36, 11, 1117, 1116, 1115, 1113, 1112, 17, 1110, - 1093, 48, 1092, 1084, 1082, 1081, 1080, 1078, 1077, 1076, - 1075, 1073, 1071, 1070, 1069, 3, 1068, 1067, 1063, 1061, - 1060, 1059, 5, 1057, 1056, 1053, 6, 12, 1049, 1048, + 1216, 808, 44, 1215, 154, 1214, 1213, 46, 1211, 49, + 52, 0, 1210, 1209, 1208, 30, 1206, 1203, 668, 1202, + 1201, 53, 23, 1200, 15, 41, 28, 20, 1199, 1198, + 1197, 19, 267, 1196, 47, 39, 1195, 1194, 1192, 1191, + 1181, 1180, 1178, 1177, 1176, 1175, 1174, 1172, 1171, 1170, + 26, 1169, 1168, 1167, 1166, 1165, 1164, 1163, 1157, 29, + 7, 1156, 1155, 1154, 1148, 1147, 1146, 1145, 1144, 1143, + 1141, 1140, 1137, 1, 1136, 1135, 34, 1133, 1132, 8, + 1130, 1128, 2, 1127, 1126, 1124, 1120, 13, 1119, 1118, + 1117, 22, 36, 11, 1116, 1115, 1113, 1112, 1110, 17, + 1093, 1092, 48, 1084, 1082, 1081, 1080, 1078, 1077, 1076, + 1075, 1073, 1071, 1070, 1069, 1068, 3, 1067, 1063, 1061, + 1060, 1059, 1057, 5, 1056, 1053, 1049, 6, 12, 1048, 1047, 1046, 1045, 1041, 1033, 1030, 1027, 1024, 1022, 1021, 1018, 1017, 1016, 998, 997, 995, 994, 1238, 31, 993, 988, 27, 4, 987, 986, 983, 982, 981, } var yyR1 = [...]int{ - 0, 70, 47, 47, 48, 48, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 49, 49, 3, - 3, 3, 3, 50, 50, 4, 4, 4, 4, 51, - 51, 5, 5, 5, 5, 73, 73, 52, 52, 23, - 23, 23, 23, 24, 24, 25, 75, 76, 25, 79, - 80, 25, 83, 84, 25, 86, 87, 25, 89, 90, - 91, 25, 93, 25, 25, 25, 25, 25, 25, 25, + 0, 73, 50, 50, 51, 51, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 52, 52, 3, + 3, 3, 3, 53, 53, 4, 4, 4, 4, 54, + 54, 5, 5, 5, 5, 76, 76, 55, 55, 23, + 23, 23, 23, 24, 24, 25, 77, 78, 25, 81, + 82, 25, 85, 86, 25, 88, 89, 25, 91, 92, + 93, 25, 95, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 100, 25, 25, 25, 25, 25, 103, 105, 106, 107, - 108, 103, 104, 110, 104, 109, 109, 111, 111, 113, - 114, 112, 97, 97, 115, 71, 72, 118, 118, 119, - 119, 120, 116, 124, 117, 128, 117, 122, 122, 122, - 122, 123, 123, 127, 129, 129, 125, 125, 130, 130, - 98, 98, 63, 63, 63, 92, 92, 99, 99, 102, - 102, 101, 101, 94, 94, 94, 94, 131, 133, 131, - 134, 131, 132, 132, 85, 85, 77, 135, 77, 81, - 136, 81, 78, 78, 82, 82, 121, 121, 137, 137, - 138, 138, 139, 139, 139, 139, 69, 69, 69, 140, - 140, 141, 141, 141, 141, 53, 53, 26, 26, 26, - 54, 54, 54, 54, 126, 126, 144, 142, 142, 142, - 149, 142, 147, 151, 151, 152, 152, 153, 153, 154, - 154, 155, 155, 156, 159, 159, 160, 160, 158, 157, - 157, 161, 161, 150, 150, 143, 143, 148, 148, 163, - 163, 162, 162, 162, 162, 162, 162, 145, 145, 145, - 145, 146, 146, 96, 96, 88, 88, 165, 164, 164, - 166, 166, 168, 168, 170, 169, 169, 169, 171, 172, - 171, 41, 14, 14, 14, 173, 14, 14, 14, 14, + 101, 25, 25, 25, 25, 25, 104, 106, 107, 108, + 109, 104, 105, 111, 105, 110, 110, 112, 112, 114, + 115, 113, 98, 98, 116, 74, 75, 119, 119, 120, + 120, 121, 117, 125, 118, 129, 118, 123, 123, 123, + 123, 124, 124, 128, 130, 130, 126, 126, 131, 131, + 99, 99, 66, 66, 66, 94, 94, 100, 100, 103, + 103, 102, 102, 96, 96, 96, 96, 132, 134, 132, + 135, 132, 133, 133, 87, 87, 79, 136, 79, 83, + 137, 83, 80, 80, 84, 84, 122, 122, 138, 138, + 139, 139, 140, 140, 140, 140, 72, 72, 72, 141, + 141, 142, 142, 142, 142, 56, 56, 26, 26, 26, + 57, 57, 57, 57, 127, 127, 145, 143, 143, 143, + 150, 143, 148, 152, 152, 153, 153, 154, 154, 155, + 155, 156, 156, 157, 160, 160, 161, 161, 159, 158, + 158, 162, 162, 151, 151, 144, 144, 149, 149, 164, + 164, 163, 163, 163, 163, 163, 163, 146, 146, 146, + 146, 147, 147, 97, 97, 90, 90, 166, 165, 165, + 167, 167, 169, 169, 171, 170, 170, 170, 172, 173, + 172, 41, 14, 14, 14, 174, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 174, 14, 175, 14, 176, 14, - 177, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 175, 14, 176, 14, 177, 14, + 178, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 178, 14, 179, 180, 14, 181, 14, 14, 14, 14, + 179, 14, 180, 181, 14, 182, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 183, 14, 14, 14, - 14, 14, 14, 14, 185, 14, 186, 14, 95, 95, - 95, 95, 46, 46, 46, 46, 45, 45, 1, 61, - 61, 60, 60, 60, 60, 22, 22, 22, 22, 22, + 14, 14, 14, 14, 185, 14, 186, 14, 49, 49, + 49, 49, 46, 46, 46, 46, 45, 45, 1, 64, + 64, 63, 63, 63, 63, 22, 22, 22, 22, 22, 22, 22, 22, 10, 10, 10, 10, 44, 44, 44, - 42, 42, 40, 40, 66, 66, 67, 182, 182, 182, - 184, 184, 184, 68, 68, 6, 6, 6, 6, 6, + 42, 42, 40, 40, 69, 69, 70, 48, 48, 48, + 184, 184, 184, 71, 71, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 27, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, @@ -1601,15 +1601,15 @@ var yyR1 = [...]int{ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 34, 34, 34, 34, 28, 28, 28, 28, 28, 28, 28, 188, 188, 191, 191, 190, 190, 190, - 190, 13, 13, 74, 74, 15, 16, 17, 18, 18, - 193, 193, 194, 167, 195, 195, 197, 196, 192, 192, + 190, 13, 13, 47, 47, 15, 16, 17, 18, 18, + 193, 193, 194, 168, 195, 195, 197, 196, 192, 192, 192, 39, 39, 43, 43, 11, 21, 21, 19, 19, 19, 20, 20, 20, 9, 9, 9, 8, 8, 12, - 12, 64, 64, 65, 65, 65, 38, 38, 62, 62, - 59, 59, 37, 37, 37, 58, 58, 57, 57, 57, - 57, 57, 57, 57, 57, 55, 55, 55, 55, 32, + 12, 67, 67, 68, 68, 68, 38, 38, 65, 65, + 62, 62, 37, 37, 37, 61, 61, 60, 60, 60, + 60, 60, 60, 60, 60, 58, 58, 58, 58, 32, 32, 32, 32, 32, 32, 33, 33, 33, 36, 36, - 36, 36, 36, 36, 36, 36, 56, 56, 35, 35, + 36, 36, 36, 36, 36, 36, 59, 59, 35, 35, 29, 29, 30, 31, } var yyR2 = [...]int{ @@ -1674,113 +1674,113 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -70, -47, -2, -24, -71, -72, 51, 79, 44, - -73, -25, 10, -116, -117, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -95, 46, 98, 19, 14, - -13, 48, 25, 27, 121, 40, 43, 36, -1, -122, - -127, 97, -15, -14, 37, 52, 99, 53, 100, 54, + -1000, -73, -50, -2, -24, -74, -75, 51, 79, 44, + -76, -25, 10, -117, -118, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, + -13, 48, 25, 27, 121, 40, 43, 36, -1, -123, + -128, 97, -15, -14, 37, 52, 99, 53, 100, 54, -18, 59, 92, -17, 104, 105, 130, 129, 131, 132, - -74, -41, 123, -36, 107, 108, 109, 110, 111, 112, + -47, -41, 123, -36, 107, 108, 109, 110, 111, 112, 113, 6, 133, -28, -46, -45, 118, 96, -19, 91, 49, 50, 4, 5, 84, 85, 86, 11, -34, -31, -6, 117, 74, 62, 18, 60, 125, -20, -21, -22, - -29, -48, 82, -10, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -9, -62, -43, -11, -39, -8, 134, - 12, 123, -48, 119, 82, 10, -49, 37, 38, -3, - -48, 82, 121, 135, 122, 10, -52, -74, 123, -83, - -86, 123, -74, 121, -13, 97, -1, 98, 79, 121, - -13, 121, -14, -18, -13, 121, -53, -26, 12, 134, - -54, -1, 12, -96, -13, 121, 149, 150, 87, 89, + -29, -51, 82, -10, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -9, -65, -43, -11, -39, -8, 134, + 12, 123, -51, 119, 82, 10, -52, 37, 38, -3, + -51, 82, 121, 135, 122, 10, -55, -47, 123, -85, + -88, 123, -47, 121, -13, 97, -1, 98, 79, 121, + -13, 121, -14, -18, -13, 121, -56, -26, 12, 134, + -57, -1, 12, -97, -13, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -100, 119, -13, 10, -118, + 160, 90, 127, 123, 123, -101, 119, -13, 10, -119, 128, 10, 10, -14, -18, -13, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -13, 104, 105, -17, -18, -48, 79, 82, + 147, 123, -13, 104, 105, -17, -18, -51, 79, 82, -10, -11, 98, -17, -13, -13, -13, -13, -41, -13, - -95, -13, -13, -13, -13, -13, -13, -13, -182, 123, - -74, -183, 125, 125, -184, 17, -55, -32, 12, 76, - 77, -13, 57, -42, -10, -40, -48, 79, 82, -20, - -9, -62, -11, 123, 123, -13, -13, 123, -13, -13, - 125, -55, 17, 17, 75, -55, 125, 123, -58, -57, - -13, 128, 125, 125, 82, -69, 123, -48, 78, 125, - 119, -9, 134, 78, -69, 119, 124, 121, 119, -47, - -48, 121, 135, -50, -4, -48, 82, -51, -5, -48, - 82, 29, -48, 10, 136, -23, 120, -24, -71, -72, - 51, -75, 122, -74, -24, -88, -164, -13, -93, 121, - -118, 121, 121, 121, 121, 135, -15, 119, -18, 121, - 135, -118, 136, 121, 135, -174, -175, -176, -177, -13, + -49, -13, -13, -13, -13, -13, -13, -13, -48, 123, + -47, -183, 125, 125, -184, 17, -58, -32, 12, 76, + 77, -13, 57, -42, -10, -40, -51, 79, 82, -20, + -9, -65, -11, 123, 123, -13, -13, 123, -13, -13, + 125, -58, 17, 17, 75, -58, 125, 123, -61, -60, + -13, 128, 125, 125, 82, -72, 123, -51, 78, 125, + 119, -9, 134, 78, -72, 119, 124, 121, 119, -50, + -51, 121, 135, -53, -4, -51, 82, -54, -5, -51, + 82, 29, -51, 10, 136, -23, 120, -24, -74, -75, + 51, -77, 122, -47, -24, -90, -165, -13, -95, 121, + -119, 121, 121, 121, 121, 135, -15, 119, -18, 121, + 135, -119, 136, 121, 135, -175, -176, -177, -178, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -42, -179, 122, -97, -115, -18, -18, -14, 123, -52, - 121, 121, 10, -185, -123, 55, -128, 58, -13, 128, + -42, -180, 122, -98, -116, -18, -18, -14, 123, -55, + 121, 121, 10, -185, -124, 55, -129, 58, -13, 128, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -59, -37, -18, 59, 82, -48, 78, 78, + -13, -13, -62, -37, -18, 59, 82, -51, 78, 78, 124, 124, 124, 124, -13, -12, -13, -12, 118, -32, - -32, 17, 125, 57, -13, 11, -18, -64, -65, -39, - -38, -9, -62, 10, 119, -68, -69, 78, 82, -48, - 57, -9, 78, -56, -35, -18, -14, -18, -14, -13, - -12, 117, 75, 75, -12, -58, 126, -191, 135, 58, - -16, -18, -12, -12, 10, 124, -140, -95, -141, -14, - -18, 128, 83, -69, -38, -39, 10, 52, -12, -13, - -38, -39, 10, -13, 121, -47, 120, -69, -3, 121, - 135, 29, -48, 121, 135, 29, -48, 10, 29, 136, - -27, -187, -6, -30, -48, 79, 82, 60, 125, -7, + -32, 17, 125, 57, -13, 11, -18, -67, -68, -39, + -38, -9, -65, 10, 119, -71, -72, 78, 82, -51, + 57, -9, 78, -59, -35, -18, -14, -18, -14, -13, + -12, 117, 75, 75, -12, -61, 126, -191, 135, 58, + -16, -18, -12, -12, 10, 124, -141, -49, -142, -14, + -18, 128, 83, -72, -38, -39, 10, 52, -12, -13, + -38, -39, 10, -13, 121, -50, 120, -72, -3, 121, + 135, 29, -51, 121, 135, 29, -51, 10, 29, 136, + -27, -187, -6, -30, -51, 79, 82, 60, 125, -7, 62, -189, 18, 74, -10, 131, 132, 130, 129, 123, - 123, -24, -79, -84, 21, 121, 135, -94, 119, 122, + 123, -24, -81, -86, 21, 121, 135, -96, 119, 122, -26, -13, 12, -186, -27, -13, -13, -13, -13, -13, - -13, -181, 124, 135, 29, 29, -101, 10, 120, -120, - 123, -124, -44, -48, 79, 82, -129, 55, -14, -18, - -18, 91, 124, 135, 123, -48, -178, 126, 126, -33, + -13, -182, 124, 135, 29, 29, -102, 10, 120, -121, + 123, -125, -44, -51, 79, 82, -130, 55, -14, -18, + -18, 91, 124, 135, 123, -51, -179, 126, 126, -33, 10, 13, 12, 10, 120, 125, 120, -192, -196, -195, - -197, 125, 119, -9, -13, -39, -48, -64, -39, 124, + -197, 125, 119, -9, -13, -39, -51, -67, -39, 124, 135, 124, 124, 124, 126, 126, 124, -13, 128, -13, - 128, 126, 126, 124, 135, 124, -16, -13, -69, -69, - 126, 120, -69, -69, 120, 120, -4, 10, 29, -5, + 128, 126, 126, 124, 135, 124, -16, -13, -72, -72, + 126, 120, -72, -72, 120, 120, -4, 10, 29, -5, 10, 29, 10, -27, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -48, 123, -188, -190, -187, 17, 78, -187, - -187, -187, -187, -187, 124, -76, -52, -85, -24, 122, - -87, -89, -165, -131, 121, -131, 121, 120, 136, 123, - 122, -13, 121, -115, -63, -18, 128, 59, -63, 124, - 135, 136, -103, 41, 123, -121, -137, -138, -139, 60, - 61, -44, -125, 56, 82, -48, 119, -130, -44, -42, - 136, -37, -59, -171, -172, 126, -13, -193, 125, 125, - -69, -12, -13, 120, -66, -35, 58, -16, -16, -141, + 127, 82, -51, 123, -188, -190, -187, 17, 78, -187, + -187, -187, -187, -187, 124, -78, -55, -87, -24, 122, + -89, -91, -166, -132, 121, -132, 121, 120, 136, 123, + 122, -13, 121, -116, -66, -18, 128, 59, -66, 124, + 135, 136, -104, 41, 123, -122, -138, -139, -140, 60, + 61, -44, -126, 56, 82, -51, 119, -131, -44, -42, + 136, -37, -62, -172, -173, 126, -13, -193, 125, 125, + -72, -12, -13, 120, -69, -35, 58, -16, -16, -142, 10, 10, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 122, -187, - -48, -188, 126, -191, 135, 58, 10, 52, 124, 121, - -77, -80, -52, -74, -88, -13, 120, 32, 33, -131, - 31, -131, -27, -121, -180, -98, 58, -18, 123, -98, - -102, -24, 122, 10, -27, -104, 42, 123, -121, 124, - 135, -118, 119, -130, -48, -126, 135, -173, -13, 124, - -169, -168, -166, 125, -167, 57, 126, -167, -12, -12, - 126, 120, -67, 57, -13, 128, 126, -187, 122, 124, - -187, -187, -78, 93, 94, -81, 22, 121, 121, -13, - -132, 122, 121, 120, 121, 31, 124, -13, 124, -63, - -59, 124, -52, 136, -110, -105, 124, -61, 44, -138, - -119, 83, -126, 120, -142, -143, -146, -147, -148, -163, - 47, 38, 44, -162, 103, 102, 101, 98, 99, 100, - -44, -68, 125, -170, -167, -12, -64, 120, 126, 126, - -64, -16, -187, 58, -74, -24, -82, 93, 94, 121, - -90, -132, -134, 121, -61, -99, -24, 122, 124, -99, - 28, -27, 119, -44, 119, 119, 123, 12, 120, -144, - 121, 135, -1, -162, 10, -151, -44, -12, -166, 126, - -194, -187, -135, 95, -74, 122, -88, -133, -52, 119, - -52, 121, -52, -106, -52, -52, -60, 12, 128, 136, - -145, 12, 10, -118, 136, -152, 135, 121, 119, 126, - -192, -24, 121, 122, -52, 124, -52, -52, 26, 120, + -51, -188, 126, -191, 135, 58, 10, 52, 124, 121, + -79, -82, -55, -47, -90, -13, 120, 32, 33, -132, + 31, -132, -27, -122, -181, -99, 58, -18, 123, -99, + -103, -24, 122, 10, -27, -105, 42, 123, -122, 124, + 135, -119, 119, -131, -51, -127, 135, -174, -13, 124, + -170, -169, -167, 125, -168, 57, 126, -168, -12, -12, + 126, 120, -70, 57, -13, 128, 126, -187, 122, 124, + -187, -187, -80, 93, 94, -83, 22, 121, 121, -13, + -133, 122, 121, 120, 121, 31, 124, -13, 124, -66, + -62, 124, -55, 136, -111, -106, 124, -64, 44, -139, + -120, 83, -127, 120, -143, -144, -147, -148, -149, -164, + 47, 38, 44, -163, 103, 102, 101, 98, 99, 100, + -44, -71, 125, -171, -168, -12, -67, 120, 126, 126, + -67, -16, -187, 58, -47, -24, -84, 93, 94, 121, + -92, -133, -135, 121, -64, -100, -24, 122, 124, -100, + 28, -27, 119, -44, 119, 119, 123, 12, 120, -145, + 121, 135, -1, -163, 10, -152, -44, -12, -167, 126, + -194, -187, -136, 95, -47, 122, -90, -134, -55, 119, + -55, 121, -55, -107, -55, -55, -63, 12, 128, 136, + -146, 12, 10, -119, 136, -153, 135, 121, 119, 126, + -192, -24, 121, 122, -55, 124, -55, -55, 26, 120, 12, 120, 120, 124, 135, 12, -27, 121, 135, 136, - 136, 10, -27, -44, -153, -154, -155, -156, -157, -158, - -160, -44, 10, -136, -91, 120, 121, 124, 12, 128, - 12, -27, -27, -149, 120, -155, 121, 121, 45, 29, - 78, -52, -92, -24, 122, -107, 12, 136, 123, -159, - -44, -161, -162, 10, -52, 119, -27, -121, 135, 10, - 24, -52, 124, -44, 121, 120, -150, 121, 119, -108, - -52, -109, -111, -112, 41, 120, -112, 123, -44, -113, - 12, 124, -114, 119, -52, 120, + 136, 10, -27, -44, -154, -155, -156, -157, -158, -159, + -161, -44, 10, -137, -93, 120, 121, 124, 12, 128, + 12, -27, -27, -150, 120, -156, 121, 121, 45, 29, + 78, -55, -94, -24, 122, -108, 12, 136, 123, -160, + -44, -162, -163, 10, -55, 119, -27, -122, 135, 10, + 24, -55, 124, -44, 121, 120, -151, 121, 119, -109, + -55, -110, -112, -113, 41, 120, -113, 123, -44, -114, + 12, 124, -115, 119, -55, 120, } var yyDef = [...]int{ @@ -2268,25 +2268,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:221 + //line php5/php5.y:222 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:227 + //line php5/php5.y:228 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:228 + //line php5/php5.y:229 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:233 + //line php5/php5.y:234 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2295,7 +2295,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:240 + //line php5/php5.y:241 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2304,31 +2304,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:249 + //line php5/php5.y:250 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:250 + //line php5/php5.y:251 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:251 + //line php5/php5.y:252 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:252 + //line php5/php5.y:253 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:254 + //line php5/php5.y:255 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2340,7 +2340,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:264 + //line php5/php5.y:265 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2352,7 +2352,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:274 + //line php5/php5.y:275 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2360,7 +2360,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:280 + //line php5/php5.y:281 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2368,7 +2368,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:286 + //line php5/php5.y:287 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2380,7 +2380,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:296 + //line php5/php5.y:297 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2392,25 +2392,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:305 + //line php5/php5.y:306 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:309 + //line php5/php5.y:310 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:310 + //line php5/php5.y:311 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:315 + //line php5/php5.y:316 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2422,7 +2422,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:325 + //line php5/php5.y:326 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2437,7 +2437,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:338 + //line php5/php5.y:339 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2449,7 +2449,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:348 + //line php5/php5.y:349 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2464,19 +2464,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:364 + //line php5/php5.y:365 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:368 + //line php5/php5.y:369 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:375 + //line php5/php5.y:376 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2488,7 +2488,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:385 + //line php5/php5.y:386 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2503,7 +2503,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:398 + //line php5/php5.y:399 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2515,7 +2515,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:408 + //line php5/php5.y:409 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2530,19 +2530,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:424 + //line php5/php5.y:425 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:428 + //line php5/php5.y:429 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:435 + //line php5/php5.y:436 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2554,7 +2554,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:445 + //line php5/php5.y:446 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2569,7 +2569,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:458 + //line php5/php5.y:459 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2581,7 +2581,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:468 + //line php5/php5.y:469 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2596,480 +2596,480 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:483 + //line php5/php5.y:484 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:484 + //line php5/php5.y:485 { } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:488 + //line php5/php5.y:489 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:489 + //line php5/php5.y:490 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:494 + //line php5/php5.y:495 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:495 + //line php5/php5.y:496 { yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:496 + //line php5/php5.y:497 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:497 + //line php5/php5.y:498 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:503 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:504 { } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:508 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:509 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:510 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:510 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:510 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:511 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:511 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:511 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:512 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:512 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:512 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:516 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:518 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:519 + //line php5/php5.y:520 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:521 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:522 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:522 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:523 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:524 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:525 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:526 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:526 + //line php5/php5.y:527 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:528 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:529 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:530 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:531 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:532 { } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:532 + //line php5/php5.y:533 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:534 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:534 + //line php5/php5.y:535 { yyVAL.node = yyDollar[1].node } case 77: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:536 { } case 78: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:537 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:538 { } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { } case 81: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:540 { } case 83: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:541 { } case 84: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:541 + //line php5/php5.y:542 { } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:542 + //line php5/php5.y:543 { } case 86: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:547 { } case 87: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:548 { } case 88: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:548 + //line php5/php5.y:549 { } case 89: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:550 { } case 90: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:550 + //line php5/php5.y:551 { } case 91: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:551 + //line php5/php5.y:552 { } case 92: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:554 + //line php5/php5.y:555 { } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:555 + //line php5/php5.y:556 { } case 94: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:555 + //line php5/php5.y:556 { } case 95: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:560 { } case 96: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:560 + //line php5/php5.y:561 { } case 97: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:564 + //line php5/php5.y:565 { } case 98: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:565 + //line php5/php5.y:566 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:569 + //line php5/php5.y:570 { } case 100: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:569 + //line php5/php5.y:570 { } case 101: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:569 + //line php5/php5.y:570 { } case 104: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:578 + //line php5/php5.y:579 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:582 + //line php5/php5.y:583 { } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:586 + //line php5/php5.y:587 { } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:590 + //line php5/php5.y:591 { } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:591 + //line php5/php5.y:592 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:595 + //line php5/php5.y:596 { } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:596 + //line php5/php5.y:597 { } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:600 + //line php5/php5.y:601 { } case 112: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:602 + //line php5/php5.y:603 { } case 113: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:607 + //line php5/php5.y:608 { } case 114: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:611 + //line php5/php5.y:612 { } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:613 + //line php5/php5.y:614 { } case 116: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:617 + //line php5/php5.y:618 { } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:622 + //line php5/php5.y:623 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:623 + //line php5/php5.y:624 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:624 + //line php5/php5.y:625 { } case 120: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:625 + //line php5/php5.y:626 { } case 121: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:629 + //line php5/php5.y:630 { } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:630 + //line php5/php5.y:631 { } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:634 + //line php5/php5.y:635 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:648 + //line php5/php5.y:649 { } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:649 + //line php5/php5.y:650 { } case 130: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:653 + //line php5/php5.y:654 { } case 131: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:654 + //line php5/php5.y:655 { } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:659 + //line php5/php5.y:660 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 133: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:661 + //line php5/php5.y:662 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 134: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:663 + //line php5/php5.y:664 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3078,160 +3078,160 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:690 + //line php5/php5.y:691 { } case 142: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:691 + //line php5/php5.y:692 { } case 143: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:696 + //line php5/php5.y:697 { } case 144: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:697 + //line php5/php5.y:698 { } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:698 + //line php5/php5.y:699 { } case 146: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:699 + //line php5/php5.y:700 { } case 147: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:704 + //line php5/php5.y:705 { } case 148: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:705 + //line php5/php5.y:706 { } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:705 + //line php5/php5.y:706 { } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:706 + //line php5/php5.y:707 { } case 151: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:706 + //line php5/php5.y:707 { } case 157: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:726 { } case 158: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:726 { } case 160: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:731 + //line php5/php5.y:732 { } case 161: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:731 + //line php5/php5.y:732 { } case 170: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:760 + //line php5/php5.y:761 { } case 171: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:762 + //line php5/php5.y:763 { } case 172: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:768 { } case 173: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:768 + //line php5/php5.y:769 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:769 + //line php5/php5.y:770 { } case 175: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:770 + //line php5/php5.y:771 { } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:776 + //line php5/php5.y:777 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:777 + //line php5/php5.y:778 { } case 178: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:778 + //line php5/php5.y:779 { } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:788 + //line php5/php5.y:789 { } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:790 { } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:790 + //line php5/php5.y:791 { } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:791 + //line php5/php5.y:792 { } case 185: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:795 + //line php5/php5.y:796 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 186: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:796 + //line php5/php5.y:797 { yyVAL.list = []node.Node{yyDollar[1].node} } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:802 + //line php5/php5.y:803 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3243,7 +3243,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:812 + //line php5/php5.y:813 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3251,7 +3251,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:818 + //line php5/php5.y:819 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3259,7 +3259,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:828 + //line php5/php5.y:829 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3278,7 +3278,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:845 + //line php5/php5.y:846 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3297,7 +3297,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:862 + //line php5/php5.y:863 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3316,7 +3316,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:879 + //line php5/php5.y:880 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3335,272 +3335,272 @@ yydefault: } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:906 + //line php5/php5.y:907 { } case 200: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:909 + //line php5/php5.y:910 { } case 201: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:911 + //line php5/php5.y:912 { } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:919 + //line php5/php5.y:920 { } case 204: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:920 + //line php5/php5.y:921 { } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:944 + //line php5/php5.y:945 { } case 214: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:948 + //line php5/php5.y:949 { } case 215: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:949 + //line php5/php5.y:950 { } case 216: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:953 + //line php5/php5.y:954 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:954 + //line php5/php5.y:955 { } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:958 + //line php5/php5.y:959 { } case 219: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:962 + //line php5/php5.y:963 { } case 220: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:963 + //line php5/php5.y:964 { } case 221: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:967 + //line php5/php5.y:968 { } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:968 + //line php5/php5.y:969 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:972 + //line php5/php5.y:973 { } case 224: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:974 { } case 225: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:977 + //line php5/php5.y:978 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:978 + //line php5/php5.y:979 { } case 227: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:982 + //line php5/php5.y:983 { } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:984 { } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:988 { } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:988 + //line php5/php5.y:989 { } case 231: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:993 { } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:993 + //line php5/php5.y:994 { } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:995 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:996 { } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:996 + //line php5/php5.y:997 { } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:997 + //line php5/php5.y:998 { } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1002 { } case 238: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1003 { } case 239: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1003 + //line php5/php5.y:1004 { } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1004 + //line php5/php5.y:1005 { } case 241: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1008 + //line php5/php5.y:1009 { } case 242: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1009 + //line php5/php5.y:1010 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1014 { } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1014 + //line php5/php5.y:1015 { } case 245: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1019 + //line php5/php5.y:1020 { } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1021 { } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1024 + //line php5/php5.y:1025 { } case 248: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1024 + //line php5/php5.y:1025 { } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1026 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1029 + //line php5/php5.y:1030 { } case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1030 + //line php5/php5.y:1031 { } case 252: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1034 + //line php5/php5.y:1035 { } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1035 + //line php5/php5.y:1036 { } case 254: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1040 { } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1040 { } case 256: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1040 + //line php5/php5.y:1041 { } case 257: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1041 + //line php5/php5.y:1042 { } case 258: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1046 { } case 259: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1046 + //line php5/php5.y:1047 { } case 260: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1047 + //line php5/php5.y:1048 { } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1052 + //line php5/php5.y:1053 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3614,7 +3614,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1068 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3626,454 +3626,454 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1076 + //line php5/php5.y:1077 { } case 264: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1078 { } case 265: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { } case 266: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { } case 267: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1080 { } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1081 { } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1082 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1083 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1084 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1085 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1086 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1087 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1088 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1088 + //line php5/php5.y:1089 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1089 + //line php5/php5.y:1090 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1090 + //line php5/php5.y:1091 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1091 + //line php5/php5.y:1092 { } case 280: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1092 + //line php5/php5.y:1093 { } case 281: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1094 { } case 282: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1095 { } case 283: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1096 { } case 284: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1097 { } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1096 + //line php5/php5.y:1097 { } case 286: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1098 { } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1097 + //line php5/php5.y:1098 { } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1099 { } case 289: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1099 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1100 { } case 291: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1100 { } case 292: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1100 + //line php5/php5.y:1101 { } case 293: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1102 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1102 + //line php5/php5.y:1103 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1104 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1105 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1106 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1107 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1107 + //line php5/php5.y:1108 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1108 + //line php5/php5.y:1109 { } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1109 + //line php5/php5.y:1110 { } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1110 + //line php5/php5.y:1111 { } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1111 + //line php5/php5.y:1112 { } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1112 + //line php5/php5.y:1113 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1114 { } case 306: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1114 + //line php5/php5.y:1115 { } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1116 { } case 308: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1116 + //line php5/php5.y:1117 { } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1118 { } case 310: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1118 + //line php5/php5.y:1119 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1119 + //line php5/php5.y:1120 { } case 312: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1120 + //line php5/php5.y:1121 { } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1121 + //line php5/php5.y:1122 { } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1123 { } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1123 + //line php5/php5.y:1124 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1124 + //line php5/php5.y:1125 { } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1125 + //line php5/php5.y:1126 { } case 318: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1126 + //line php5/php5.y:1127 { } case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1128 + //line php5/php5.y:1129 { yyVAL.node = yyDollar[1].node } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1130 { } case 321: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1130 { } case 322: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1131 { } case 323: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1132 { } case 324: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1133 { } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1133 + //line php5/php5.y:1134 { } case 326: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1134 + //line php5/php5.y:1135 { } case 327: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1135 + //line php5/php5.y:1136 { } case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1136 + //line php5/php5.y:1137 { } case 329: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1137 + //line php5/php5.y:1138 { } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1138 + //line php5/php5.y:1139 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1139 + //line php5/php5.y:1140 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1140 + //line php5/php5.y:1141 { } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1142 { } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1142 + //line php5/php5.y:1143 { } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1143 + //line php5/php5.y:1144 { } case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1144 + //line php5/php5.y:1145 { } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1144 + //line php5/php5.y:1145 { } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1145 + //line php5/php5.y:1146 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1147 { } case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1147 + //line php5/php5.y:1148 { } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1148 + //line php5/php5.y:1149 { } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1150 { } case 343: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1151 { } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1152 { } case 345: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1153 + //line php5/php5.y:1154 { } case 346: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1154 + //line php5/php5.y:1155 { } case 347: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1156 + //line php5/php5.y:1157 { } case 348: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1161 { } case 349: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1161 + //line php5/php5.y:1162 { } case 350: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1162 + //line php5/php5.y:1163 { } case 351: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1163 + //line php5/php5.y:1164 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1168 + //line php5/php5.y:1169 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4081,7 +4081,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1174 + //line php5/php5.y:1175 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4089,7 +4089,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1180 + //line php5/php5.y:1181 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4101,7 +4101,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1190 + //line php5/php5.y:1191 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4109,7 +4109,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1199 + //line php5/php5.y:1200 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4117,7 +4117,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1205 + //line php5/php5.y:1206 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4125,25 +4125,25 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1214 + //line php5/php5.y:1215 { yyVAL.token = yyDollar[1].token } case 359: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1219 + //line php5/php5.y:1220 { yyVAL.list = []node.Node{} } case 360: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1221 + //line php5/php5.y:1222 { yyVAL.list = yyDollar[3].list } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1226 + //line php5/php5.y:1227 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4161,7 +4161,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1242 + //line php5/php5.y:1243 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4179,7 +4179,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:1259 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4197,7 +4197,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1274 + //line php5/php5.y:1275 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4215,47 +4215,47 @@ yydefault: } case 365: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1292 + //line php5/php5.y:1293 { } case 366: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1294 { } case 367: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1294 + //line php5/php5.y:1295 { } case 368: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1295 + //line php5/php5.y:1296 { } case 369: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1296 + //line php5/php5.y:1297 { } case 370: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1297 + //line php5/php5.y:1298 { } case 371: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1298 + //line php5/php5.y:1299 { } case 372: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1300 { } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1304 + //line php5/php5.y:1305 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4263,7 +4263,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1310 + //line php5/php5.y:1311 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4271,7 +4271,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1316 + //line php5/php5.y:1317 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4279,7 +4279,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1323 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4287,7 +4287,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1331 + //line php5/php5.y:1332 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4295,7 +4295,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1337 + //line php5/php5.y:1338 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4303,7 +4303,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1343 + //line php5/php5.y:1344 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4311,19 +4311,19 @@ yydefault: } case 380: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1352 + //line php5/php5.y:1353 { yyVAL.node = yyDollar[1].node } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1354 + //line php5/php5.y:1355 { yyVAL.node = yyDollar[1].node } case 382: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1360 { yyVAL.node = yyDollar[1].node @@ -4355,73 +4355,76 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1390 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1395 + //line php5/php5.y:1396 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } case 385: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1397 + //line php5/php5.y:1398 { yyVAL.objectPropertyList = []objectProperty{} } case 386: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1403 + //line php5/php5.y:1404 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } case 387: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1407 + //line php5/php5.y:1409 { + yyVAL.node = nil } case 388: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1408 + //line php5/php5.y:1411 { + yyVAL.node = nil } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1409 + //line php5/php5.y:1413 { + yyVAL.node = yyDollar[1].node } case 390: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1413 + //line php5/php5.y:1417 { } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1414 + //line php5/php5.y:1418 { } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1415 + //line php5/php5.y:1419 { } case 393: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1420 + //line php5/php5.y:1424 { yyVAL.nodesWithEndToken = nil } case 394: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1422 + //line php5/php5.y:1426 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1427 + //line php5/php5.y:1431 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4429,7 +4432,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1433 + //line php5/php5.y:1437 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4437,7 +4440,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1443 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4445,7 +4448,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1449 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4453,7 +4456,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1455 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4461,7 +4464,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1457 + //line php5/php5.y:1461 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4469,7 +4472,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1463 + //line php5/php5.y:1467 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4477,7 +4480,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1469 + //line php5/php5.y:1473 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4485,7 +4488,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1475 + //line php5/php5.y:1479 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4493,7 +4496,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1481 + //line php5/php5.y:1485 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4501,7 +4504,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1487 + //line php5/php5.y:1491 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -4509,7 +4512,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1492 + //line php5/php5.y:1496 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -4517,7 +4520,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1501 + //line php5/php5.y:1505 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4529,233 +4532,233 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1513 + //line php5/php5.y:1517 { } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1517 + //line php5/php5.y:1521 { } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1518 + //line php5/php5.y:1522 { } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1519 + //line php5/php5.y:1523 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1520 + //line php5/php5.y:1524 { } case 413: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1521 + //line php5/php5.y:1525 { } case 414: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1522 + //line php5/php5.y:1526 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1523 + //line php5/php5.y:1527 { } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1524 + //line php5/php5.y:1528 { } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1525 + //line php5/php5.y:1529 { } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1526 + //line php5/php5.y:1530 { } case 419: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1530 + //line php5/php5.y:1534 { } case 420: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1531 + //line php5/php5.y:1535 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1532 + //line php5/php5.y:1536 { } case 422: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1533 + //line php5/php5.y:1537 { } case 423: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1534 + //line php5/php5.y:1538 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1535 + //line php5/php5.y:1539 { } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1536 + //line php5/php5.y:1540 { } case 426: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1537 + //line php5/php5.y:1541 { } case 427: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1538 + //line php5/php5.y:1542 { } case 428: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1543 { } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1544 { } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1541 + //line php5/php5.y:1545 { } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1542 + //line php5/php5.y:1546 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1543 + //line php5/php5.y:1547 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1544 + //line php5/php5.y:1548 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1545 + //line php5/php5.y:1549 { } case 435: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1546 + //line php5/php5.y:1550 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1547 + //line php5/php5.y:1551 { } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1548 + //line php5/php5.y:1552 { } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1553 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1550 + //line php5/php5.y:1554 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1551 + //line php5/php5.y:1555 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1552 + //line php5/php5.y:1556 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1553 + //line php5/php5.y:1557 { } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1554 + //line php5/php5.y:1558 { } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1555 + //line php5/php5.y:1559 { } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1560 { } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1557 + //line php5/php5.y:1561 { } case 447: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1558 + //line php5/php5.y:1562 { } case 448: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1559 + //line php5/php5.y:1563 { } case 449: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1560 + //line php5/php5.y:1564 { } case 450: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1561 + //line php5/php5.y:1565 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1562 + //line php5/php5.y:1566 { } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1567 + //line php5/php5.y:1571 { yyVAL.node = yyDollar[1].node } case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1569 + //line php5/php5.y:1573 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4763,7 +4766,7 @@ yydefault: } case 454: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1575 + //line php5/php5.y:1579 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4771,7 +4774,7 @@ yydefault: } case 455: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1581 + //line php5/php5.y:1585 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4779,7 +4782,7 @@ yydefault: } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1594 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4791,25 +4794,25 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1600 + //line php5/php5.y:1604 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1602 + //line php5/php5.y:1606 { yyVAL.node = yyDollar[1].node } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1604 + //line php5/php5.y:1608 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1606 + //line php5/php5.y:1610 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4817,7 +4820,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1612 + //line php5/php5.y:1616 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4825,7 +4828,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1622 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4833,149 +4836,151 @@ yydefault: } case 463: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1626 + //line php5/php5.y:1630 { } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1627 + //line php5/php5.y:1631 { } case 467: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1636 + //line php5/php5.y:1640 { } case 468: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1637 + //line php5/php5.y:1641 { } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1638 + //line php5/php5.y:1642 { } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1639 + //line php5/php5.y:1643 { } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1643 + //line php5/php5.y:1648 { yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1644 + //line php5/php5.y:1650 { yyVAL.node = yyDollar[1].node } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1648 + //line php5/php5.y:1655 { + yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1649 + //line php5/php5.y:1657 { + yyVAL.node = yyDollar[2].node } case 475: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1655 - { - yyVAL.node = yyDollar[1].node - } - case 476: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1663 { yyVAL.node = yyDollar[1].node } + case 476: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1671 + { + yyVAL.node = yyDollar[1].node + } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1670 + //line php5/php5.y:1678 { yyVAL.node = yyDollar[1].node } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1677 + //line php5/php5.y:1685 { } case 479: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1679 + //line php5/php5.y:1687 { yyVAL.node = yyDollar[1].node } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1683 + //line php5/php5.y:1691 { } case 481: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1684 + //line php5/php5.y:1692 { } case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1689 + //line php5/php5.y:1697 { } case 483: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1689 + //line php5/php5.y:1697 { } case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1693 + //line php5/php5.y:1701 { } case 485: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1694 + //line php5/php5.y:1702 { } case 486: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1698 + //line php5/php5.y:1706 { } case 487: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1699 + //line php5/php5.y:1707 { } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1703 + //line php5/php5.y:1711 { } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1704 + //line php5/php5.y:1712 { } case 490: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1705 + //line php5/php5.y:1713 { } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1710 + //line php5/php5.y:1718 { yyVAL.node = yyDollar[1].node } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1712 + //line php5/php5.y:1720 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -4987,7 +4992,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1725 + //line php5/php5.y:1733 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4995,7 +5000,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1731 + //line php5/php5.y:1739 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5003,47 +5008,47 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1741 + //line php5/php5.y:1749 { yyVAL.node = yyDollar[1].node } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1746 + //line php5/php5.y:1754 { } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1748 + //line php5/php5.y:1756 { } case 498: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1752 - { - yyVAL.node = yyDollar[1].node - } - case 499: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1753 - { - yyVAL.node = yyDollar[1].node - } - case 500: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1754 - { - yyVAL.node = yyDollar[1].node - } - case 501: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1760 { yyVAL.node = yyDollar[1].node } + case 499: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1761 + { + yyVAL.node = yyDollar[1].node + } + case 500: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1762 + { + yyVAL.node = yyDollar[1].node + } + case 501: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1768 + { + yyVAL.node = yyDollar[1].node + } case 502: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1762 + //line php5/php5.y:1770 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5055,13 +5060,13 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1772 + //line php5/php5.y:1780 { yyVAL.node = yyDollar[1].node } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1777 + //line php5/php5.y:1785 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5069,7 +5074,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1783 + //line php5/php5.y:1791 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5077,13 +5082,13 @@ yydefault: } case 506: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1789 + //line php5/php5.y:1797 { yyVAL.node = yyDollar[1].node } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1795 + //line php5/php5.y:1803 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5095,7 +5100,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1805 + //line php5/php5.y:1813 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5103,53 +5108,53 @@ yydefault: } case 509: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1813 + //line php5/php5.y:1821 { yyVAL.node = nil } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1814 + //line php5/php5.y:1822 { yyVAL.node = yyDollar[1].node } case 511: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1820 + //line php5/php5.y:1828 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1822 + //line php5/php5.y:1830 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 513: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1830 + //line php5/php5.y:1838 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 514: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1835 + //line php5/php5.y:1843 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1840 + //line php5/php5.y:1848 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1848 + //line php5/php5.y:1856 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5157,13 +5162,13 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1854 + //line php5/php5.y:1862 { yyVAL.node = yyDollar[2].node } case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1859 + //line php5/php5.y:1867 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5173,7 +5178,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1867 + //line php5/php5.y:1875 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5187,25 +5192,25 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1882 + //line php5/php5.y:1890 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1884 + //line php5/php5.y:1892 { yyVAL.list = []node.Node{yyDollar[1].node} } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1890 + //line php5/php5.y:1898 { yyVAL.node = yyDollar[1].node } case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1892 + //line php5/php5.y:1900 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5213,25 +5218,25 @@ yydefault: } case 524: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1898 + //line php5/php5.y:1906 { yyVAL.node = nil } case 525: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1904 + //line php5/php5.y:1912 { yyVAL.list = nil } case 526: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1906 + //line php5/php5.y:1914 { yyVAL.list = yyDollar[1].list } case 527: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1911 + //line php5/php5.y:1919 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5241,7 +5246,7 @@ yydefault: } case 528: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1919 + //line php5/php5.y:1927 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5251,7 +5256,7 @@ yydefault: } case 529: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1927 + //line php5/php5.y:1935 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5261,7 +5266,7 @@ yydefault: } case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:1943 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5271,7 +5276,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1943 + //line php5/php5.y:1951 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5281,7 +5286,7 @@ yydefault: } case 532: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1951 + //line php5/php5.y:1959 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5291,7 +5296,7 @@ yydefault: } case 533: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1959 + //line php5/php5.y:1967 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5301,7 +5306,7 @@ yydefault: } case 534: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:1975 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5311,13 +5316,13 @@ yydefault: } case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1978 + //line php5/php5.y:1986 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 536: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1980 + //line php5/php5.y:1988 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5326,13 +5331,13 @@ yydefault: } case 537: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1987 + //line php5/php5.y:1995 { yyVAL.list = []node.Node{yyDollar[1].node} } case 538: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1989 + //line php5/php5.y:1997 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5341,7 +5346,7 @@ yydefault: } case 539: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1999 + //line php5/php5.y:2007 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5353,7 +5358,7 @@ yydefault: } case 540: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2009 + //line php5/php5.y:2017 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5368,7 +5373,7 @@ yydefault: } case 541: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2022 + //line php5/php5.y:2030 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5386,7 +5391,7 @@ yydefault: } case 542: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2038 + //line php5/php5.y:2046 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5394,7 +5399,7 @@ yydefault: } case 543: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2044 + //line php5/php5.y:2052 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5409,13 +5414,13 @@ yydefault: } case 544: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2058 + //line php5/php5.y:2066 { yyVAL.node = yyDollar[2].node } case 545: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2063 + //line php5/php5.y:2071 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5423,7 +5428,7 @@ yydefault: } case 546: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2069 + //line php5/php5.y:2077 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5437,7 +5442,7 @@ yydefault: } case 547: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2081 + //line php5/php5.y:2089 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5449,7 +5454,7 @@ yydefault: } case 548: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2094 + //line php5/php5.y:2102 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5457,7 +5462,7 @@ yydefault: } case 549: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2100 + //line php5/php5.y:2108 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5465,7 +5470,7 @@ yydefault: } case 550: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2106 + //line php5/php5.y:2114 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5473,7 +5478,7 @@ yydefault: } case 551: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2112 + //line php5/php5.y:2120 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5481,7 +5486,7 @@ yydefault: } case 552: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2118 + //line php5/php5.y:2126 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5489,7 +5494,7 @@ yydefault: } case 553: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2124 + //line php5/php5.y:2132 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5497,7 +5502,7 @@ yydefault: } case 554: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2130 + //line php5/php5.y:2138 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5505,7 +5510,7 @@ yydefault: } case 555: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2136 + //line php5/php5.y:2144 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5513,31 +5518,31 @@ yydefault: } case 556: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2145 + //line php5/php5.y:2153 { yyVAL.list = []node.Node{yyDollar[1].node} } case 557: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2147 + //line php5/php5.y:2155 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 558: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2151 + //line php5/php5.y:2159 { yyVAL.node = yyDollar[1].node } case 559: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2152 + //line php5/php5.y:2160 { yyVAL.node = yyDollar[1].node } case 560: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2157 + //line php5/php5.y:2165 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5549,7 +5554,7 @@ yydefault: } case 561: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2167 + //line php5/php5.y:2175 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5561,7 +5566,7 @@ yydefault: } case 562: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2180 + //line php5/php5.y:2188 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5573,7 +5578,7 @@ yydefault: } case 563: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2193 + //line php5/php5.y:2201 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 7395590..78931a9 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -203,7 +203,8 @@ import ( %type inner_statement statement global_var static_scalar scalar class_constant static_class_name_scalar class_name_scalar %type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc assignment_list_element %type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member -%type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant +%type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr +%type exit_expr yield_expr %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -1404,9 +1405,12 @@ dynamic_class_name_variable_property: ; exit_expr: - /* empty */ { } - | '(' ')' { } - | parenthesis_expr { } + /* empty */ + { $$ = nil } + | '(' ')' + { $$ = nil } + | parenthesis_expr + { $$ = $1 } ; backticks_expr: @@ -1641,13 +1645,17 @@ non_empty_static_array_pair_list: ; expr: - r_variable { $$ = $1 } - | expr_without_variable { $$ = $1 } + r_variable + { $$ = $1 } + | expr_without_variable + { $$ = $1 } ; parenthesis_expr: - '(' expr ')' { } - | '(' yield_expr ')' { } + '(' expr ')' + { $$ = $2 } + | '(' yield_expr ')' + { $$ = $2 } ; From 4225f073588a50267f4ef6c2c04372c9afe5eaed Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sat, 3 Feb 2018 12:09:02 +0200 Subject: [PATCH 18/31] php5 syntax --- php5/php5.go | 5486 +++++++++++++++++++++++++------------------------- php5/php5.y | 125 +- 2 files changed, 2834 insertions(+), 2777 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 078a19e..18aa243 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2212 +//line php5/php5.y:2257 //line yacctab:1 var yyExca = [...]int{ @@ -355,500 +355,577 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 477, - 105, 477, - -2, 475, + 104, 473, + 105, 473, + -2, 471, -1, 101, - 78, 374, - -2, 453, + 78, 370, + -2, 449, -1, 113, - 78, 495, - 123, 491, - -2, 501, + 78, 491, + 123, 487, + -2, 497, -1, 153, - 104, 477, - 105, 477, - -2, 475, + 104, 473, + 105, 473, + -2, 471, -1, 203, - 121, 348, - 124, 348, - -2, 472, + 121, 344, + 124, 344, + -2, 468, -1, 204, - 104, 477, - 105, 477, - 121, 349, - 124, 349, - -2, 475, + 104, 473, + 105, 473, + 121, 345, + 124, 345, + -2, 471, -1, 270, - 78, 495, - -2, 501, + 78, 491, + -2, 497, -1, 297, - 78, 376, - -2, 455, + 78, 372, + -2, 451, -1, 301, - 123, 492, - -2, 502, + 123, 488, + -2, 498, -1, 310, - 78, 375, - -2, 454, - -1, 372, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 309, - -1, 373, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 310, + 78, 371, + -2, 450, -1, 374, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 311, + -2, 305, -1, 375, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 312, + -2, 306, -1, 376, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 313, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 307, -1, 377, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 314, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 308, -1, 378, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 315, + -2, 309, -1, 379, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 316, - -1, 386, - 104, 477, - 105, 477, - -2, 475, - -1, 437, - 123, 486, - -2, 490, - -1, 455, - 104, 477, - 105, 477, - 124, 558, - 135, 558, - -2, 475, - -1, 456, - 124, 559, - 135, 559, - -2, 472, + -2, 310, + -1, 380, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 311, + -1, 381, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 312, + -1, 388, + 104, 473, + 105, 473, + -2, 471, + -1, 439, + 123, 482, + -2, 486, -1, 457, - 104, 477, - 105, 477, - -2, 475, - -1, 479, - 124, 181, - 135, 181, - -2, 472, - -1, 480, - 104, 477, - 105, 477, - 124, 182, - 135, 182, - -2, 475, - -1, 486, - 123, 516, - -2, 560, - -1, 492, - 123, 516, - -2, 561, - -1, 514, - 78, 374, - -2, 411, - -1, 560, - 124, 167, - -2, 172, - -1, 568, - 121, 350, - 124, 350, - -2, 472, - -1, 569, - 104, 477, - 105, 477, - 121, 351, - 124, 351, - -2, 475, - -1, 576, - 57, 259, - 125, 259, - -2, 258, - -1, 662, - 78, 376, - -2, 413, - -1, 689, - 124, 167, - -2, 172, - -1, 704, - 124, 167, - -2, 172, - -1, 760, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 439, - -1, 761, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 440, - -1, 762, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 441, - -1, 763, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 442, - -1, 764, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 443, + 104, 473, + 105, 473, + 124, 554, + 135, 554, + -2, 471, + -1, 458, + 124, 555, + 135, 555, + -2, 468, + -1, 459, + 104, 473, + 105, 473, + -2, 471, + -1, 481, + 124, 177, + 135, 177, + -2, 468, + -1, 482, + 104, 473, + 105, 473, + 124, 178, + 135, 178, + -2, 471, + -1, 488, + 123, 512, + -2, 556, + -1, 494, + 123, 512, + -2, 557, + -1, 516, + 78, 370, + -2, 407, + -1, 563, + 124, 163, + -2, 168, + -1, 571, + 121, 346, + 124, 346, + -2, 468, + -1, 572, + 104, 473, + 105, 473, + 121, 347, + 124, 347, + -2, 471, + -1, 579, + 57, 255, + 125, 255, + -2, 254, + -1, 665, + 78, 372, + -2, 409, + -1, 694, + 124, 163, + -2, 168, + -1, 709, + 124, 163, + -2, 168, -1, 765, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 444, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 435, -1, 766, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 445, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 436, -1, 767, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 437, + -1, 768, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 438, + -1, 769, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 446, + -2, 439, -1, 770, - 78, 375, - -2, 412, - -1, 821, - 57, 254, - -2, 256, - -1, 879, - 37, 228, - -2, 225, - -1, 940, - 123, 486, - -2, 490, - -1, 1002, - 29, 216, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 440, + -1, 771, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 441, + -1, 772, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 442, + -1, 775, + 78, 371, + -2, 408, + -1, 827, + 57, 250, + -2, 252, + -1, 881, + 37, 224, + -2, 221, + -1, 941, + 123, 482, + -2, 486, + -1, 1003, + 29, 212, -2, 4, - -1, 1028, - 124, 167, - -2, 172, - -1, 1032, - 121, 220, - -2, 222, + -1, 1027, + 124, 163, + -2, 168, + -1, 1031, + 121, 216, + -2, 218, } const yyPrivate = 57344 -const yyLast = 8356 +const yyLast = 8302 var yyAct = [...]int{ - 101, 1053, 705, 996, 587, 883, 822, 915, 199, 122, - 130, 850, 824, 815, 425, 867, 470, 707, 327, 445, - 437, 4, 717, 412, 510, 113, 335, 467, 694, 795, - 136, 664, 454, 413, 384, 318, 683, 314, 440, 329, - 97, 114, 6, 157, 263, 129, 60, 328, 478, 25, - 5, 178, 2, 288, 191, 227, 227, 634, 634, 191, - 1027, 636, 635, 42, 137, 968, 990, 967, 142, 987, - 989, 964, 959, 983, 930, 918, 863, 720, 819, 701, - 266, 966, 257, 988, 984, 43, 573, 146, 931, 573, - 38, 699, 688, 644, 645, 646, 637, 639, 640, 638, - 638, 509, 700, 297, 352, 270, 613, 324, 1038, 634, - 152, 816, 240, 636, 635, 161, 810, 614, 250, 599, - 269, 271, 634, 774, 503, 310, 572, 203, 315, 319, - 600, 178, 322, 177, 179, 180, 178, 573, 504, 499, - 301, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 536, 500, 711, 340, 552, 353, 468, 334, - 227, 637, 639, 640, 638, 120, 117, 553, 120, 634, - 351, 354, 642, 636, 635, 200, 309, 349, 168, 170, - 169, 191, 443, 158, 120, 492, 333, 120, 240, 191, - 969, 350, 266, 939, 227, 641, 643, 654, 655, 652, - 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 852, 851, 899, 898, 1008, 270, 192, 172, - 176, 175, 227, 346, 38, 344, 830, 389, 176, 175, - 417, 957, 269, 271, 825, 161, 380, 772, 725, 345, + 101, 710, 1049, 997, 885, 590, 916, 828, 869, 122, + 130, 821, 199, 414, 512, 830, 447, 472, 427, 792, + 722, 712, 116, 699, 335, 117, 801, 415, 469, 439, + 386, 667, 314, 456, 97, 263, 318, 442, 327, 329, + 328, 4, 6, 5, 60, 157, 637, 539, 480, 129, + 25, 136, 2, 178, 288, 227, 227, 42, 1026, 637, + 191, 191, 137, 639, 638, 991, 142, 637, 990, 988, + 257, 639, 638, 970, 966, 969, 961, 231, 231, 865, + 266, 191, 725, 989, 1036, 43, 706, 146, 641, 968, + 38, 659, 661, 660, 662, 647, 648, 649, 640, 642, + 643, 641, 272, 297, 693, 649, 640, 642, 643, 641, + 152, 511, 984, 240, 269, 161, 250, 931, 192, 172, + 176, 175, 637, 985, 822, 310, 354, 203, 315, 319, + 191, 932, 322, 816, 177, 179, 180, 178, 178, 324, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 311, - 620, 227, 174, 177, 179, 180, 178, 295, 427, 449, - 132, 300, 612, 312, 486, 103, 120, 299, 943, 892, - 387, 611, 1061, 605, 133, 604, 578, 119, 441, 577, - 302, 444, 227, 466, 444, 460, 973, 451, 729, 240, - 1042, 464, 823, 728, 442, 159, 119, 472, 473, 119, - 585, 293, 592, 130, 488, 292, 487, 502, 591, 433, - 286, 506, 280, 253, 441, 514, 252, 1007, 4, 441, - 230, 230, 1009, 975, 866, 861, 858, 484, 429, 430, - 442, 465, 490, 945, 856, 442, 477, 958, 839, 6, - 531, 191, 809, 514, 294, 264, 674, 5, 498, 456, - 458, 495, 615, 606, 430, 429, 429, 125, 430, 120, - 602, 125, 422, 120, 634, 420, 306, 544, 636, 635, - 1057, 1028, 479, 444, 125, 304, 120, 432, 138, 540, - 176, 175, 926, 296, 807, 296, 563, 38, 119, 798, - 227, 704, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 575, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 439, - 852, 851, 382, 697, 689, 230, 228, 663, 574, 229, - 228, 560, 530, 229, 441, 441, 634, 388, 571, 596, - 636, 635, 287, 228, 277, 232, 229, 484, 490, 232, - 442, 442, 274, 538, 273, 485, 539, 264, 593, 230, - 491, 597, 232, 441, 294, 249, 441, 38, 441, 221, - 347, 194, 227, 568, 646, 637, 639, 640, 638, 442, - 193, 119, 442, 141, 442, 119, 121, 230, 616, 787, - 788, 315, 696, 332, 1048, 319, 1047, 1044, 119, 134, - 514, 308, 1017, 307, 4, 787, 788, 662, 191, 514, - 1016, 1006, 972, 951, 913, 909, 514, 514, 514, 514, - 514, 446, 854, 848, 633, 6, 230, 847, 626, 779, - 629, 692, 686, 5, 684, 535, 125, 494, 120, 1014, - 562, 391, 678, 342, 227, 227, 227, 176, 175, 155, - 897, 563, 586, 676, 1063, 483, 715, 230, 563, 1035, - 949, 925, 266, 924, 227, 227, 685, 922, 497, 812, - 716, 305, 196, 38, 698, 485, 491, 853, 693, 181, - 182, 174, 177, 179, 180, 178, 428, 270, 722, 871, - 524, 223, 224, 786, 907, 908, 731, 721, 125, 227, - 120, 227, 269, 271, 595, 228, 719, 439, 229, 598, - 843, 844, 125, 631, 294, 737, 125, 738, 524, 125, - 628, 125, 90, 735, 232, 514, 514, 514, 514, 514, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 342, + 227, 640, 642, 643, 641, 445, 488, 120, 120, 176, + 175, 779, 113, 505, 353, 120, 309, 538, 470, 334, + 191, 501, 231, 200, 333, 295, 494, 506, 120, 240, + 1009, 125, 266, 120, 227, 502, 971, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 489, 120, + 919, 940, 825, 125, 272, 120, 231, 348, 704, 176, + 175, 576, 227, 576, 38, 616, 269, 382, 602, 705, + 419, 575, 555, 1057, 831, 161, 617, 355, 901, 603, + 702, 158, 576, 556, 231, 351, 900, 125, 391, 120, + 346, 356, 270, 174, 177, 179, 180, 178, 959, 352, + 228, 227, 417, 229, 347, 836, 777, 311, 730, 451, + 716, 300, 429, 623, 446, 446, 615, 299, 103, 232, + 389, 312, 228, 231, 614, 229, 608, 301, 441, 119, + 119, 607, 227, 132, 581, 446, 125, 119, 120, 462, + 240, 232, 829, 304, 435, 466, 1010, 133, 580, 701, + 119, 474, 475, 130, 231, 119, 228, 504, 490, 229, + 468, 508, 1053, 894, 487, 516, 431, 432, 574, 493, + 734, 302, 595, 230, 230, 232, 486, 119, 594, 733, + 588, 492, 467, 293, 292, 286, 280, 479, 4, 6, + 5, 253, 432, 431, 431, 516, 432, 252, 264, 458, + 460, 497, 500, 159, 270, 228, 1039, 1008, 229, 547, + 533, 119, 434, 125, 960, 120, 637, 912, 868, 645, + 639, 638, 481, 863, 232, 125, 860, 120, 541, 1027, + 637, 858, 845, 543, 639, 638, 815, 38, 566, 294, + 677, 618, 227, 646, 657, 658, 655, 656, 659, 661, + 660, 662, 647, 648, 649, 640, 642, 643, 641, 578, + 119, 609, 605, 424, 231, 422, 647, 648, 649, 640, + 642, 643, 641, 306, 138, 443, 927, 296, 230, 813, + 296, 804, 267, 709, 453, 268, 487, 493, 694, 448, + 666, 599, 794, 793, 228, 577, 563, 229, 486, 492, + 532, 232, 390, 339, 287, 294, 340, 1015, 277, 274, + 264, 443, 230, 232, 191, 598, 443, 273, 441, 38, + 601, 249, 600, 485, 227, 571, 944, 221, 194, 193, + 141, 121, 975, 1044, 349, 1043, 499, 119, 946, 384, + 230, 619, 308, 315, 307, 899, 231, 319, 332, 119, + 687, 688, 516, 176, 175, 134, 1023, 1018, 90, 665, + 1017, 516, 1007, 687, 688, 974, 636, 953, 516, 516, + 516, 516, 516, 911, 857, 629, 4, 6, 5, 230, + 853, 796, 789, 632, 784, 181, 182, 174, 177, 179, + 180, 178, 697, 542, 540, 537, 496, 227, 227, 227, + 393, 344, 684, 155, 566, 589, 1059, 1033, 951, 720, + 230, 566, 926, 925, 681, 266, 923, 227, 227, 231, + 231, 231, 703, 818, 721, 38, 679, 698, 689, 305, + 691, 727, 196, 443, 443, 430, 294, 272, 795, 231, + 231, 223, 224, 526, 726, 485, 909, 910, 256, 269, + 724, 686, 227, 736, 227, 849, 850, 596, 258, 125, + 125, 125, 443, 433, 873, 443, 719, 443, 634, 742, + 664, 743, 450, 526, 231, 418, 231, 740, 516, 516, + 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, + 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, + 516, 516, 516, 516, 516, 775, 744, 516, 565, 714, + 715, 124, 621, 622, 125, 1021, 671, 125, 625, 626, + 230, 294, 259, 260, 125, 1003, 125, 670, 567, 458, + 567, 568, 124, 568, 516, 566, 799, 778, 776, 454, + 281, 285, 227, 481, 127, 128, 631, 516, 798, 449, + 566, 814, 889, 890, 891, 888, 887, 886, 510, 566, + 820, 810, 421, 463, 231, 507, 817, 420, 788, 123, + 805, 883, 503, 321, 787, 303, 258, 884, 298, 819, + 882, 433, 802, 807, 464, 284, 320, 270, 833, 131, + 513, 258, 834, 835, 567, 831, 316, 568, 131, 294, + 781, 718, 230, 839, 499, 61, 452, 38, 258, 262, + 570, 294, 397, 433, 516, 207, 1019, 206, 294, 735, + 516, 516, 870, 812, 1050, 294, 294, 258, 708, 44, + 526, 889, 890, 891, 888, 887, 886, 162, 1020, 526, + 259, 260, 782, 227, 1056, 227, 526, 526, 526, 526, + 526, 855, 558, 929, 854, 259, 260, 566, 862, 258, + 536, 53, 44, 566, 283, 231, 861, 231, 238, 1025, + 874, 465, 259, 260, 1011, 230, 230, 230, 871, 986, + 893, 723, 227, 514, 896, 516, 981, 963, 897, 928, + 464, 259, 260, 264, 545, 230, 230, 441, 1037, 903, + 864, 898, 1032, 992, 231, 441, 516, 915, 566, 902, + 920, 964, 935, 514, 125, 38, 225, 233, 809, 746, + 922, 745, 284, 259, 260, 566, 934, 635, 593, 907, + 230, 591, 230, 258, 906, 258, 633, 630, 282, 917, + 255, 586, 917, 939, 560, 509, 516, 476, 914, 797, + 687, 688, 583, 938, 585, 584, 526, 526, 526, 526, + 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, + 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, + 526, 526, 526, 394, 323, 526, 965, 972, 690, 687, + 688, 948, 38, 202, 945, 896, 201, 259, 260, 259, + 260, 198, 516, 135, 592, 950, 941, 516, 933, 566, + 952, 566, 526, 732, 668, 954, 987, 956, 957, 523, + 230, 993, 973, 546, 395, 526, 254, 251, 554, 723, + 557, 516, 516, 800, 383, 579, 360, 566, 976, 359, + 1016, 977, 38, 978, 443, 1012, 1013, 358, 357, 448, + 823, 729, 443, 728, 895, 826, 827, 685, 336, 881, + 566, 1030, 1001, 1028, 1000, 1031, 999, 516, 566, 1035, + 514, 998, 996, 995, 114, 967, 936, 566, 38, 514, + 38, 1034, 38, 1042, 38, 38, 514, 514, 514, 514, + 514, 1052, 526, 1014, 566, 604, 1022, 880, 526, 526, + 879, 878, 962, 930, 38, 38, 38, 208, 209, 210, + 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, + 877, 230, 876, 230, 478, 1038, 713, 711, 1004, 943, + 856, 913, 569, 892, 398, 40, 1046, 208, 209, 210, + 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, + 38, 1060, 717, 564, 271, 396, 39, 562, 872, 14, + 230, 13, 1058, 526, 1055, 1048, 38, 866, 1047, 1045, + 1024, 883, 955, 867, 38, 811, 707, 884, 924, 806, + 882, 559, 195, 385, 526, 163, 338, 947, 38, 683, + 140, 680, 535, 139, 908, 937, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 770, 739, 514, 125, 508, 505, 256, 258, - 119, 501, 709, 710, 431, 230, 294, 267, 714, 661, - 268, 448, 125, 294, 120, 483, 456, 416, 321, 514, - 563, 564, 793, 773, 565, 771, 232, 227, 124, 125, - 479, 320, 514, 316, 124, 563, 1020, 808, 784, 1002, - 782, 125, 668, 792, 563, 814, 462, 811, 801, 294, - 294, 789, 718, 791, 294, 258, 804, 783, 799, 452, - 431, 415, 119, 259, 260, 123, 813, 131, 127, 128, - 827, 294, 447, 828, 829, 887, 888, 889, 886, 885, - 884, 228, 618, 619, 229, 258, 419, 230, 622, 623, - 281, 285, 418, 303, 38, 298, 667, 796, 564, 514, - 232, 565, 825, 833, 461, 514, 514, 258, 564, 450, - 258, 565, 283, 131, 262, 524, 713, 567, 463, 259, - 260, 258, 395, 207, 524, 1018, 431, 227, 206, 227, - 868, 524, 524, 524, 524, 524, 119, 1054, 61, 258, - 703, 563, 806, 44, 282, 776, 1019, 563, 462, 259, - 260, 555, 860, 53, 284, 859, 872, 258, 869, 230, - 230, 230, 255, 862, 534, 894, 227, 891, 895, 514, - 284, 259, 260, 497, 259, 260, 896, 264, 1060, 230, - 230, 441, 901, 1026, 900, 259, 260, 777, 730, 441, - 1010, 911, 162, 905, 514, 985, 563, 442, 718, 919, - 38, 238, 914, 259, 260, 442, 1039, 916, 225, 233, - 916, 980, 1033, 563, 230, 933, 230, 44, 921, 961, - 904, 259, 260, 927, 554, 855, 787, 788, 542, 991, - 938, 790, 787, 788, 514, 962, 580, 937, 582, 581, - 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, - 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, - 524, 524, 524, 524, 524, 524, 524, 946, 934, 524, - 125, 963, 803, 948, 741, 970, 740, 632, 950, 630, - 38, 894, 627, 952, 944, 954, 955, 512, 583, 557, - 514, 971, 507, 474, 524, 514, 932, 563, 392, 563, - 323, 890, 230, 202, 201, 198, 974, 524, 976, 135, - 977, 590, 588, 589, 986, 512, 940, 727, 665, 992, - 514, 514, 439, 521, 543, 393, 563, 254, 251, 1015, - 439, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 1011, 1012, 551, 794, 381, 563, - 923, 576, 358, 1023, 357, 1032, 881, 356, 514, 563, - 355, 1037, 882, 817, 1021, 880, 38, 936, 38, 563, - 38, 724, 38, 38, 524, 723, 893, 820, 821, 682, - 524, 524, 1036, 336, 1056, 1034, 879, 1031, 563, 1000, - 1029, 999, 38, 998, 38, 38, 1041, 997, 995, 994, - 965, 935, 230, 1046, 230, 1013, 878, 877, 876, 1050, - 960, 929, 875, 601, 874, 446, 887, 888, 889, 886, - 885, 884, 476, 708, 1064, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 928, 38, - 706, 230, 1003, 942, 524, 912, 947, 566, 396, 40, - 712, 993, 38, 1001, 561, 881, 394, 39, 559, 38, - 870, 882, 14, 13, 880, 1062, 1059, 1052, 38, 524, - 864, 1051, 512, 1049, 1025, 953, 865, 805, 702, 116, - 1001, 512, 38, 903, 800, 556, 195, 383, 512, 512, - 512, 512, 512, 163, 537, 338, 1022, 1004, 910, 681, - 680, 140, 677, 1030, 533, 139, 906, 845, 781, 524, - 532, 842, 649, 647, 648, 887, 888, 889, 886, 885, - 884, 780, 675, 1043, 331, 10, 1, 832, 734, 438, - 956, 289, 453, 160, 231, 231, 156, 873, 317, 313, - 126, 248, 1058, 74, 75, 115, 265, 63, 88, 579, - 634, 89, 660, 642, 636, 635, 513, 100, 73, 272, - 11, 325, 99, 98, 78, 524, 118, 519, 511, 3, - 524, 0, 0, 0, 651, 650, 641, 643, 654, 655, - 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, - 639, 640, 638, 0, 0, 524, 524, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 0, 0, 512, 0, 0, 0, - 0, 0, 0, 524, 0, 0, 0, 0, 0, 231, + 514, 514, 514, 345, 526, 514, 851, 786, 534, 848, + 785, 889, 890, 891, 888, 887, 886, 678, 208, 209, + 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, + 212, 331, 514, 875, 1, 838, 739, 440, 958, 289, + 455, 160, 156, 317, 637, 514, 271, 645, 639, 638, + 313, 126, 10, 248, 74, 75, 115, 265, 63, 994, + 526, 1002, 88, 582, 89, 526, 515, 100, 654, 653, + 644, 646, 657, 658, 655, 656, 659, 661, 660, 662, + 647, 648, 649, 640, 642, 643, 641, 1002, 73, 526, + 526, 669, 11, 325, 99, 98, 78, 118, 672, 673, + 674, 675, 676, 521, 3, 0, 30, 0, 0, 0, + 1029, 0, 514, 0, 0, 0, 0, 444, 514, 514, + 0, 0, 0, 0, 0, 526, 0, 1040, 0, 144, + 150, 154, 0, 0, 0, 164, 0, 0, 0, 0, + 0, 0, 0, 197, 1054, 0, 0, 0, 205, 0, + 0, 0, 0, 444, 0, 0, 0, 0, 444, 222, + 0, 0, 0, 234, 235, 236, 237, 0, 0, 239, + 0, 241, 242, 243, 244, 245, 246, 247, 0, 0, + 0, 0, 0, 514, 261, 0, 0, 0, 0, 275, + 276, 0, 278, 279, 0, 0, 191, 0, 0, 0, + 0, 0, 0, 290, 514, 0, 0, 0, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 774, 176, 175, 669, 0, 0, + 0, 0, 0, 0, 514, 239, 0, 0, 337, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 444, 444, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 0, 0, + 514, 154, 0, 0, 444, 514, 0, 444, 0, 444, + 0, 0, 0, 50, 0, 400, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 0, 514, + 514, 0, 0, 0, 0, 0, 0, 0, 153, 0, + 0, 0, 0, 0, 843, 0, 0, 0, 0, 0, + 846, 847, 0, 0, 0, 204, 239, 0, 426, 428, + 428, 0, 0, 0, 0, 514, 436, 0, 226, 226, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 154, 154, 0, 0, 461, 0, 0, 428, 0, 0, + 0, 0, 0, 428, 290, 0, 0, 0, 0, 428, + 428, 0, 0, 154, 0, 0, 428, 491, 192, 172, + 176, 175, 495, 0, 0, 904, 208, 209, 210, 211, + 213, 214, 215, 216, 217, 218, 219, 220, 212, 271, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 0, 168, 170, 169, 191, 0, 544, 0, 0, 0, + 0, 0, 0, 548, 549, 550, 551, 552, 0, 0, + 0, 0, 0, 350, 0, 0, 942, 0, 0, 0, + 0, 0, 0, 0, 0, 794, 793, 0, 0, 0, + 553, 192, 172, 176, 175, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 154, 387, 388, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 905, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 634, 512, 660, 642, 636, 635, 0, 0, 0, 0, - 0, 0, 0, 0, 512, 0, 0, 0, 0, 0, - 0, 272, 0, 231, 651, 650, 641, 643, 654, 655, - 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, - 639, 640, 638, 0, 0, 0, 0, 0, 0, 0, - 0, 231, 208, 209, 210, 211, 213, 214, 215, 216, - 217, 218, 219, 220, 212, 0, 0, 0, 0, 30, + 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, + 0, 652, 650, 651, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 438, 0, 0, 610, 612, 0, + 0, 0, 0, 0, 0, 0, 0, 457, 459, 0, + 0, 620, 0, 0, 0, 0, 0, 0, 0, 637, + 0, 663, 645, 639, 638, 473, 0, 0, 0, 0, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 654, 653, 644, 646, 657, 658, 655, + 656, 659, 661, 660, 662, 647, 648, 649, 640, 642, + 643, 641, 0, 637, 337, 0, 645, 639, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 512, 0, 0, 0, 0, 0, 512, 512, 0, - 231, 0, 144, 150, 154, 0, 0, 0, 164, 0, - 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, - 0, 205, 0, 0, 0, 0, 0, 168, 170, 169, - 191, 231, 222, 0, 0, 0, 234, 235, 236, 237, - 0, 0, 239, 0, 241, 242, 243, 244, 245, 246, - 247, 0, 0, 0, 0, 0, 0, 261, 0, 0, - 831, 512, 275, 276, 0, 278, 279, 192, 172, 176, - 175, 0, 0, 0, 0, 0, 290, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 512, 0, 0, 166, + 0, 696, 0, 0, 0, 652, 650, 651, 653, 644, + 646, 657, 658, 655, 656, 659, 661, 660, 662, 647, + 648, 649, 640, 642, 643, 641, 444, 0, 0, 0, + 0, 0, 0, 0, 444, 731, 0, 0, 0, 0, + 844, 428, 737, 637, 0, 663, 645, 639, 638, 0, + 154, 0, 0, 572, 0, 573, 0, 0, 0, 0, + 0, 637, 0, 0, 154, 639, 638, 654, 653, 644, + 646, 657, 658, 655, 656, 659, 661, 660, 662, 647, + 648, 649, 640, 642, 643, 641, 652, 650, 651, 657, + 658, 655, 656, 659, 661, 660, 662, 647, 648, 649, + 640, 642, 643, 641, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 637, 842, 663, 645, 639, 638, + 191, 0, 790, 0, 791, 0, 0, 473, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 654, 653, + 644, 646, 657, 658, 655, 656, 659, 661, 660, 662, + 647, 648, 649, 640, 642, 643, 641, 0, 172, 176, + 175, 0, 824, 0, 0, 0, 0, 0, 0, 0, + 428, 428, 0, 0, 0, 0, 0, 0, 840, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, - 0, 337, 0, 0, 0, 0, 512, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 387, 700, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 0, 0, 0, 154, 0, 0, 0, 0, 0, - 0, 0, 512, 0, 0, 0, 0, 512, 398, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 512, 512, 0, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 0, 0, 0, 0, 0, 239, - 0, 424, 426, 426, 0, 0, 50, 0, 0, 434, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 512, 0, 0, 154, 154, 0, 0, 459, 0, 0, - 426, 153, 0, 0, 0, 0, 426, 290, 0, 0, - 0, 0, 426, 426, 0, 0, 154, 0, 204, 426, - 489, 343, 0, 0, 0, 493, 0, 0, 0, 0, - 0, 226, 226, 231, 231, 231, 208, 209, 210, 211, - 213, 214, 215, 216, 217, 218, 219, 220, 212, 0, - 0, 272, 0, 231, 231, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, - 0, 0, 0, 0, 545, 546, 547, 548, 549, 0, - 649, 647, 648, 0, 0, 0, 0, 666, 231, 0, - 231, 0, 0, 0, 669, 670, 671, 672, 673, 0, - 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 838, 0, 154, 634, 0, - 660, 642, 636, 635, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, - 0, 0, 651, 650, 641, 643, 654, 655, 652, 653, - 656, 658, 657, 659, 644, 645, 646, 637, 639, 640, - 638, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 385, 386, 0, 0, 0, 0, 231, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 607, 609, - 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, - 0, 0, 617, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 766, 767, 769, - 0, 0, 666, 0, 0, 0, 0, 436, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 455, 457, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 634, 0, 0, 642, 636, 635, 471, 0, - 0, 691, 0, 480, 0, 0, 231, 0, 231, 0, - 0, 0, 0, 649, 647, 648, 651, 650, 641, 643, - 654, 655, 652, 653, 656, 658, 657, 659, 644, 645, - 646, 637, 639, 640, 638, 726, 0, 0, 0, 0, - 0, 426, 732, 0, 0, 231, 0, 0, 0, 0, - 154, 634, 836, 660, 642, 636, 635, 0, 0, 0, - 0, 0, 0, 0, 154, 0, 0, 837, 0, 0, - 0, 0, 0, 840, 841, 651, 650, 641, 643, 654, - 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, - 637, 639, 640, 638, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 569, 0, 570, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 634, 0, 0, 642, 636, 635, 0, 0, 0, 0, - 0, 337, 785, 0, 0, 0, 0, 902, 0, 0, - 0, 168, 170, 169, 191, 650, 641, 643, 654, 655, - 652, 653, 656, 658, 657, 659, 644, 645, 646, 637, - 639, 640, 638, 0, 0, 0, 0, 0, 0, 0, - 818, 0, 0, 0, 0, 0, 0, 0, 426, 426, - 826, 192, 172, 176, 175, 0, 834, 0, 471, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 941, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 0, 0, 649, 647, 648, 0, - 0, 0, 0, 0, 0, 0, 0, 849, 0, 0, - 0, 0, 0, 0, 857, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 695, 695, 778, 634, 0, 660, 642, 636, 635, - 0, 0, 0, 426, 0, 0, 0, 0, 0, 0, - 414, 414, 0, 0, 0, 0, 0, 0, 651, 650, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 455, 0, 0, - 0, 0, 0, 0, 0, 471, 0, 471, 0, 0, - 0, 480, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 426, 0, 0, 94, 28, 19, 18, 0, + 416, 416, 0, 0, 0, 0, 337, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 859, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 457, 0, 0, + 0, 0, 0, 0, 0, 473, 0, 473, 0, 0, + 0, 482, 0, 0, 0, 0, 428, 0, 0, 0, + 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, + 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, + 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 428, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 803, 0, 0, 0, 8, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 628, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 700, 0, 416, 22, + 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, + 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 473, 0, 0, 0, 92, + 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 498, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, + 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 337, 22, 23, 37, 44, 15, 24, 35, 0, 0, - 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 797, 0, 0, 8, 112, 108, 102, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 625, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 1061, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 82, 83, 71, 17, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 1051, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 1041, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 1006, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 1005, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 695, 0, 414, 22, 23, 37, 44, - 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, - 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 471, 0, 0, 0, 92, 0, 0, 0, - 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 496, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 983, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, - 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 982, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, @@ -861,11 +938,11 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 1065, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 980, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 32, 979, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, @@ -874,11 +951,11 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 1055, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 0, 32, 0, 33, 921, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, @@ -887,11 +964,11 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 1045, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 1040, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 852, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, @@ -913,7 +990,7 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 1005, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 561, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, @@ -926,7 +1003,7 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 982, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, @@ -940,138 +1017,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 981, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 979, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 978, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, - 33, 920, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 846, 20, 0, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 558, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 326, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 1024, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 917, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 802, 62, 0, 96, 0, 0, 0, 57, + 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -1084,7 +1030,7 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 679, 62, 0, 96, 0, 0, 0, + 16, 0, 34, 949, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, @@ -1092,158 +1038,274 @@ var yyAct = [...]int{ 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 775, 0, 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 649, 647, 648, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 736, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 0, 0, 634, - 0, 660, 642, 636, 635, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 651, 650, 641, 643, 654, 655, 652, - 653, 656, 658, 657, 659, 644, 645, 646, 637, 639, - 640, 638, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 733, 0, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 690, 0, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 687, 0, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 624, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 621, 0, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 603, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 584, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 0, 0, 0, 0, 0, 469, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 918, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 0, 34, 808, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 0, 34, 682, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, + 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 397, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 421, 0, 0, + 0, 0, 0, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 0, 0, 837, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 178, 0, 0, 832, 192, 172, 176, 175, 652, 650, + 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 780, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 783, 637, 0, 663, 645, + 639, 638, 652, 650, 651, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, + 654, 653, 644, 646, 657, 658, 655, 656, 659, 661, + 660, 662, 647, 648, 649, 640, 642, 643, 641, 0, + 637, 0, 663, 645, 639, 638, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 654, 653, 644, 646, 657, 658, + 655, 656, 659, 661, 660, 662, 647, 648, 649, 640, + 642, 643, 641, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 738, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 390, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, + 174, 177, 179, 180, 178, 695, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 341, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 692, 0, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 339, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 627, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 624, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 606, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 587, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 399, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 423, 0, + 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 165, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 649, 647, 648, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 182, 174, 177, 179, 180, 178, 392, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 634, 0, 660, 642, 636, 635, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 651, 650, - 641, 643, 654, 655, 652, 653, 656, 658, 657, 659, - 644, 645, 646, 637, 639, 640, 638, 0, 0, 0, - 192, 172, 176, 175, 647, 648, 0, 0, 0, 0, + 179, 180, 178, 343, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 634, 0, 660, 642, 636, 635, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 651, 650, 641, 643, 654, - 655, 652, 653, 656, 658, 657, 659, 644, 645, 646, - 637, 639, 640, 638, 0, 0, 192, 172, 176, 175, - 0, 648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 341, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 634, 0, 660, - 642, 636, 635, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 651, 650, 641, 643, 654, 655, 652, 653, 656, - 658, 657, 659, 644, 645, 646, 637, 639, 640, 638, - 0, 192, 172, 176, 175, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 192, 172, 176, 175, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 172, 176, 175, 191, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 652, 650, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 172, 176, 175, 0, 0, - 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 44, 0, 0, 0, 0, + 177, 179, 180, 178, 0, 637, 0, 663, 645, 639, + 638, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, + 653, 644, 646, 657, 658, 655, 656, 659, 661, 660, + 662, 647, 648, 649, 640, 642, 643, 641, 0, 0, + 0, 192, 172, 176, 175, 650, 651, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 637, 0, 663, 645, 639, 638, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 654, 653, 644, 646, + 657, 658, 655, 656, 659, 661, 660, 662, 647, 648, + 649, 640, 642, 643, 641, 0, 0, 192, 172, 176, + 175, 0, 651, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 637, 0, + 663, 645, 639, 638, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 654, 653, 644, 646, 657, 658, 655, 656, + 659, 661, 660, 662, 647, 648, 649, 640, 642, 643, + 641, 637, 0, 663, 645, 639, 638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 654, 653, 644, 646, 657, + 658, 655, 656, 659, 661, 660, 662, 647, 648, 649, + 640, 642, 643, 641, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 484, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 637, 91, 76, 645, + 639, 638, 0, 62, 477, 96, 0, 0, 483, 57, + 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, + 0, 0, 644, 646, 657, 658, 655, 656, 659, 661, + 660, 662, 647, 648, 649, 640, 642, 643, 641, 82, + 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 191, 0, 0, 148, 112, 108, 102, 484, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 172, + 176, 175, 91, 76, 0, 0, 0, 0, 62, 0, + 96, 0, 0, 483, 57, 56, 58, 59, 72, 119, + 0, 0, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 82, + 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, + 96, 0, 0, 841, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 613, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 191, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 172, 176, 175, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 611, 57, 56, 58, 59, + 72, 119, 0, 0, 0, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 291, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 482, 84, 85, 86, 191, 0, 0, 0, 79, + 102, 0, 84, 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 475, 96, 176, 175, 481, 57, 56, 58, + 0, 62, 425, 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 191, 0, 0, 148, 112, - 108, 102, 482, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 172, 176, 175, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 481, 57, 56, - 58, 59, 72, 119, 0, 0, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 634, 0, 0, 642, 636, 635, 0, - 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, - 643, 654, 655, 652, 653, 656, 658, 657, 659, 644, - 645, 646, 637, 639, 640, 638, 44, 0, 0, 0, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, @@ -1252,7 +1314,7 @@ var yyAct = [...]int{ 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 835, 57, 56, + 0, 0, 62, 0, 96, 0, 0, 401, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1265,7 +1327,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 0, 0, 62, 0, 96, 0, 0, 610, 57, + 0, 151, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1273,27 +1335,12 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 608, - 57, 56, 58, 59, 72, 119, 0, 0, 0, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 291, + 0, 0, 149, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1303,91 +1350,10 @@ var yyAct = [...]int{ 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 191, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 423, 96, 172, 176, - 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 399, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 151, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 149, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 143, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 634, 91, 76, 642, 636, 635, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 654, 655, 652, 653, 656, 658, 657, 659, 644, - 645, 646, 637, 639, 640, 638, 82, 83, 71, 0, - 104, 105, 125, 435, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 76, 0, 0, 143, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1397,220 +1363,248 @@ var yyAct = [...]int{ 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 104, 105, 125, 77, - 41, 147, 0, 0, 0, 0, 522, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 637, + 91, 76, 645, 639, 638, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 517, 0, - 520, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 523, 0, 0, 0, 0, 515, 112, 108, - 516, 104, 105, 125, 0, 0, 0, 0, 0, 0, - 0, 522, 0, 0, 0, 0, 232, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 657, 658, 655, + 656, 659, 661, 660, 662, 647, 648, 649, 640, 642, + 643, 641, 82, 83, 71, 0, 104, 105, 125, 437, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 104, 105, 125, 77, 41, 147, 0, 0, + 0, 0, 524, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 519, 0, 522, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 525, 0, + 0, 0, 0, 517, 112, 108, 518, 104, 105, 125, + 0, 0, 0, 0, 0, 0, 0, 524, 0, 0, + 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 773, 531, 0, 520, + 0, 0, 0, 530, 529, 527, 528, 0, 0, 519, + 0, 522, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 525, 0, 0, 0, 0, 517, 112, + 108, 518, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 768, 529, 0, 518, 0, 0, 0, 528, 527, 525, - 526, 0, 0, 517, 0, 520, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 523, 0, 0, - 0, 0, 515, 112, 108, 516, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 529, 0, 518, 0, - 0, 0, 528, 527, 525, 526, + 0, 0, 531, 0, 520, 0, 0, 0, 530, 529, + 527, 528, } var yyPact = [...]int{ - -1000, -1000, 2543, -1000, -1000, -1000, -1000, 373, 616, 701, - 149, -1000, 387, -1000, -1000, 969, -1000, 265, -1000, -1000, - 370, 265, 7646, 7515, 7384, 438, 171, 850, 7777, -1000, - 5775, 367, 358, -1000, -1000, 463, 7777, 965, 47, 964, - 963, 7777, -1000, -1000, -1000, -1000, 746, -1000, 741, -1000, - 1236, 356, 7777, 497, 536, 536, 7777, 7777, 7777, 7777, - -1000, -1000, 8063, -1000, 7777, 7777, 7777, 7777, 7777, 7777, - 7777, 352, -1000, -1000, 201, 198, 815, 7777, 727, 598, - 341, 339, 7777, 7777, 331, 7777, 7777, -1000, 197, -1000, - -1000, 797, 765, -1000, 195, 329, 6991, -1000, 190, 186, - -1000, 272, 930, 687, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 152, 156, -1000, 685, 270, -1000, 462, - -1000, 252, 392, -1000, 930, -1000, 138, 621, 619, -1000, - 659, 930, -1000, 960, -1000, -29, 4246, 381, 8063, 265, - 5032, 7777, -1000, -1000, 5728, -1000, 47, 776, 622, -1000, - 5681, -1000, 432, 1570, 5863, -1000, 104, -1000, -1000, 361, - 56, 47, -32, 36, 5863, -1000, -1000, -1000, -1000, -1000, - 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, - 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, - 7777, 598, 310, 536, 7777, 324, -1000, 5634, 430, 958, - -1000, 737, -1000, -1000, 1236, 5587, -1000, -1000, 7253, 7777, - 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, 7777, - 7777, 672, -1000, -1000, -1000, -1000, -1000, 272, 605, 930, - 684, 678, -1000, -1000, -116, -116, -36, -116, 251, 5543, - 248, -116, -116, -116, -116, -116, -116, -116, -1000, 7122, - -1000, 7777, 7777, 7777, 478, 768, 779, -1000, 262, 7932, - 536, 6075, 172, 270, 664, -1000, 542, 599, 930, 722, - 152, 156, 651, 7777, 7777, 5863, 5863, 7777, 5863, 5863, - 7777, 657, 768, 743, -1000, 713, 7777, 6991, 167, 23, - 5499, 536, 7777, 7777, 953, -1000, 6288, 272, 264, 7777, - 7777, 152, 462, 175, -1000, 7777, 426, -1000, -1000, 2412, - 272, -1000, 655, 18, -1000, 642, 930, 3, -1000, 638, - 930, 952, 637, -35, 8223, -1000, -1000, -1000, -1000, -1000, - 319, 5032, -1000, -1000, 813, 424, 17, 5863, 344, -1000, - -1000, -1000, -1000, -1000, -1000, 171, -1000, 7777, -1000, -1000, - 886, -1000, 8223, -1000, 7777, 7777, 7777, 7777, 7777, 6034, - 6827, 6285, 7120, -31, -31, -31, -36, -116, -36, -36, - 99, 99, 261, 261, 261, 261, 428, 428, 428, 428, - -1000, 7777, -1000, 32, -1000, -1000, 865, 792, 949, 4115, - -1000, -1000, -1000, 318, -1000, 689, 732, 7777, 6075, 357, - 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, - 6075, 6075, 2, -1000, -1000, 315, 930, 272, 172, 172, - -1000, -1000, -1000, -1000, -116, 163, 5863, 160, -1000, -1000, - -1000, -1000, 896, 948, 5418, 185, 442, -1000, 193, -1000, - -1000, 152, 156, -1000, 7777, -1000, -1000, 153, 930, 542, - 172, 152, 153, -5, -1000, 1236, -1000, 959, 246, 5370, - 159, -1000, -1000, -1000, 157, 239, -1000, -1000, 6841, 6710, - -1000, -1000, 155, 146, -1000, -1000, -18, 238, -1000, -1000, - 1236, 536, 7777, -1000, 270, 270, -1000, -1000, 134, 5326, - 270, 270, -1000, 5278, -1000, 2267, -1000, -1000, -1000, -1000, - 621, 942, 601, -1000, 619, 939, 594, -1000, 937, 8223, - -1000, 5819, -1000, -1000, 542, 597, 930, 314, 8223, -1000, - -1000, -1000, -1000, 749, 634, 8223, 8223, 8223, 8223, 8223, - 232, -1000, -1000, 4901, -1000, -1000, -1000, -1000, 423, 421, - -1000, 5230, -44, 311, -1000, 5863, 6157, 6405, 5949, 6075, - 5182, 7777, 420, 536, 374, 374, -33, -57, 769, 278, - 612, 730, -1000, 542, 596, 930, 461, 689, -1000, 1236, - -1000, 598, -59, 672, 672, 272, -1000, -1000, -1000, 112, - -1000, -1000, -1000, -1000, -1000, 7777, -1000, -1000, 178, 173, - 270, 7777, 7777, 152, 5136, -1000, 542, -1000, -1000, -1000, - 7777, -1000, -1000, -1000, -1000, -1000, -1000, 5088, 536, 5863, - 536, -1000, -1000, -1000, 6419, -1000, -1000, 5863, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 936, -1000, - -1000, 934, -1000, -1000, 8223, 8223, 8223, 8223, 8223, 8223, - 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, - 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, 8223, - 8148, 930, 542, 8223, 111, -12, 5044, 641, 805, -67, - -67, -3, -3, 2079, 418, -1000, 4377, -1000, -1000, -1000, - 265, 7777, 7777, 483, -1000, 870, -1000, -1000, 8223, 612, - -1000, 6116, -1000, -1000, 709, -1000, 536, 276, 709, 4770, - 932, 8223, 770, 271, 612, 228, -19, -1000, 47, -1000, - -1000, -1000, 460, 689, 930, 542, -1000, -24, -1000, -1000, - 7777, -1000, -46, -1000, 177, -1000, 1994, 715, 7777, 7777, - -1000, 100, 1350, -1000, 716, -1000, 6579, -1000, -1000, -1000, - -1000, -1000, 1866, -3, -3, -67, -67, -67, -67, 6448, - 249, 7768, 321, 321, -3, 5992, 1195, 5906, 44, 1935, - -16, -16, -16, -16, -68, -68, -68, -68, 8223, 1663, - 542, 224, -1000, -1000, 8223, 8223, -1000, -1000, -1000, -1000, - 527, -1000, 3984, 416, 412, 5863, -1000, 7777, 309, 467, - 411, 864, -1000, 220, 7777, 212, 374, -1000, 672, 211, - -1000, -1000, -1000, -60, -1000, -1000, -1000, -1000, 210, 756, - 612, 516, -1000, -24, 542, 1087, 689, 270, 6075, -1000, - -1000, 154, 715, 7777, -1000, 172, 440, -1000, 89, 88, - -1000, -1000, -1000, 172, 5863, 536, -1000, 1807, 8223, -1000, - 1095, 5819, -1000, 265, 5032, 511, 404, -1000, -1000, 91, - -1000, -1000, -1000, -1000, -1000, 403, 756, 6116, 4639, -1000, - -49, 4639, 3853, 8223, 458, 689, 454, 452, 269, -1000, - 881, -1000, 988, -1000, -1000, -1000, -47, -1000, 776, 647, - -1000, 928, 689, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 7777, 715, -1000, 67, -1000, -1000, -1000, -1000, - -1000, -1000, 1807, 8223, -1000, -1000, 183, 265, 221, -1000, - 7777, -1000, -1000, -1000, 451, -1000, -1000, -1000, -1000, -1000, - 402, -1000, -1000, -1000, -1000, -1000, 219, -64, -1000, 877, - -1000, 895, 47, -1000, -65, -54, -1000, 64, 715, -1000, - -1000, 5819, 5032, 401, 174, -1000, 209, -1000, 4377, -1000, - 3722, -1000, 3591, 869, 3460, 3329, -51, -1000, 853, 8223, - -52, -66, -70, 889, 8223, -1000, 689, -1000, 699, -1000, - -1000, -1000, -1000, -1000, 4377, -1000, 4377, 3198, 400, -1000, - 203, -1000, -1000, -1000, 204, -1000, -1000, -1000, 848, 8223, - 8223, -1000, -1000, -1000, 429, 699, -1000, 399, 391, 750, - 787, 628, -1000, -1000, 4508, -1000, -1000, -1000, -1000, 841, - -76, -1000, -1000, 258, -1000, -1000, -1000, -1000, 689, 647, - 872, 4377, -1000, -1000, -1000, 450, -1000, 8223, 612, -27, - -1000, 866, -1000, -1000, 3067, -1000, -1000, 176, 689, -1000, - 386, 2936, 385, -1000, -1000, -1000, -1000, -1000, -1000, 766, - 2805, -1000, 766, -1000, 257, -1000, -1000, 689, -1000, 836, - 158, -1000, 445, -1000, 2674, -1000, + -1000, -1000, 2396, -1000, -1000, -1000, -1000, 368, 610, 667, + 172, -1000, 393, -1000, -1000, 953, -1000, 311, -1000, -1000, + 367, 311, 7592, 7461, 7330, 442, 229, 785, 7723, -1000, + 5796, 366, 365, -1000, -1000, 473, 7723, 951, 55, 946, + 943, 7723, -1000, -1000, -1000, -1000, 725, -1000, 723, -1000, + 1460, 364, 7723, 497, 286, 286, 7723, 7723, 7723, 7723, + -1000, -1000, 8009, -1000, 7723, 7723, 7723, 7723, 7723, 7723, + 7723, 358, -1000, -1000, 232, 226, 883, 7723, 712, 363, + 354, 346, 7723, 7723, 345, 7723, 7723, -1000, 221, -1000, + -1000, 881, 807, -1000, 220, 341, 6937, -1000, 219, 218, + -1000, 317, 864, 660, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 152, 197, -1000, 657, 314, -1000, 470, + -1000, 309, 383, -1000, 864, -1000, 146, 674, 664, -1000, + 704, 864, -1000, 934, -1000, 3, 4099, 386, 8009, 311, + 4885, 7723, 344, -1000, 5749, -1000, 55, 752, 589, -1000, + 5702, -1000, 440, 1062, 5884, -1000, 129, -1000, -1000, 375, + 124, 55, -10, 116, 5884, -1000, -1000, -1000, -1000, -1000, + 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, + 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, + 7723, 363, 377, 286, 7723, 339, -1000, 5655, 439, 933, + -1000, 717, -1000, -1000, 1460, 5608, -1000, -1000, 7199, 7723, + 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, + 7723, 203, -1000, -1000, -1000, -1000, -1000, 317, 553, 864, + 649, 644, -1000, -1000, -114, -114, -29, -114, 301, 5564, + 299, -114, -114, -114, -114, -114, -114, -114, -1000, 7068, + -1000, 7723, 7723, 7723, 477, 739, 724, -1000, 247, 7878, + 286, -9, 155, 314, 631, -1000, 514, 550, 864, 709, + 152, 197, 621, 7723, 7723, 5884, 5884, 7723, 5884, 5884, + 7723, 606, 739, 775, -1000, 756, 7723, 6937, 194, 43, + 5520, 286, 7723, 7723, 897, -1000, 6220, 317, 156, 7723, + 7723, 152, 470, 176, -1000, 7723, 435, -1000, -1000, 2265, + 317, -1000, 676, 60, -1000, 703, 864, 52, -1000, 696, + 864, 895, 689, -25, 8169, -1000, -1000, -1000, -1000, -1000, + 337, 4885, -1000, -1000, 799, 434, 42, 5884, -1000, 433, + 432, -1000, -1000, -1000, -1000, -1000, -1000, 229, -1000, 7723, + -1000, -1000, 842, -1000, 8169, -1000, 7723, 7723, 7723, 7723, + 7723, 1461, 6773, 1286, 7066, -30, -30, -30, -29, -114, + -29, -29, 90, 90, 40, 40, 40, 40, 384, 384, + 384, 384, -1000, 7723, -1000, 108, -1000, -1000, 961, 783, + 894, 3968, -1000, -1000, -1000, 333, -1000, 611, 715, 7723, + -9, 237, -9, -9, -9, -9, -9, -9, -9, -9, + -9, -9, -9, -9, 107, -1000, -1000, 332, 864, 317, + 155, 155, -1000, -1000, -1000, -1000, -114, 182, 5884, 168, + -1000, -1000, -1000, -1000, 902, 891, 5439, 215, 445, -1000, + 213, -1000, -1000, 152, 197, -1000, 7723, -1000, -1000, 163, + 864, 514, 155, 152, 163, 104, -1000, 1460, -1000, 931, + 298, 5391, 165, -1000, -1000, -1000, 160, 297, -1000, -1000, + 6787, 6656, -1000, -1000, 158, 150, -1000, -1000, 101, 277, + -1000, -1000, 1460, 286, 7723, -1000, 314, 314, -1000, -1000, + 147, 5347, 314, 314, -1000, 5299, -1000, 2120, -1000, -1000, + -1000, -1000, 674, 887, 677, -1000, 664, 886, 599, -1000, + 877, 8169, -1000, 5840, -1000, -1000, 514, 548, 864, 327, + 8169, -1000, -1000, -1000, -1000, 670, 598, 8169, 8169, 8169, + 8169, 8169, 276, -1000, -1000, 4754, -1000, 7723, -1000, 491, + -1000, 917, -1000, -1000, 5251, -32, 325, -1000, 5884, 4883, + 6361, 5970, -9, 5203, 7723, 431, 286, 181, 181, 94, + -50, 747, 320, 609, 705, -1000, 514, 544, 864, 465, + 611, -1000, 1460, -1000, 363, -54, 203, 203, 317, -1000, + -1000, -1000, 142, -1000, -1000, -1000, -1000, -1000, 7723, -1000, + -1000, 214, 205, 314, 7723, 7723, 152, 5157, -1000, 514, + -1000, -1000, -1000, 7723, -1000, -1000, -1000, -1000, -1000, -1000, + 5109, 286, 5884, 286, -1000, -1000, -1000, 6375, -1000, -1000, + 5884, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 871, -1000, -1000, 869, -1000, -1000, 8169, 8169, 8169, + 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, + 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, + 8169, 8169, 8169, 8094, 864, 514, 8169, 140, 36, 5065, + 669, 750, -79, -79, -3, -3, 5021, 423, -1000, 4230, + -1000, -1000, -1000, 311, 421, 7723, -1000, 7723, 331, 478, + 420, 878, -1000, 8169, 609, -1000, 1880, -1000, -1000, 684, + -1000, 286, 318, 684, 4623, 868, 8169, 741, 316, 609, + 272, -2, -1000, 55, -1000, -1000, -1000, 464, 611, 864, + 514, -1000, -11, -1000, -1000, 7723, -1000, 88, -1000, 177, + -1000, 4977, 698, 7723, 7723, -1000, 139, 4933, -1000, 706, + -1000, 6525, -1000, -1000, -1000, -1000, -1000, 1839, -3, -3, + -79, -79, -79, -79, 251, 1776, 7714, -58, -58, -3, + 6013, 6056, 5927, 6211, 1698, -66, -66, -66, -66, 265, + 265, 265, 265, 8169, 1758, 514, 268, -1000, -1000, 8169, + 8169, -1000, -1000, -1000, -1000, 522, -1000, 3837, 419, 7723, + 5884, 1544, -1000, -1000, -1000, -1000, -1000, 413, -1000, 267, + 7723, 262, 181, -1000, 203, 259, -1000, -1000, -1000, -57, + -1000, -1000, -1000, -1000, 254, 738, 609, 541, -1000, -11, + 514, 1093, 611, 314, -9, -1000, -1000, 198, 698, 7723, + -1000, 155, 385, -1000, 120, 112, -1000, -1000, -1000, 155, + 5884, 286, -1000, 1099, 8169, -1000, 1654, 5840, -1000, 311, + 4885, 513, 412, -1000, 253, -1000, -1000, -1000, 738, 1880, + 4492, -1000, 86, 4492, 3706, 8169, 457, 611, 454, 453, + 313, -1000, 837, -1000, 693, -1000, -1000, -1000, -4, -1000, + 752, 614, -1000, 862, 611, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 7723, 698, -1000, 85, -1000, -1000, + -1000, -1000, -1000, -1000, 1099, 8169, -1000, -1000, 391, 311, + 376, -1000, 4361, -1000, 4230, 449, -1000, -1000, -1000, -1000, + -1000, 406, -1000, -1000, -1000, -1000, -1000, 246, -60, -1000, + 835, -1000, 861, 55, -1000, -62, -46, -1000, 70, 698, + -1000, -1000, 5840, 4885, 404, 370, -1000, -1000, -1000, -1000, + 4230, -1000, 3575, -1000, 3444, 834, 3313, 3182, -12, -1000, + 827, 8169, -52, -68, -71, 853, 8169, -1000, 611, -1000, + 675, -1000, -1000, -1000, -1000, -1000, 4230, 3051, 2920, 401, + -1000, 243, -1000, -1000, -1000, 178, -1000, -1000, -1000, 822, + 8169, 8169, -1000, -1000, -1000, 347, 675, -1000, 399, 396, + 731, 769, 597, -1000, -1000, 395, -1000, -1000, -1000, -1000, + 817, -78, -1000, -1000, 266, -1000, -1000, -1000, -1000, 611, + 614, 852, 4230, -1000, 448, -1000, 8169, 609, -51, -1000, + 848, -1000, -1000, -1000, -1000, 242, 611, -1000, 2789, 374, + -1000, -1000, -1000, -1000, -1000, 743, 2658, -1000, 743, -1000, + 199, -1000, -1000, 611, -1000, 792, 109, -1000, 447, -1000, + 2527, -1000, } var yyPgo = [...]int{ - 0, 87, 1239, 45, 37, 35, 632, 1237, 1236, 25, - 275, 1149, 14, 1389, 85, 63, 16, 823, 1646, 1234, - 40, 1233, 1232, 1231, 18, 1230, 43, 24, 1228, 1227, - 1226, 1221, 82, 1219, 1218, 32, 1217, 33, 38, 166, - 1216, 808, 44, 1215, 154, 1214, 1213, 46, 1211, 49, - 52, 0, 1210, 1209, 1208, 30, 1206, 1203, 668, 1202, - 1201, 53, 23, 1200, 15, 41, 28, 20, 1199, 1198, - 1197, 19, 267, 1196, 47, 39, 1195, 1194, 1192, 1191, - 1181, 1180, 1178, 1177, 1176, 1175, 1174, 1172, 1171, 1170, - 26, 1169, 1168, 1167, 1166, 1165, 1164, 1163, 1157, 29, - 7, 1156, 1155, 1154, 1148, 1147, 1146, 1145, 1144, 1143, - 1141, 1140, 1137, 1, 1136, 1135, 34, 1133, 1132, 8, - 1130, 1128, 2, 1127, 1126, 1124, 1120, 13, 1119, 1118, - 1117, 22, 36, 11, 1116, 1115, 1113, 1112, 1110, 17, - 1093, 1092, 48, 1084, 1082, 1081, 1080, 1078, 1077, 1076, - 1075, 1073, 1071, 1070, 1069, 1068, 3, 1067, 1063, 1061, - 1060, 1059, 1057, 5, 1056, 1053, 1049, 6, 12, 1048, - 1047, 1046, 1045, 1041, 1033, 1030, 1027, 1024, 1022, 1021, - 1018, 1017, 1016, 998, 997, 995, 994, 1238, 31, 993, - 988, 27, 4, 987, 986, 983, 982, 981, + 0, 87, 1284, 49, 32, 36, 518, 1283, 1277, 172, + 278, 22, 18, 1286, 85, 57, 17, 821, 1493, 1276, + 34, 1275, 1274, 1273, 38, 1272, 45, 14, 1268, 1247, + 1246, 1244, 70, 1243, 1242, 33, 1238, 27, 37, 25, + 1237, 765, 35, 1236, 270, 1235, 1234, 44, 1233, 50, + 40, 39, 1232, 52, 0, 1231, 1230, 1223, 51, 1222, + 1221, 608, 1220, 1219, 54, 13, 1218, 8, 1034, 23, + 29, 1217, 1216, 1215, 16, 185, 1214, 1211, 1197, 1190, + 1189, 1188, 1187, 1186, 1154, 1153, 1152, 1151, 1150, 1149, + 24, 1147, 1146, 1145, 1143, 26, 6, 1142, 1141, 1139, + 1136, 1135, 1133, 1132, 1130, 1129, 1128, 1127, 1125, 2, + 1124, 1122, 30, 1121, 1119, 12, 1118, 1117, 1, 1116, + 1115, 1113, 1112, 11, 1095, 1094, 1092, 20, 47, 19, + 1091, 1090, 1089, 1088, 1087, 21, 1086, 1084, 48, 1082, + 1080, 1063, 1062, 1061, 1060, 1057, 1053, 1043, 1036, 1035, + 1033, 1032, 3, 1031, 1026, 1024, 1023, 1022, 1021, 4, + 1019, 1018, 1017, 7, 15, 1016, 1015, 1014, 1013, 1011, + 1010, 1008, 1007, 999, 996, 995, 994, 993, 988, 987, + 986, 984, 983, 750, 31, 979, 974, 28, 5, 973, + 966, 964, 891, 888, } var yyR1 = [...]int{ - 0, 73, 50, 50, 51, 51, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 52, 52, 3, - 3, 3, 3, 53, 53, 4, 4, 4, 4, 54, - 54, 5, 5, 5, 5, 76, 76, 55, 55, 23, + 0, 76, 53, 53, 54, 54, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 55, 55, 3, + 3, 3, 3, 56, 56, 4, 4, 4, 4, 57, + 57, 5, 5, 5, 5, 52, 52, 58, 58, 23, 23, 23, 23, 24, 24, 25, 77, 78, 25, 81, - 82, 25, 85, 86, 25, 88, 89, 25, 91, 92, - 93, 25, 95, 25, 25, 25, 25, 25, 25, 25, + 82, 25, 85, 86, 25, 88, 89, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 101, 25, 25, 25, 25, 25, 104, 106, 107, 108, - 109, 104, 105, 111, 105, 110, 110, 112, 112, 114, - 115, 113, 98, 98, 116, 74, 75, 119, 119, 120, - 120, 121, 117, 125, 118, 129, 118, 123, 123, 123, - 123, 124, 124, 128, 130, 130, 126, 126, 131, 131, - 99, 99, 66, 66, 66, 94, 94, 100, 100, 103, - 103, 102, 102, 96, 96, 96, 96, 132, 134, 132, - 135, 132, 133, 133, 87, 87, 79, 136, 79, 83, - 137, 83, 80, 80, 84, 84, 122, 122, 138, 138, - 139, 139, 140, 140, 140, 140, 72, 72, 72, 141, - 141, 142, 142, 142, 142, 56, 56, 26, 26, 26, - 57, 57, 57, 57, 127, 127, 145, 143, 143, 143, - 150, 143, 148, 152, 152, 153, 153, 154, 154, 155, - 155, 156, 156, 157, 160, 160, 161, 161, 159, 158, - 158, 162, 162, 151, 151, 144, 144, 149, 149, 164, - 164, 163, 163, 163, 163, 163, 163, 146, 146, 146, - 146, 147, 147, 97, 97, 90, 90, 166, 165, 165, - 167, 167, 169, 169, 171, 170, 170, 170, 172, 173, - 172, 41, 14, 14, 14, 174, 14, 14, 14, 14, + 25, 25, 25, 25, 25, 25, 97, 25, 25, 25, + 25, 25, 100, 102, 103, 104, 105, 100, 101, 107, + 101, 106, 106, 108, 108, 110, 111, 109, 94, 94, + 112, 50, 51, 115, 115, 116, 116, 117, 113, 121, + 114, 125, 114, 119, 119, 119, 119, 120, 120, 124, + 126, 126, 122, 122, 127, 127, 95, 95, 69, 69, + 69, 91, 91, 96, 96, 99, 99, 98, 98, 92, + 92, 92, 92, 128, 130, 128, 131, 128, 129, 129, + 87, 87, 79, 132, 79, 83, 133, 83, 80, 80, + 84, 84, 118, 118, 134, 134, 135, 135, 136, 136, + 136, 136, 75, 75, 75, 137, 137, 138, 138, 138, + 138, 59, 59, 26, 26, 26, 60, 60, 60, 60, + 123, 123, 141, 139, 139, 139, 146, 139, 144, 148, + 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, + 156, 156, 157, 157, 155, 154, 154, 158, 158, 147, + 147, 140, 140, 145, 145, 160, 160, 159, 159, 159, + 159, 159, 159, 142, 142, 142, 142, 143, 143, 93, + 93, 90, 90, 162, 161, 161, 163, 163, 165, 165, + 167, 166, 166, 166, 168, 169, 168, 41, 14, 14, + 14, 170, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 175, 14, 176, 14, 177, 14, - 178, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 171, 14, 172, 14, 173, 14, 174, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 179, 14, 180, 181, 14, 182, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 183, 14, 14, 14, - 14, 14, 14, 14, 185, 14, 186, 14, 49, 49, - 49, 49, 46, 46, 46, 46, 45, 45, 1, 64, - 64, 63, 63, 63, 63, 22, 22, 22, 22, 22, - 22, 22, 22, 10, 10, 10, 10, 44, 44, 44, - 42, 42, 40, 40, 69, 69, 70, 48, 48, 48, - 184, 184, 184, 71, 71, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 7, 27, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 34, 34, 34, 34, 28, 28, 28, 28, - 28, 28, 28, 188, 188, 191, 191, 190, 190, 190, - 190, 13, 13, 47, 47, 15, 16, 17, 18, 18, - 193, 193, 194, 168, 195, 195, 197, 196, 192, 192, - 192, 39, 39, 43, 43, 11, 21, 21, 19, 19, - 19, 20, 20, 20, 9, 9, 9, 8, 8, 12, - 12, 67, 67, 68, 68, 68, 38, 38, 65, 65, - 62, 62, 37, 37, 37, 61, 61, 60, 60, 60, - 60, 60, 60, 60, 60, 58, 58, 58, 58, 32, - 32, 32, 32, 32, 32, 33, 33, 33, 36, 36, - 36, 36, 36, 36, 36, 36, 59, 59, 35, 35, - 29, 29, 30, 31, + 14, 14, 14, 14, 14, 14, 175, 14, 176, 177, + 14, 178, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 179, 14, 14, 14, 14, 14, 14, 14, + 181, 14, 182, 14, 49, 49, 49, 49, 46, 46, + 46, 46, 45, 45, 1, 67, 67, 66, 66, 66, + 66, 22, 22, 22, 22, 22, 22, 22, 22, 10, + 10, 10, 10, 44, 44, 44, 42, 42, 40, 40, + 72, 72, 73, 48, 48, 48, 180, 180, 180, 74, + 74, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 7, 27, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 34, 34, + 34, 34, 28, 28, 28, 28, 28, 28, 28, 184, + 184, 187, 187, 186, 186, 186, 186, 13, 13, 47, + 47, 15, 16, 17, 18, 18, 189, 189, 190, 164, + 191, 191, 193, 192, 188, 188, 188, 39, 39, 43, + 43, 11, 21, 21, 19, 19, 19, 20, 20, 20, + 9, 9, 9, 8, 8, 12, 12, 70, 70, 71, + 71, 71, 38, 38, 68, 68, 65, 65, 37, 37, + 37, 64, 64, 63, 63, 63, 63, 63, 63, 63, + 63, 61, 61, 61, 61, 32, 32, 32, 32, 32, + 32, 33, 33, 33, 36, 36, 36, 36, 36, 36, + 36, 36, 62, 62, 35, 35, 29, 29, 30, 31, } var yyR2 = [...]int{ @@ -1619,278 +1613,277 @@ var yyR2 = [...]int{ 3, 2, 4, 3, 1, 1, 3, 2, 4, 3, 1, 1, 3, 2, 4, 5, 4, 2, 0, 1, 1, 1, 4, 1, 2, 3, 0, 0, 7, 0, - 0, 10, 0, 0, 5, 0, 0, 7, 0, 0, - 0, 12, 0, 4, 2, 3, 2, 3, 2, 3, - 3, 2, 3, 3, 3, 1, 2, 5, 8, 8, - 0, 6, 1, 6, 3, 3, 0, 0, 0, 0, - 0, 13, 0, 0, 5, 1, 0, 1, 2, 0, - 0, 10, 1, 3, 1, 1, 1, 0, 1, 0, - 1, 0, 10, 0, 8, 0, 7, 1, 2, 1, - 2, 0, 2, 1, 0, 2, 0, 2, 1, 3, - 0, 2, 1, 2, 4, 1, 4, 1, 4, 1, - 4, 3, 5, 3, 4, 4, 5, 0, 0, 6, - 0, 5, 1, 1, 1, 4, 0, 0, 5, 0, - 0, 6, 0, 2, 0, 3, 1, 0, 1, 3, - 4, 6, 0, 1, 1, 1, 2, 3, 3, 1, - 3, 1, 1, 2, 2, 3, 1, 1, 2, 4, - 3, 5, 1, 3, 2, 0, 0, 4, 2, 1, - 0, 9, 3, 1, 3, 1, 3, 0, 1, 1, - 2, 2, 2, 3, 1, 3, 1, 1, 3, 4, - 3, 0, 1, 1, 3, 1, 1, 0, 1, 1, - 2, 1, 1, 1, 1, 1, 1, 3, 5, 1, - 3, 5, 4, 3, 1, 0, 1, 0, 4, 1, - 2, 1, 4, 3, 0, 3, 1, 1, 0, 0, - 2, 3, 6, 3, 4, 0, 7, 2, 3, 3, + 0, 10, 0, 0, 5, 0, 0, 7, 9, 3, + 2, 3, 2, 3, 2, 3, 3, 2, 3, 3, + 3, 1, 2, 5, 8, 8, 0, 6, 1, 6, + 3, 3, 0, 0, 0, 0, 0, 13, 0, 0, + 5, 1, 0, 1, 2, 0, 0, 10, 1, 3, + 1, 1, 1, 0, 1, 0, 1, 0, 10, 0, + 8, 0, 7, 1, 2, 1, 2, 0, 2, 1, + 0, 2, 0, 2, 1, 3, 0, 2, 1, 2, + 4, 1, 4, 1, 4, 1, 4, 3, 5, 3, + 4, 4, 5, 0, 0, 6, 0, 5, 1, 1, + 1, 4, 0, 0, 5, 0, 0, 6, 0, 2, + 0, 3, 1, 0, 1, 3, 4, 6, 0, 1, + 1, 1, 2, 3, 3, 1, 3, 1, 1, 2, + 2, 3, 1, 1, 2, 4, 3, 5, 1, 3, + 2, 0, 0, 4, 2, 1, 0, 9, 3, 1, + 3, 1, 3, 0, 1, 1, 2, 2, 2, 3, + 1, 3, 1, 1, 3, 4, 3, 0, 1, 1, + 3, 1, 1, 0, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, + 1, 0, 1, 0, 4, 1, 2, 1, 4, 3, + 0, 3, 1, 1, 0, 0, 2, 3, 6, 3, + 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, + 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 0, 4, 0, 4, 0, 4, - 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, - 0, 5, 0, 0, 7, 0, 5, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 0, 3, 1, 1, - 1, 3, 2, 1, 0, 10, 0, 11, 2, 2, - 4, 4, 4, 4, 4, 4, 4, 3, 1, 0, - 4, 3, 4, 1, 2, 2, 4, 3, 4, 4, - 4, 4, 2, 1, 1, 3, 2, 1, 3, 2, - 1, 1, 4, 1, 2, 0, 2, 0, 2, 1, - 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 2, 3, 1, 1, - 1, 1, 3, 2, 4, 3, 1, 1, 1, 4, - 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, + 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 1, 1, 0, 5, 0, 0, + 7, 0, 5, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 0, 3, 1, 1, 1, 3, 2, 1, + 0, 10, 0, 11, 2, 2, 4, 4, 4, 4, + 4, 4, 4, 3, 1, 0, 4, 3, 4, 1, + 2, 2, 4, 3, 4, 4, 4, 4, 2, 1, + 1, 3, 2, 1, 3, 2, 1, 1, 4, 1, + 2, 0, 2, 0, 2, 1, 0, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 2, 3, 1, 1, 1, 1, 3, 2, + 4, 3, 1, 1, 1, 4, 3, 3, 3, 3, + 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 4, 5, 2, - 2, 3, 1, 1, 3, 2, 1, 1, 1, 1, - 3, 3, 1, 0, 2, 0, 1, 5, 3, 3, - 1, 1, 1, 3, 3, 1, 1, 1, 5, 1, - 2, 0, 0, 4, 4, 4, 0, 2, 1, 1, - 0, 1, 2, 3, 3, 1, 4, 4, 1, 1, - 1, 1, 2, 1, 4, 4, 1, 1, 4, 0, - 1, 1, 1, 4, 4, 1, 1, 3, 1, 2, - 3, 1, 1, 4, 0, 0, 2, 5, 3, 3, - 1, 6, 4, 4, 2, 2, 2, 1, 2, 1, - 4, 3, 3, 6, 3, 1, 1, 1, 4, 4, - 4, 2, 2, 4, 2, 2, 1, 3, 1, 1, - 3, 3, 3, 3, + 3, 3, 3, 4, 5, 2, 2, 3, 1, 1, + 3, 2, 1, 1, 1, 1, 3, 3, 1, 0, + 2, 0, 1, 5, 3, 3, 1, 1, 1, 3, + 3, 1, 1, 1, 5, 1, 2, 0, 0, 4, + 4, 4, 0, 2, 1, 1, 0, 1, 2, 3, + 3, 1, 4, 4, 1, 1, 1, 1, 2, 1, + 4, 4, 1, 1, 4, 0, 1, 1, 1, 4, + 4, 1, 1, 3, 1, 2, 3, 1, 1, 4, + 0, 0, 2, 5, 3, 3, 1, 6, 4, 4, + 2, 2, 2, 1, 2, 1, 4, 3, 3, 6, + 3, 1, 1, 1, 4, 4, 4, 2, 2, 4, + 2, 2, 1, 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -73, -50, -2, -24, -74, -75, 51, 79, 44, - -76, -25, 10, -117, -118, 38, 119, 7, 21, 20, + -1000, -76, -53, -2, -24, -50, -51, 51, 79, 44, + -52, -25, 10, -113, -114, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, - -13, 48, 25, 27, 121, 40, 43, 36, -1, -123, - -128, 97, -15, -14, 37, 52, 99, 53, 100, 54, + -13, 48, 25, 27, 121, 40, 43, 36, -1, -119, + -124, 97, -15, -14, 37, 52, 99, 53, 100, 54, -18, 59, 92, -17, 104, 105, 130, 129, 131, 132, -47, -41, 123, -36, 107, 108, 109, 110, 111, 112, 113, 6, 133, -28, -46, -45, 118, 96, -19, 91, 49, 50, 4, 5, 84, 85, 86, 11, -34, -31, -6, 117, 74, 62, 18, 60, 125, -20, -21, -22, - -29, -51, 82, -10, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -9, -65, -43, -11, -39, -8, 134, - 12, 123, -51, 119, 82, 10, -52, 37, 38, -3, - -51, 82, 121, 135, 122, 10, -55, -47, 123, -85, + -29, -54, 82, -10, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -9, -68, -43, -11, -39, -8, 134, + 12, 123, -54, 119, 82, 10, -55, 37, 38, -3, + -54, 82, 121, 135, 122, 10, -58, -47, 123, -85, -88, 123, -47, 121, -13, 97, -1, 98, 79, 121, - -13, 121, -14, -18, -13, 121, -56, -26, 12, 134, - -57, -1, 12, -97, -13, 121, 149, 150, 87, 89, + -13, 121, -14, -18, -13, 121, -59, -26, 12, 134, + -60, -1, 12, -93, -13, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -101, 119, -13, 10, -119, + 160, 90, 127, 123, 123, -97, 119, -13, 10, -115, 128, 10, 10, -14, -18, -13, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -13, 104, 105, -17, -18, -51, 79, 82, + 147, 123, -13, 104, 105, -17, -18, -54, 79, 82, -10, -11, 98, -17, -13, -13, -13, -13, -41, -13, -49, -13, -13, -13, -13, -13, -13, -13, -48, 123, - -47, -183, 125, 125, -184, 17, -58, -32, 12, 76, - 77, -13, 57, -42, -10, -40, -51, 79, 82, -20, - -9, -65, -11, 123, 123, -13, -13, 123, -13, -13, - 125, -58, 17, 17, 75, -58, 125, 123, -61, -60, - -13, 128, 125, 125, 82, -72, 123, -51, 78, 125, - 119, -9, 134, 78, -72, 119, 124, 121, 119, -50, - -51, 121, 135, -53, -4, -51, 82, -54, -5, -51, - 82, 29, -51, 10, 136, -23, 120, -24, -74, -75, - 51, -77, 122, -47, -24, -90, -165, -13, -95, 121, - -119, 121, 121, 121, 121, 135, -15, 119, -18, 121, - 135, -119, 136, 121, 135, -175, -176, -177, -178, -13, + -47, -179, 125, 125, -180, 17, -61, -32, 12, 76, + 77, -13, 57, -42, -10, -40, -54, 79, 82, -20, + -9, -68, -11, 123, 123, -13, -13, 123, -13, -13, + 125, -61, 17, 17, 75, -61, 125, 123, -64, -63, + -13, 128, 125, 125, 82, -75, 123, -54, 78, 125, + 119, -9, 134, 78, -75, 119, 124, 121, 119, -53, + -54, 121, 135, -56, -4, -54, 82, -57, -5, -54, + 82, 29, -54, 10, 136, -23, 120, -24, -50, -51, + 51, -77, 122, -47, -24, -90, -161, -13, -92, 119, + 122, 121, -115, 121, 121, 121, 121, 135, -15, 119, + -18, 121, 135, -115, 136, 121, 135, -171, -172, -173, + -174, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -42, -180, 122, -98, -116, -18, -18, -14, 123, -55, - 121, 121, 10, -185, -124, 55, -129, 58, -13, 128, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -62, -37, -18, 59, 82, -51, 78, 78, - 124, 124, 124, 124, -13, -12, -13, -12, 118, -32, - -32, 17, 125, 57, -13, 11, -18, -67, -68, -39, - -38, -9, -65, 10, 119, -71, -72, 78, 82, -51, - 57, -9, 78, -59, -35, -18, -14, -18, -14, -13, - -12, 117, 75, 75, -12, -61, 126, -191, 135, 58, - -16, -18, -12, -12, 10, 124, -141, -49, -142, -14, - -18, 128, 83, -72, -38, -39, 10, 52, -12, -13, - -38, -39, 10, -13, 121, -50, 120, -72, -3, 121, - 135, 29, -51, 121, 135, 29, -51, 10, 29, 136, - -27, -187, -6, -30, -51, 79, 82, 60, 125, -7, - 62, -189, 18, 74, -10, 131, 132, 130, 129, 123, - 123, -24, -81, -86, 21, 121, 135, -96, 119, 122, - -26, -13, 12, -186, -27, -13, -13, -13, -13, -13, - -13, -182, 124, 135, 29, 29, -102, 10, 120, -121, - 123, -125, -44, -51, 79, 82, -130, 55, -14, -18, - -18, 91, 124, 135, 123, -51, -179, 126, 126, -33, - 10, 13, 12, 10, 120, 125, 120, -192, -196, -195, - -197, 125, 119, -9, -13, -39, -51, -67, -39, 124, - 135, 124, 124, 124, 126, 126, 124, -13, 128, -13, - 128, 126, 126, 124, 135, 124, -16, -13, -72, -72, - 126, 120, -72, -72, 120, 120, -4, 10, 29, -5, - 10, 29, 10, -27, 125, 130, 129, 164, 167, 165, - 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, - 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -51, 123, -188, -190, -187, 17, 78, -187, - -187, -187, -187, -187, 124, -78, -55, -87, -24, 122, - -89, -91, -166, -132, 121, -132, 121, 120, 136, 123, - 122, -13, 121, -116, -66, -18, 128, 59, -66, 124, - 135, 136, -104, 41, 123, -122, -138, -139, -140, 60, - 61, -44, -126, 56, 82, -51, 119, -131, -44, -42, - 136, -37, -62, -172, -173, 126, -13, -193, 125, 125, - -72, -12, -13, 120, -69, -35, 58, -16, -16, -142, - 10, 10, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, 122, -187, - -51, -188, 126, -191, 135, 58, 10, 52, 124, 121, - -79, -82, -55, -47, -90, -13, 120, 32, 33, -132, - 31, -132, -27, -122, -181, -99, 58, -18, 123, -99, - -103, -24, 122, 10, -27, -105, 42, 123, -122, 124, - 135, -119, 119, -131, -51, -127, 135, -174, -13, 124, - -170, -169, -167, 125, -168, 57, 126, -168, -12, -12, - 126, 120, -70, 57, -13, 128, 126, -187, 122, 124, - -187, -187, -80, 93, 94, -83, 22, 121, 121, -13, - -133, 122, 121, 120, 121, 31, 124, -13, 124, -66, - -62, 124, -55, 136, -111, -106, 124, -64, 44, -139, - -120, 83, -127, 120, -143, -144, -147, -148, -149, -164, - 47, 38, 44, -163, 103, 102, 101, 98, 99, 100, - -44, -71, 125, -171, -168, -12, -67, 120, 126, 126, - -67, -16, -187, 58, -47, -24, -84, 93, 94, 121, - -92, -133, -135, 121, -64, -100, -24, 122, 124, -100, - 28, -27, 119, -44, 119, 119, 123, 12, 120, -145, - 121, 135, -1, -163, 10, -152, -44, -12, -167, 126, - -194, -187, -136, 95, -47, 122, -90, -134, -55, 119, - -55, 121, -55, -107, -55, -55, -63, 12, 128, 136, - -146, 12, 10, -119, 136, -153, 135, 121, 119, 126, - -192, -24, 121, 122, -55, 124, -55, -55, 26, 120, - 12, 120, 120, 124, 135, 12, -27, 121, 135, 136, - 136, 10, -27, -44, -154, -155, -156, -157, -158, -159, - -161, -44, 10, -137, -93, 120, 121, 124, 12, 128, - 12, -27, -27, -150, 120, -156, 121, 121, 45, 29, - 78, -55, -94, -24, 122, -108, 12, 136, 123, -160, - -44, -162, -163, 10, -55, 119, -27, -122, 135, 10, - 24, -55, 124, -44, 121, 120, -151, 121, 119, -109, - -55, -110, -112, -113, 41, 120, -113, 123, -44, -114, - 12, 124, -115, 119, -55, 120, + -13, -13, -42, -176, 122, -94, -112, -18, -18, -14, + 123, -58, 121, 121, 10, -181, -120, 55, -125, 58, + -13, 128, -13, -13, -13, -13, -13, -13, -13, -13, + -13, -13, -13, -13, -65, -37, -18, 59, 82, -54, + 78, 78, 124, 124, 124, 124, -13, -12, -13, -12, + 118, -32, -32, 17, 125, 57, -13, 11, -18, -70, + -71, -39, -38, -9, -68, 10, 119, -74, -75, 78, + 82, -54, 57, -9, 78, -62, -35, -18, -14, -18, + -14, -13, -12, 117, 75, 75, -12, -64, 126, -187, + 135, 58, -16, -18, -12, -12, 10, 124, -137, -49, + -138, -14, -18, 128, 83, -75, -38, -39, 10, 52, + -12, -13, -38, -39, 10, -13, 121, -53, 120, -75, + -3, 121, 135, 29, -54, 121, 135, 29, -54, 10, + 29, 136, -27, -183, -6, -30, -54, 79, 82, 60, + 125, -7, 62, -185, 18, 74, -10, 131, 132, 130, + 129, 123, 123, -24, -81, -86, 21, 121, 135, -128, + 121, -128, 121, -26, -13, 12, -182, -27, -13, -13, + -13, -13, -13, -13, -178, 124, 135, 29, 29, -98, + 10, 120, -117, 123, -121, -44, -54, 79, 82, -126, + 55, -14, -18, -18, 91, 124, 135, 123, -54, -175, + 126, 126, -33, 10, 13, 12, 10, 120, 125, 120, + -188, -192, -191, -193, 125, 119, -9, -13, -39, -54, + -70, -39, 124, 135, 124, 124, 124, 126, 126, 124, + -13, 128, -13, 128, 126, 126, 124, 135, 124, -16, + -13, -75, -75, 126, 120, -75, -75, 120, 120, -4, + 10, 29, -5, 10, 29, 10, -27, 125, 130, 129, + 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, + 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, + 159, 158, 160, 127, 82, -54, 123, -184, -186, -183, + 17, 78, -183, -183, -183, -183, -183, 124, -78, -58, + -87, -24, 122, -89, -90, -162, 120, 32, 33, -128, + 31, -128, 120, 136, 123, 122, -13, 121, -112, -69, + -18, 128, 59, -69, 124, 135, 136, -100, 41, 123, + -118, -134, -135, -136, 60, 61, -44, -122, 56, 82, + -54, 119, -127, -44, -42, 136, -37, -65, -168, -169, + 126, -13, -189, 125, 125, -75, -12, -13, 120, -72, + -35, 58, -16, -16, -138, 10, 10, -183, -183, -183, + -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, + -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, + -183, -183, -183, 122, -183, -54, -184, 126, -187, 135, + 58, 10, 52, 124, 121, -79, -82, -58, -47, 121, + -13, -13, -129, 122, 121, 120, 121, 31, -27, -118, + -177, -95, 58, -18, 123, -95, -99, -24, 122, 10, + -27, -101, 42, 123, -118, 124, 135, -115, 119, -127, + -54, -123, 135, -170, -13, 124, -166, -165, -163, 125, + -164, 57, 126, -164, -12, -12, 126, 120, -73, 57, + -13, 128, 126, -183, 122, 124, -183, -183, -80, 93, + 94, -83, 22, 121, -90, -129, -131, 121, 124, -13, + 124, -69, -65, 124, -58, 136, -107, -102, 124, -67, + 44, -135, -116, 83, -123, 120, -139, -140, -143, -144, + -145, -160, 47, 38, 44, -159, 103, 102, 101, 98, + 99, 100, -44, -74, 125, -167, -164, -12, -70, 120, + 126, 126, -70, -16, -183, 58, -47, -24, -84, 93, + 94, 121, 124, -130, -58, -67, -96, -24, 122, 124, + -96, 28, -27, 119, -44, 119, 119, 123, 12, 120, + -141, 121, 135, -1, -159, 10, -148, -44, -12, -163, + 126, -190, -183, -132, 95, -47, 122, -91, -24, 122, + -58, 119, -58, 121, -58, -103, -58, -58, -66, 12, + 128, 136, -142, 12, 10, -115, 136, -149, 135, 121, + 119, 126, -188, -24, 121, 122, -58, -58, -58, 26, + 120, 12, 120, 120, 124, 135, 12, -27, 121, 135, + 136, 136, 10, -27, -44, -150, -151, -152, -153, -154, + -155, -157, -44, 10, -133, 24, 120, 121, 124, 12, + 128, 12, -27, -27, -146, 120, -152, 121, 121, 45, + 29, 78, -58, 121, -104, 12, 136, 123, -156, -44, + -158, -159, 10, 119, -27, -118, 135, 10, -58, 124, + -44, 120, -147, 121, 119, -105, -58, -106, -108, -109, + 41, 120, -109, 123, -44, -110, 12, 124, -111, 119, + -58, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, - 0, 43, 4, 105, 106, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 373, 0, 75, - 0, 0, 0, 80, 82, 0, 0, 0, 107, 0, - 0, 343, 471, 472, 358, 117, 0, 119, 0, 123, + 0, 43, 4, 101, 102, 0, 38, 0, 52, 55, + 0, 0, 0, 0, 0, 0, 0, 369, 0, 71, + 0, 0, 0, 76, 78, 0, 0, 0, 103, 0, + 0, 339, 467, 468, 354, 113, 0, 115, 0, 119, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 318, 319, 0, 327, 0, 0, 0, 0, 0, 0, - 0, 387, 336, 338, 339, 340, 390, 0, 479, 0, - 0, 0, 0, 0, 0, 0, 0, 456, 457, 458, - 459, 0, 0, 462, 397, 0, 525, 498, 499, 500, - 452, -2, 0, 0, 395, 396, 398, 399, 400, 401, - 402, 403, 404, -2, 0, 503, 0, 0, 506, 518, - 507, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 314, 315, 0, 323, 0, 0, 0, 0, 0, 0, + 0, 383, 332, 334, 335, 336, 386, 0, 475, 0, + 0, 0, 0, 0, 0, 0, 0, 452, 453, 454, + 455, 0, 0, 458, 393, 0, 521, 494, 495, 496, + 448, -2, 0, 0, 391, 392, 394, 395, 396, 397, + 398, 399, 400, -2, 0, 499, 0, 0, 502, 514, + 503, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 245, 62, 64, 0, 343, 107, 373, 0, 66, - 0, 68, 472, -2, 0, 71, 0, 186, 187, 0, - 0, 107, 192, 0, 244, 76, 284, 286, 288, 290, + 0, 241, 0, 60, 0, 339, 103, 369, 0, 62, + 0, 64, 468, -2, 0, 67, 0, 182, 183, 0, + 0, 103, 188, 0, 240, 72, 280, 282, 284, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 322, 0, 0, 0, 38, 0, 0, 344, - 108, 121, 115, -2, -2, 0, 118, 120, 0, 0, + 0, 0, 318, 0, 0, 0, 38, 0, 0, 340, + 104, 117, 111, -2, -2, 0, 114, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 524, 267, 280, 282, 281, 477, 374, 0, 0, - 0, 0, 373, 283, 305, 306, 307, 308, 319, 0, - 0, 328, 329, 330, 331, 332, 333, 334, 335, 0, - 389, 0, 509, 509, 0, 391, 392, 537, 539, 0, - 0, 342, 0, 393, 380, 381, 374, 0, 0, 383, - -2, 0, 0, 0, 0, 551, 552, 0, 554, 555, - 509, 0, 0, 0, 406, 0, 509, 525, 0, 465, - 530, 0, 509, 509, 0, 365, 0, -2, 0, 509, - 0, -2, 519, 0, 372, 0, 0, 10, 3, 0, + 0, 520, 263, 276, 278, 277, 473, 370, 0, 0, + 0, 0, 369, 279, 301, 302, 303, 304, 315, 0, + 0, 324, 325, 326, 327, 328, 329, 330, 331, 0, + 385, 0, 505, 505, 0, 387, 388, 533, 535, 0, + 0, 338, 0, 389, 376, 377, 370, 0, 0, 379, + -2, 0, 0, 0, 0, 547, 548, 0, 550, 551, + 505, 0, 0, 0, 402, 0, 505, 521, 0, 461, + 526, 0, 505, 505, 0, 361, 0, -2, 0, 505, + 0, -2, 515, 0, 368, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 0, 49, 53, 0, 0, 246, 249, 0, 65, - 344, 67, 69, 70, 72, 0, 188, 0, 475, 73, - 0, 346, 0, 74, 0, 0, 0, 0, 0, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, -2, -2, -2, -2, -2, -2, -2, -2, - 317, 0, 325, 0, 102, 104, -2, 472, 0, 0, - 84, 85, 111, 0, 113, 0, 124, 0, 263, 0, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 0, 521, 522, 0, 0, 376, 0, 0, - 320, 473, 474, 388, 337, 0, 510, 0, 341, 538, - 535, 536, 0, 0, 0, 456, 0, -2, 511, 512, - 515, 491, 0, 516, 0, 261, 394, 0, 0, 376, - 0, 502, 0, 0, 556, -2, -2, -2, 472, 0, - 0, 460, 405, 461, 0, 0, 357, 526, 466, 0, - 534, 476, 0, 0, 5, 176, 0, 0, 179, -2, - -2, 0, 0, 367, 0, 493, -2, 563, 0, 0, - 0, 494, -2, 0, 9, 0, 12, 366, 17, 14, - 0, 0, 27, 15, 0, 0, 33, 20, 0, 0, - 36, 408, 409, 410, -2, 0, 0, 0, 463, 416, - 417, 418, 397, 0, 0, 0, 0, 0, 0, 0, - 0, 47, 38, 0, 56, 58, 247, 63, 147, 147, - 185, 0, 190, 0, 193, 243, 285, 287, 289, 291, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, - -2, 126, 122, 377, 0, 0, 0, 0, -2, -2, - 264, 0, 0, 524, 524, 375, -2, 353, 352, 0, - 545, 546, 547, 541, 542, 0, 544, 481, 488, 489, - 0, 509, 0, 492, 0, 493, 375, 385, 494, 548, - 0, 549, 550, 553, 355, 354, 356, 528, 0, 529, - 0, 496, 497, 177, 0, 178, 183, 184, 368, 369, - 504, 505, 370, 371, 508, 11, 23, 26, 0, 29, - 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 49, 53, 0, 0, 242, 245, 59, 143, + 143, 61, 340, 63, 65, 66, 68, 0, 184, 0, + 471, 69, 0, 342, 0, 70, 0, 0, 0, 0, + 0, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, -2, -2, -2, -2, -2, -2, + -2, -2, 313, 0, 321, 0, 98, 100, -2, 468, + 0, 0, 80, 81, 107, 0, 109, 0, 120, 0, + 259, 0, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 0, 517, 518, 0, 0, 372, + 0, 0, 316, 469, 470, 384, 333, 0, 506, 0, + 337, 534, 531, 532, 0, 0, 0, 452, 0, -2, + 507, 508, 511, 487, 0, 512, 0, 257, 390, 0, + 0, 372, 0, 498, 0, 0, 552, -2, -2, -2, + 468, 0, 0, 456, 401, 457, 0, 0, 353, 522, + 462, 0, 530, 472, 0, 0, 5, 172, 0, 0, + 175, -2, -2, 0, 0, 363, 0, 489, -2, 559, + 0, 0, 0, 490, -2, 0, 9, 0, 12, 362, + 17, 14, 0, 0, 27, 15, 0, 0, 33, 20, + 0, 0, 36, 404, 405, 406, -2, 0, 0, 0, + 459, 412, 413, 414, 393, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 38, 0, 56, 241, 243, 0, + 143, 0, 143, 181, 0, 186, 0, 189, 239, 281, + 283, 285, 287, 0, 0, 0, 0, 0, 0, 0, + 0, 82, 0, -2, 122, 118, 373, 0, 0, 0, + 0, -2, -2, 260, 0, 0, 520, 520, 371, -2, + 349, 348, 0, 541, 542, 543, 537, 538, 0, 540, + 477, 484, 485, 0, 505, 0, 488, 0, 489, 371, + 381, 490, 544, 0, 545, 546, 549, 351, 350, 352, + 524, 0, 525, 0, 492, 493, 173, 0, 174, 179, + 180, 364, 365, 500, 501, 366, 367, 504, 11, 23, + 26, 0, 29, 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2, 463, 0, 465, 470, 0, 0, 426, - 427, 449, 450, 0, 0, 156, 50, 54, 154, 38, - 0, 245, 0, 0, 147, 0, 147, 189, 0, -2, - 323, 326, 77, 103, 130, 132, 0, 0, 130, 0, - 0, 0, 92, 0, -2, 0, 166, 168, 107, 173, - 174, 175, 0, 0, 0, 379, 195, 125, 128, 265, - 0, 520, 0, 321, 0, 540, 0, 478, 509, 509, - 487, 0, 0, 517, 382, 557, 0, 532, 533, 180, - 28, 34, 0, 420, 421, 422, 423, 424, 425, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, - -2, 0, 415, 464, 466, 0, 407, 562, 451, 42, - 162, 159, 0, 0, 0, 248, 143, 0, 0, 0, - 0, 0, 191, 0, 0, 0, 0, 133, 524, 0, - 81, 139, 38, 0, 141, 83, 93, 87, 0, 359, - 172, 109, 195, 127, 378, 227, 0, 393, 262, 523, - 260, -2, 257, 509, 251, 0, 0, 480, 0, 0, - 513, 514, 384, 0, 527, 0, 419, 447, 0, 414, - 468, 469, 48, 0, 0, 164, 0, 57, 59, 0, - 150, 152, 153, 144, 145, 0, 359, 324, 0, 131, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, - 0, 110, 227, 116, 194, 196, 0, 199, 0, -2, - 226, 0, 0, 229, 231, 232, 233, 234, 235, 236, - 129, 266, 509, 0, 250, 0, 482, 543, 485, 484, - 386, 531, 448, 0, 157, 163, 0, 0, 0, 155, - 245, 148, 38, 146, 0, 78, 137, 38, 134, 79, - 0, 142, 38, 88, 38, 38, 0, 170, 114, 0, - 198, 0, 107, 230, 0, 0, 203, 0, 255, 253, - -2, 467, 0, 0, 0, 38, 0, 38, 151, 38, - 0, 140, 0, 0, 0, 0, 0, 363, 0, 0, - 0, 239, 0, 0, 0, 202, 0, 205, 207, 252, - 483, 158, 51, 160, 165, 60, 149, 0, 0, 94, - 0, 112, 345, 360, 0, 364, 171, 197, 0, 0, - 0, 200, 242, 204, 0, 208, 209, 0, 0, 217, - 0, 0, -2, 38, 0, 347, 138, 89, 361, 0, - 237, 240, 241, 0, 206, 210, 211, 212, 0, 221, - 0, 161, 61, 135, 38, 0, 362, 0, -2, 213, - 214, 0, -2, 218, 0, 38, 238, 0, 0, 219, - 0, 0, 0, 215, 136, 90, 201, 223, 38, 96, - 0, 91, 95, 97, 0, 224, 98, 0, 99, 0, - 0, 100, 0, 38, 0, 101, + 0, 0, 0, 0, 0, -2, 459, 0, 461, 466, + 0, 0, 422, 423, 445, 446, 0, 0, 152, 50, + 54, 150, 38, 0, 0, 0, 139, 0, 0, 0, + 0, 0, 185, 0, -2, 319, 322, 73, 99, 126, + 128, 0, 0, 126, 0, 0, 0, 88, 0, -2, + 0, 162, 164, 103, 169, 170, 171, 0, 0, 0, + 375, 191, 121, 124, 261, 0, 516, 0, 317, 0, + 536, 0, 474, 505, 505, 483, 0, 0, 513, 378, + 553, 0, 528, 529, 176, 28, 34, 0, 416, 417, + 418, 419, 420, 421, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, -2, -2, -2, -2, -2, + -2, -2, -2, 0, 0, -2, 0, 411, 460, 462, + 0, 403, 558, 447, 42, 158, 155, 0, 0, 241, + 244, 0, 146, 148, 149, 140, 141, 0, 187, 0, + 0, 0, 0, 129, 520, 0, 77, 135, 38, 0, + 137, 79, 89, 83, 0, 355, 168, 105, 191, 123, + 374, 223, 0, 389, 258, 519, 256, -2, 253, 505, + 247, 0, 0, 476, 0, 0, 509, 510, 380, 0, + 523, 0, 415, 443, 0, 410, 464, 465, 48, 0, + 0, 160, 0, 57, 0, 144, 38, 142, 355, 320, + 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 165, 0, 106, 223, 112, 190, 192, 0, 195, + 0, -2, 222, 0, 0, 225, 227, 228, 229, 230, + 231, 232, 125, 262, 505, 0, 246, 0, 478, 539, + 481, 480, 382, 527, 444, 0, 153, 159, 0, 0, + 0, 151, 0, 38, 147, 0, 74, 133, 38, 130, + 75, 0, 138, 38, 84, 38, 38, 0, 166, 110, + 0, 194, 0, 103, 226, 0, 0, 199, 0, 251, + 249, -2, 463, 0, 0, 0, 38, 58, 131, 38, + 145, 38, 0, 136, 0, 0, 0, 0, 0, 359, + 0, 0, 0, 235, 0, 0, 0, 198, 0, 201, + 203, 248, 479, 154, 51, 156, 161, 0, 0, 0, + 90, 0, 108, 341, 356, 0, 360, 167, 193, 0, + 0, 0, 196, 238, 200, 0, 204, 205, 0, 0, + 213, 0, 0, -2, 38, 0, 343, 134, 85, 357, + 0, 233, 236, 237, 0, 202, 206, 207, 208, 0, + 217, 0, 157, 132, 0, 358, 0, -2, 209, 210, + 0, -2, 214, 38, 234, 0, 0, 215, 0, 0, + 211, 86, 197, 219, 38, 92, 0, 87, 91, 93, + 0, 220, 94, 0, 95, 0, 0, 96, 0, 38, + 0, 97, } var yyTok1 = [...]int{ @@ -2304,31 +2297,33 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:250 + //line php5/php5.y:251 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:251 + //line php5/php5.y:253 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:252 + //line php5/php5.y:255 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:253 + //line php5/php5.y:257 { yyVAL.node = stmt.NewHaltCompiler() + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:255 + //line php5/php5.y:263 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2340,7 +2335,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:265 + //line php5/php5.y:273 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2352,7 +2347,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:275 + //line php5/php5.y:283 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2360,7 +2355,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:281 + //line php5/php5.y:289 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2368,7 +2363,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:287 + //line php5/php5.y:295 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2380,7 +2375,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:297 + //line php5/php5.y:305 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2392,25 +2387,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:306 + //line php5/php5.y:315 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:310 + //line php5/php5.y:320 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:311 + //line php5/php5.y:322 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:316 + //line php5/php5.y:327 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2422,7 +2417,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:326 + //line php5/php5.y:337 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2437,7 +2432,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:339 + //line php5/php5.y:350 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2449,7 +2444,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:349 + //line php5/php5.y:360 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2464,19 +2459,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:365 + //line php5/php5.y:376 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:369 + //line php5/php5.y:378 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:376 + //line php5/php5.y:383 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2488,7 +2483,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:386 + //line php5/php5.y:393 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2503,7 +2498,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:399 + //line php5/php5.y:406 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2515,7 +2510,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:409 + //line php5/php5.y:416 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2530,19 +2525,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:425 + //line php5/php5.y:432 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:429 + //line php5/php5.y:434 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:436 + //line php5/php5.y:439 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2554,7 +2549,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:446 + //line php5/php5.y:449 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2569,7 +2564,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:459 + //line php5/php5.y:462 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2581,7 +2576,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:469 + //line php5/php5.y:472 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2596,642 +2591,659 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:484 + //line php5/php5.y:488 { + name := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(name, yyDollar[3].token.Comments()) + + constant := stmt.NewConstant(name, yyDollar[5].node, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node)) + comments.AddComments(constant, yyDollar[3].token.Comments()) + + constList := yyDollar[1].node.(*stmt.ConstList) + constList.Consts = append(constList.Consts, constant) + + yyVAL.node = yyDollar[1].node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, constList.Consts)) } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:504 { + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(name, yyDollar[2].token.Comments()) + + constant := stmt.NewConstant(name, yyDollar[4].node, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) + comments.AddComments(constant, yyDollar[2].token.Comments()) + + constList := []node.Node{constant} + + yyVAL.node = stmt.NewConstList(constList) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, constList)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:489 + //line php5/php5.y:523 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:525 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:495 + //line php5/php5.y:531 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:496 + //line php5/php5.y:533 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:497 + //line php5/php5.y:535 { + yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:537 { + yyVAL.node = stmt.NewHaltCompiler() + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:547 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:549 { + label := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewLabel(label) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + + comments.AddComments(label, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:561 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:562 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:562 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:562 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:563 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:563 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:563 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:564 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:564 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:564 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:565 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:565 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:512 + //line php5/php5.y:565 { } case 58: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:516 + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:566 { } case 59: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:518 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:567 { } case 60: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:520 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:568 { } case 61: - yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:521 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:569 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:522 + //line php5/php5.y:570 { } case 63: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:522 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:571 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:572 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:524 + //line php5/php5.y:573 { } case 66: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:525 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:574 { } case 67: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:526 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:575 { } case 68: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:527 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:576 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:577 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:529 + //line php5/php5.y:578 { } case 71: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:530 - { - } - case 72: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:531 - { - } - case 73: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:532 - { - } - case 74: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:533 - { - } - case 75: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:534 - { - } - case 76: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:535 - { - yyVAL.node = yyDollar[1].node - } - case 77: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:536 - { - } - case 78: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:537 - { - } - case 79: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:538 - { - } - case 80: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:539 - { - } - case 81: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:539 - { - } - case 82: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:540 - { - } - case 83: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:541 - { - } - case 84: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:542 - { - } - case 85: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:543 - { - } - case 86: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:547 - { - } - case 87: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:548 - { - } - case 88: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:549 - { - } - case 89: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:550 - { - } - case 90: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:551 - { - } - case 91: - yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:552 - { - } - case 92: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:555 - { - } - case 93: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:556 - { - } - case 94: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:556 - { - } - case 95: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:560 - { - } - case 96: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:561 - { - } - case 97: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:565 - { - } - case 98: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:566 - { - } - case 99: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:570 - { - } - case 100: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:570 - { - } - case 101: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:570 - { - } - case 104: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:579 { } - case 105: - yyDollar = yyS[yypt-1 : yypt+1] + case 72: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:580 + { + yyVAL.node = yyDollar[1].node + } + case 73: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:581 + { + } + case 74: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:582 + { + } + case 75: + yyDollar = yyS[yypt-8 : yypt+1] //line php5/php5.y:583 { } + case 76: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:584 + { + } + case 77: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:584 + { + } + case 78: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:585 + { + } + case 79: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:586 + { + } + case 80: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:587 + { + } + case 81: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:588 + { + } + case 82: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:592 + { + } + case 83: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:593 + { + } + case 84: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:594 + { + } + case 85: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:595 + { + } + case 86: + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:596 + { + } + case 87: + yyDollar = yyS[yypt-13 : yypt+1] + //line php5/php5.y:597 + { + } + case 88: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:600 + { + } + case 89: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:601 + { + } + case 90: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:601 + { + } + case 91: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:605 + { + } + case 92: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:606 + { + } + case 93: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:610 + { + } + case 94: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:611 + { + } + case 95: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:615 + { + } + case 96: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:615 + { + } + case 97: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:615 + { + } + case 100: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:624 + { + } + case 101: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:628 + { + } + case 102: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:632 + { + } + case 103: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:636 + { + } + case 104: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:637 + { + } + case 105: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:641 + { + } case 106: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:587 + //line php5/php5.y:642 { } case 107: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:591 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:646 { } case 108: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:592 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:648 { } case 109: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:596 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:653 { } case 110: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:597 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:657 { } case 111: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:601 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:659 { } case 112: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:603 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:663 { } case 113: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:608 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:668 { } case 114: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:612 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:669 { } case 115: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:614 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:670 { } case 116: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:618 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:671 { } case 117: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:623 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:675 { } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:624 + //line php5/php5.y:676 { } case 119: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:625 + //line php5/php5.y:680 { } - case 120: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:626 - { - } - case 121: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:630 - { - } - case 122: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:631 - { - } - case 123: + case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:635 + //line php5/php5.y:694 + { + } + case 125: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:695 + { + } + case 126: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:699 + { + } + case 127: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:700 { } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:649 - { - } - case 129: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:650 - { - } - case 130: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:654 - { - } - case 131: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:655 - { - } - case 132: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:660 + //line php5/php5.y:705 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } - case 133: + case 129: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:662 + //line php5/php5.y:707 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } - case 134: + case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:664 + //line php5/php5.y:709 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } - case 141: + case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:691 + //line php5/php5.y:736 + { + } + case 138: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:737 + { + } + case 139: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:742 + { + } + case 140: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:743 + { + } + case 141: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:744 { } case 142: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:692 + //line php5/php5.y:745 { } case 143: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:697 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:750 { } case 144: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:698 + //line php5/php5.y:751 { } case 145: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:699 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:751 { } case 146: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:700 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:752 { } case 147: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:705 - { - } - case 148: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:706 - { - } - case 149: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:706 - { - } - case 150: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:707 - { - } - case 151: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:707 + //line php5/php5.y:752 { } - case 157: + case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:726 - { - } - case 158: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:726 - { - } - case 160: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:732 - { - } - case 161: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:732 - { - } - case 170: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:761 - { - } - case 171: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:763 - { - } - case 172: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:768 - { - } - case 173: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:769 - { - } - case 174: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:770 - { - } - case 175: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:771 { } - case 176: - yyDollar = yyS[yypt-2 : yypt+1] + case 154: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:771 + { + } + case 156: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:777 + { + } + case 157: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:777 + { + } + case 166: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:806 + { + } + case 167: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:808 + { + } + case 168: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:813 + { + } + case 169: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:814 + { + } + case 170: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:815 + { + } + case 171: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:816 + { + } + case 172: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:822 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } - case 177: + case 173: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:778 + //line php5/php5.y:823 + { + } + case 174: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:824 + { + } + case 177: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:834 { } case 178: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:779 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:835 + { + } + case 179: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:836 + { + } + case 180: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:837 { } case 181: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:789 - { - } - case 182: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:790 - { - } - case 183: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:791 - { - } - case 184: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:792 - { - } - case 185: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:796 + //line php5/php5.y:841 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 186: + case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:797 + //line php5/php5.y:842 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 187: + case 183: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:803 + //line php5/php5.y:848 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3241,25 +3253,25 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 188: + case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:813 + //line php5/php5.y:858 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 189: + case 185: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:819 + //line php5/php5.y:864 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 190: + case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:829 + //line php5/php5.y:874 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3276,9 +3288,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 191: + case 187: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:846 + //line php5/php5.y:891 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3295,9 +3307,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 192: + case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:863 + //line php5/php5.y:908 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3314,9 +3326,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 193: + case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:880 + //line php5/php5.y:925 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3333,274 +3345,274 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } + case 192: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:952 + { + } case 196: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:907 - { - } - case 200: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:910 - { - } - case 201: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:912 - { - } - case 203: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:920 - { - } - case 204: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:921 - { - } - case 213: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:945 - { - } - case 214: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:949 - { - } - case 215: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:950 - { - } - case 216: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:954 - { - } - case 217: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:955 { } - case 218: + case 197: + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:957 + { + } + case 199: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:965 + { + } + case 200: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:966 { } - case 219: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:963 - { - } - case 220: + case 209: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:964 + //line php5/php5.y:990 { } - case 221: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:968 - { - } - case 222: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:969 - { - } - case 223: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:973 - { - } - case 224: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:974 - { - } - case 225: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:978 - { - } - case 226: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:979 - { - } - case 227: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:983 - { - } - case 228: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:984 - { - } - case 229: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:988 - { - } - case 230: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:989 - { - } - case 231: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:993 - { - } - case 232: + case 210: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:994 { } - case 233: - yyDollar = yyS[yypt-1 : yypt+1] + case 211: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:995 { } - case 234: + case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:996 + //line php5/php5.y:999 { } - case 235: + case 213: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:997 + //line php5/php5.y:1000 { } - case 236: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:998 - { - } - case 237: + case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1002 - { - } - case 238: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1003 - { - } - case 239: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1004 { } - case 240: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1005 + case 215: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1008 { } - case 241: - yyDollar = yyS[yypt-5 : yypt+1] + case 216: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1009 { } - case 242: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1010 + case 217: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1013 { } - case 243: - yyDollar = yyS[yypt-3 : yypt+1] + case 218: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1014 { } - case 244: + case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1015 + //line php5/php5.y:1018 { } - case 245: + case 220: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1019 + { + } + case 221: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1023 + { + } + case 222: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1024 + { + } + case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1028 { } - case 246: + case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1021 + //line php5/php5.y:1029 { } - case 247: + case 225: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1033 + { + } + case 226: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1034 { } - case 248: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1025 - { - } - case 249: + case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1026 + //line php5/php5.y:1038 { } - case 250: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1030 - { - } - case 251: + case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1031 + //line php5/php5.y:1039 { } - case 252: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1035 - { - } - case 253: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1036 - { - } - case 254: + case 229: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1040 { } - case 255: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1040 - { - } - case 256: + case 230: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1041 { } - case 257: + case 231: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1042 { } - case 258: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1046 + case 232: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1043 { } - case 259: - yyDollar = yyS[yypt-0 : yypt+1] + case 233: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1047 { } - case 260: - yyDollar = yyS[yypt-2 : yypt+1] + case 234: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1048 { } - case 261: + case 235: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1049 + { + } + case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1053 + //line php5/php5.y:1050 + { + } + case 237: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1054 + { + } + case 238: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1055 + { + } + case 239: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1059 + { + } + case 240: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1060 + { + } + case 241: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1065 + { + } + case 242: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1066 + { + } + case 243: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1070 + { + } + case 244: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1070 + { + } + case 245: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1071 + { + } + case 246: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1075 + { + } + case 247: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1076 + { + } + case 248: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1080 + { + } + case 249: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1081 + { + } + case 250: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1085 + { + } + case 251: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1085 + { + } + case 252: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1086 + { + } + case 253: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1087 + { + } + case 254: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1091 + { + } + case 255: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1092 + { + } + case 256: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1093 + { + } + case 257: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1098 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3612,9 +3624,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 262: + case 258: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1113 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3624,472 +3636,472 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 263: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1077 - { - } - case 264: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1078 - { - } - case 265: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1079 - { - } - case 266: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1079 - { - } - case 267: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1080 - { - } - case 268: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 - { - } - case 269: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1082 - { - } - case 270: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1083 - { - } - case 271: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 - { - } - case 272: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1085 - { - } - case 273: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1086 - { - } - case 274: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1087 - { - } - case 275: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1088 - { - } - case 276: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1089 - { - } - case 277: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1090 - { - } - case 278: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1091 - { - } - case 279: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1092 - { - } - case 280: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1093 - { - } - case 281: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1094 - { - } - case 282: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1095 - { - } - case 283: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1096 - { - } - case 284: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1097 - { - } - case 285: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1097 - { - } - case 286: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1098 - { - } - case 287: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1098 - { - } - case 288: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1099 - { - } - case 289: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1099 - { - } - case 290: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1100 - { - } - case 291: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1100 - { - } - case 292: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1101 - { - } - case 293: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1102 - { - } - case 294: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1103 - { - } - case 295: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1104 - { - } - case 296: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1105 - { - } - case 297: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1106 - { - } - case 298: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1107 - { - } - case 299: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1108 - { - } - case 300: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1109 - { - } - case 301: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1110 - { - } - case 302: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1111 - { - } - case 303: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1112 - { - } - case 304: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1113 - { - } - case 305: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1114 - { - } - case 306: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1115 - { - } - case 307: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1116 - { - } - case 308: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1117 - { - } - case 309: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1118 - { - } - case 310: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1119 - { - } - case 311: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1120 - { - } - case 312: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1121 - { - } - case 313: + case 259: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1122 { } - case 314: - yyDollar = yyS[yypt-3 : yypt+1] + case 260: + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1123 { } - case 315: - yyDollar = yyS[yypt-3 : yypt+1] + case 261: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1124 { } - case 316: - yyDollar = yyS[yypt-3 : yypt+1] + case 262: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1124 + { + } + case 263: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1125 { } - case 317: + case 264: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1126 { } - case 318: - yyDollar = yyS[yypt-1 : yypt+1] + case 265: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1127 { } - case 319: - yyDollar = yyS[yypt-1 : yypt+1] + case 266: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1128 + { + } + case 267: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1129 { - yyVAL.node = yyDollar[1].node } - case 320: + case 268: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1130 { } - case 321: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1130 - { - } - case 322: - yyDollar = yyS[yypt-2 : yypt+1] + case 269: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1131 { } - case 323: - yyDollar = yyS[yypt-5 : yypt+1] + case 270: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1132 { } - case 324: - yyDollar = yyS[yypt-7 : yypt+1] + case 271: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1133 { } - case 325: + case 272: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1134 { } - case 326: - yyDollar = yyS[yypt-5 : yypt+1] + case 273: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1135 { } - case 327: - yyDollar = yyS[yypt-1 : yypt+1] + case 274: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1136 { } - case 328: - yyDollar = yyS[yypt-2 : yypt+1] + case 275: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1137 { } - case 329: + case 276: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1138 { } - case 330: + case 277: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1139 { } - case 331: + case 278: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1140 { } - case 332: + case 279: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1141 { } - case 333: + case 280: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1142 { } - case 334: + case 281: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1142 + { + } + case 282: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1143 { } - case 335: + case 283: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1143 + { + } + case 284: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1144 { } - case 336: - yyDollar = yyS[yypt-1 : yypt+1] + case 285: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1144 + { + } + case 286: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1145 { } - case 337: + case 287: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1145 + { + } + case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1145 - { - } - case 338: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1146 { - yyVAL.node = yyDollar[1].node } - case 339: - yyDollar = yyS[yypt-1 : yypt+1] + case 289: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1147 { } - case 340: - yyDollar = yyS[yypt-1 : yypt+1] + case 290: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1148 { } - case 341: + case 291: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1149 { } - case 342: - yyDollar = yyS[yypt-2 : yypt+1] + case 292: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1150 { } - case 343: - yyDollar = yyS[yypt-1 : yypt+1] + case 293: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1151 { } - case 344: - yyDollar = yyS[yypt-2 : yypt+1] + case 294: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1152 { } - case 345: - yyDollar = yyS[yypt-10 : yypt+1] + case 295: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1153 + { + } + case 296: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1154 { } - case 346: + case 297: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1155 { } - case 347: - yyDollar = yyS[yypt-11 : yypt+1] + case 298: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1156 + { + } + case 299: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1157 { } - case 348: + case 300: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1158 + { + } + case 301: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1159 + { + } + case 302: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1160 + { + } + case 303: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1161 { } - case 349: + case 304: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1162 { } - case 350: - yyDollar = yyS[yypt-4 : yypt+1] + case 305: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1163 { } - case 351: - yyDollar = yyS[yypt-4 : yypt+1] + case 306: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1164 { } - case 352: - yyDollar = yyS[yypt-4 : yypt+1] + case 307: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1165 + { + } + case 308: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1166 + { + } + case 309: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1167 + { + } + case 310: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1168 + { + } + case 311: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1169 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 353: - yyDollar = yyS[yypt-4 : yypt+1] + case 312: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1170 + { + } + case 313: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1171 + { + } + case 314: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1172 + { + } + case 315: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1174 + { + yyVAL.node = yyDollar[1].node + } + case 316: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1175 + { + } + case 317: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1175 + { + } + case 318: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1176 + { + } + case 319: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1177 + { + } + case 320: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1178 + { + } + case 321: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1179 + { + } + case 322: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1180 + { + } + case 323: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1181 + { + } + case 324: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1182 + { + } + case 325: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1183 + { + } + case 326: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1184 + { + } + case 327: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1185 + { + } + case 328: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1186 + { + } + case 329: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1187 + { + } + case 330: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1188 + { + } + case 331: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1189 + { + } + case 332: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1190 + { + } + case 333: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1190 + { + } + case 334: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1191 + { + yyVAL.node = yyDollar[1].node + } + case 335: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1192 + { + } + case 336: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1193 + { + } + case 337: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1194 + { + } + case 338: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1195 + { + } + case 339: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1196 + { + } + case 340: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1197 + { + } + case 341: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1199 + { + } + case 342: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1200 + { + } + case 343: + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1202 + { + } + case 344: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1206 + { + } + case 345: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1207 + { + } + case 346: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1208 + { + } + case 347: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1209 + { + } + case 348: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1214 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 354: + case 349: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1181 + //line php5/php5.y:1220 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 350: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1226 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4099,51 +4111,51 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[str]) } - case 355: + case 351: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1191 + //line php5/php5.y:1236 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 356: + case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1200 + //line php5/php5.y:1245 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 357: + case 353: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1206 + //line php5/php5.y:1251 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 358: + case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1215 + //line php5/php5.y:1260 { yyVAL.token = yyDollar[1].token } - case 359: + case 355: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1220 + //line php5/php5.y:1265 { yyVAL.list = []node.Node{} } - case 360: + case 356: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1222 + //line php5/php5.y:1267 { yyVAL.list = yyDollar[3].list } - case 361: + case 357: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1227 + //line php5/php5.y:1272 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4159,9 +4171,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 362: + case 358: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1243 + //line php5/php5.y:1288 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4177,9 +4189,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 363: + case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1259 + //line php5/php5.y:1304 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4195,9 +4207,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 364: + case 360: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1275 + //line php5/php5.y:1320 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4213,117 +4225,117 @@ yydefault: yyVAL.list = []node.Node{use} } - case 365: + case 361: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1338 + { + } + case 362: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1339 + { + } + case 363: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1340 + { + } + case 364: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1341 + { + } + case 365: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1342 { } case 366: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1294 + //line php5/php5.y:1343 { } case 367: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1295 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1344 { } case 368: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1296 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1345 { } case 369: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1297 - { - } - case 370: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1298 - { - } - case 371: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1299 - { - } - case 372: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1300 - { - } - case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1350 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 374: + case 370: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1311 + //line php5/php5.y:1356 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 375: + case 371: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1317 + //line php5/php5.y:1362 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 372: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1368 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 373: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1377 + { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 374: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1383 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 375: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1389 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 376: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1323 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1398 { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1400 { - yyVAL.node = name.NewName(yyDollar[1].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + yyVAL.node = yyDollar[1].node } case 378: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1338 - { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 379: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1344 - { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 380: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1353 - { - yyVAL.node = yyDollar[1].node - } - case 381: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1355 - { - yyVAL.node = yyDollar[1].node - } - case 382: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1360 + //line php5/php5.y:1405 { yyVAL.node = yyDollar[1].node @@ -4353,102 +4365,134 @@ yydefault: } } } - case 383: + case 379: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1390 + //line php5/php5.y:1435 { yyVAL.node = yyDollar[1].node } - case 384: + case 380: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1396 + //line php5/php5.y:1441 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } - case 385: + case 381: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1398 + //line php5/php5.y:1443 { yyVAL.objectPropertyList = []objectProperty{} } - case 386: + case 382: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1404 + //line php5/php5.y:1449 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } - case 387: + case 383: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1409 + //line php5/php5.y:1454 { yyVAL.node = nil } - case 388: + case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1411 + //line php5/php5.y:1456 { yyVAL.node = nil } - case 389: + case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1413 + //line php5/php5.y:1458 { yyVAL.node = yyDollar[1].node } - case 390: + case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1417 + //line php5/php5.y:1462 { } - case 391: + case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1418 + //line php5/php5.y:1463 { } - case 392: + case 388: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1419 + //line php5/php5.y:1464 { } - case 393: + case 389: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1424 + //line php5/php5.y:1469 { yyVAL.nodesWithEndToken = nil } - case 394: + case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1426 + //line php5/php5.y:1471 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 395: + case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1431 + //line php5/php5.y:1476 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 396: + case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1437 + //line php5/php5.y:1482 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 397: + case 393: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1443 + //line php5/php5.y:1488 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 394: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1494 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 395: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1500 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 396: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1506 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 397: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1512 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1449 + //line php5/php5.y:1518 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4456,7 +4500,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1455 + //line php5/php5.y:1524 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4464,63 +4508,31 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1461 + //line php5/php5.y:1530 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 401: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1467 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 402: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1473 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 403: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1479 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 404: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1485 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1491 + //line php5/php5.y:1536 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 406: + case 402: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:1541 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 407: + case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1505 + //line php5/php5.y:1550 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4530,259 +4542,259 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 408: + case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1517 + //line php5/php5.y:1562 + { + } + case 405: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1566 + { + } + case 406: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1567 + { + } + case 407: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1568 + { + } + case 408: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1569 { } case 409: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1521 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1570 { } case 410: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1522 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1571 { } case 411: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1523 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1572 { } case 412: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1524 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1573 { } case 413: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1525 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1574 { } case 414: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1526 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1575 { } case 415: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1527 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1579 { } case 416: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1528 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1580 { } case 417: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1529 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1581 { } case 418: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1530 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1582 { } case 419: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1534 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1583 { } case 420: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1535 + //line php5/php5.y:1584 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1536 + //line php5/php5.y:1585 { } case 422: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1537 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1586 { } case 423: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1538 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1587 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1588 { } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1589 { } case 426: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1541 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1590 { } case 427: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1542 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1591 { } case 428: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1543 + //line php5/php5.y:1592 { } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1544 + //line php5/php5.y:1593 { } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1545 + //line php5/php5.y:1594 { } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1546 + //line php5/php5.y:1595 { } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1547 + //line php5/php5.y:1596 { } case 433: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1548 + //line php5/php5.y:1597 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1598 { } case 435: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1550 + //line php5/php5.y:1599 { } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1551 + //line php5/php5.y:1600 { } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1552 + //line php5/php5.y:1601 { } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1553 + //line php5/php5.y:1602 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1554 + //line php5/php5.y:1603 { } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1555 + //line php5/php5.y:1604 { } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1605 { } case 442: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1557 + //line php5/php5.y:1606 { } case 443: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1558 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1607 { } case 444: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1559 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1608 { } case 445: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1560 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1609 { } case 446: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1561 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1610 { } case 447: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1562 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1611 { } case 448: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1563 - { - } - case 449: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1564 - { - } - case 450: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1565 - { - } - case 451: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1566 - { - } - case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1571 + //line php5/php5.y:1616 { yyVAL.node = yyDollar[1].node } - case 453: + case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1573 + //line php5/php5.y:1618 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 454: + case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1624 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 455: + case 451: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1585 + //line php5/php5.y:1630 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 456: + case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1594 + //line php5/php5.y:1639 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4792,263 +4804,263 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 457: + case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1604 + //line php5/php5.y:1649 { yyVAL.node = yyDollar[1].node } + case 454: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1651 + { + yyVAL.node = yyDollar[1].node + } + case 455: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1653 + { + yyVAL.node = yyDollar[1].node + } + case 456: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1655 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 457: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1661 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1606 - { - yyVAL.node = yyDollar[1].node - } - case 459: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1608 - { - yyVAL.node = yyDollar[1].node - } - case 460: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1610 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 461: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1616 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 462: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1622 + //line php5/php5.y:1667 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 463: + case 459: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1675 + { + } + case 460: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1676 + { + } + case 463: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1685 { } case 464: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1631 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1686 + { + } + case 465: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1687 + { + } + case 466: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1688 { } case 467: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1640 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1693 { + yyVAL.node = yyDollar[1].node } case 468: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1641 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1695 { + yyVAL.node = yyDollar[1].node } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1642 + //line php5/php5.y:1700 { + yyVAL.node = yyDollar[2].node } case 470: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1643 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1702 { + yyVAL.node = yyDollar[2].node } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1648 + //line php5/php5.y:1708 { yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1650 + //line php5/php5.y:1716 { yyVAL.node = yyDollar[1].node } case 473: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1655 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1723 { - yyVAL.node = yyDollar[2].node + yyVAL.node = yyDollar[1].node } case 474: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1657 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1730 { - yyVAL.node = yyDollar[2].node } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1663 + //line php5/php5.y:1732 { yyVAL.node = yyDollar[1].node } case 476: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1671 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1736 { - yyVAL.node = yyDollar[1].node } case 477: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1678 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1737 { - yyVAL.node = yyDollar[1].node } case 478: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1685 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1742 { } case 479: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1687 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1742 { - yyVAL.node = yyDollar[1].node } case 480: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1691 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1746 { } case 481: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1692 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1747 { } case 482: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1697 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1751 { } case 483: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1697 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1752 { } case 484: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1701 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1756 { } case 485: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1702 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1757 { } case 486: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1706 + //line php5/php5.y:1758 { } case 487: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1707 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1763 { + yyVAL.node = yyDollar[1].node } case 488: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1711 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1765 { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } case 489: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1712 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1778 { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 490: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1713 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1784 { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1718 + //line php5/php5.y:1794 { yyVAL.node = yyDollar[1].node } case 492: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1720 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1799 { - yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) - - for _, n := range yyDollar[1].simpleIndirectReference.all { - positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) - } - - yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } case 493: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1733 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1801 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 494: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1739 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1805 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + yyVAL.node = yyDollar[1].node } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1749 + //line php5/php5.y:1806 { yyVAL.node = yyDollar[1].node } case 496: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1754 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1807 { + yyVAL.node = yyDollar[1].node } case 497: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1756 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1813 { + yyVAL.node = yyDollar[1].node } case 498: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1760 - { - yyVAL.node = yyDollar[1].node - } - case 499: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1761 - { - yyVAL.node = yyDollar[1].node - } - case 500: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1762 - { - yyVAL.node = yyDollar[1].node - } - case 501: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1768 - { - yyVAL.node = yyDollar[1].node - } - case 502: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1770 + //line php5/php5.y:1815 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5058,37 +5070,37 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } + case 499: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1825 + { + yyVAL.node = yyDollar[1].node + } + case 500: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1830 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 501: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1836 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 502: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1842 + { + yyVAL.node = yyDollar[1].node + } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1780 - { - yyVAL.node = yyDollar[1].node - } - case 504: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1785 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 505: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1791 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 506: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1797 - { - yyVAL.node = yyDollar[1].node - } - case 507: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1803 + //line php5/php5.y:1848 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5098,77 +5110,77 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 508: + case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1813 + //line php5/php5.y:1858 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 509: + case 505: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1821 + //line php5/php5.y:1866 { yyVAL.node = nil } - case 510: + case 506: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1822 + //line php5/php5.y:1867 { yyVAL.node = yyDollar[1].node } - case 511: + case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1828 + //line php5/php5.y:1873 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } + case 508: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1875 + { + op := objectProperty{yyDollar[1].node, propertyFetchType} + yyVAL.objectPropertyList = []objectProperty{op} + } + case 509: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1883 + { + op := objectProperty{yyDollar[3].node, arrayFetchType} + yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) + } + case 510: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1888 + { + op := objectProperty{yyDollar[3].node, arrayFetchType} + yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) + } + case 511: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1893 + { + op := objectProperty{yyDollar[1].node, propertyFetchType} + yyVAL.objectPropertyList = []objectProperty{op} + } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1830 - { - op := objectProperty{yyDollar[1].node, propertyFetchType} - yyVAL.objectPropertyList = []objectProperty{op} - } - case 513: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1838 - { - op := objectProperty{yyDollar[3].node, arrayFetchType} - yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) - } - case 514: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1843 - { - op := objectProperty{yyDollar[3].node, arrayFetchType} - yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) - } - case 515: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1848 - { - op := objectProperty{yyDollar[1].node, propertyFetchType} - yyVAL.objectPropertyList = []objectProperty{op} - } - case 516: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1856 + //line php5/php5.y:1901 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 517: + case 513: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1862 + //line php5/php5.y:1907 { yyVAL.node = yyDollar[2].node } - case 518: + case 514: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1867 + //line php5/php5.y:1912 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5176,9 +5188,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 519: + case 515: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1875 + //line php5/php5.y:1920 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5190,53 +5202,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 520: + case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1890 + //line php5/php5.y:1935 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 521: + case 517: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1892 + //line php5/php5.y:1937 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 522: + case 518: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1898 + //line php5/php5.y:1943 { yyVAL.node = yyDollar[1].node } - case 523: + case 519: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1900 + //line php5/php5.y:1945 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 524: + case 520: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1906 + //line php5/php5.y:1951 { yyVAL.node = nil } - case 525: + case 521: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1912 + //line php5/php5.y:1957 { yyVAL.list = nil } - case 526: + case 522: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1914 + //line php5/php5.y:1959 { yyVAL.list = yyDollar[1].list } - case 527: + case 523: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1919 + //line php5/php5.y:1964 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5244,9 +5256,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 528: + case 524: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1927 + //line php5/php5.y:1972 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5254,9 +5266,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 529: + case 525: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:1980 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5264,9 +5276,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 530: + case 526: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1943 + //line php5/php5.y:1988 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5274,9 +5286,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 531: + case 527: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1951 + //line php5/php5.y:1996 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5284,9 +5296,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 532: + case 528: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1959 + //line php5/php5.y:2004 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5294,9 +5306,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 533: + case 529: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:2012 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5304,9 +5316,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 534: + case 530: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1975 + //line php5/php5.y:2020 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5314,39 +5326,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 535: + case 531: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1986 + //line php5/php5.y:2031 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 536: + case 532: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:2033 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 537: + case 533: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1995 + //line php5/php5.y:2040 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 538: + case 534: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1997 + //line php5/php5.y:2042 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 539: + case 535: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2007 + //line php5/php5.y:2052 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5356,9 +5368,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 540: + case 536: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2017 + //line php5/php5.y:2062 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5371,9 +5383,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 541: + case 537: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2030 + //line php5/php5.y:2075 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5389,17 +5401,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 542: + case 538: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2046 + //line php5/php5.y:2091 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 543: + case 539: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2052 + //line php5/php5.y:2097 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5412,23 +5424,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 544: + case 540: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2066 + //line php5/php5.y:2111 { yyVAL.node = yyDollar[2].node } - case 545: + case 541: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2071 + //line php5/php5.y:2116 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 546: + case 542: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2077 + //line php5/php5.y:2122 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5440,9 +5452,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 547: + case 543: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2089 + //line php5/php5.y:2134 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5452,133 +5464,133 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 548: + case 544: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2102 + //line php5/php5.y:2147 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 549: + case 545: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2108 + //line php5/php5.y:2153 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 550: + case 546: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2114 + //line php5/php5.y:2159 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 551: + case 547: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2120 + //line php5/php5.y:2165 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 552: + case 548: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2126 + //line php5/php5.y:2171 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 553: + case 549: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2132 + //line php5/php5.y:2177 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 554: + case 550: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2138 + //line php5/php5.y:2183 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 555: + case 551: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2144 + //line php5/php5.y:2189 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 556: + case 552: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2153 + //line php5/php5.y:2198 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 557: + case 553: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2155 + //line php5/php5.y:2200 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 558: + case 554: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2159 + //line php5/php5.y:2204 { yyVAL.node = yyDollar[1].node } + case 555: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2205 + { + yyVAL.node = yyDollar[1].node + } + case 556: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2210 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 557: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2220 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 558: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2233 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 559: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2160 - { - yyVAL.node = yyDollar[1].node - } - case 560: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2165 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 561: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2175 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 562: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2188 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 563: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2201 + //line php5/php5.y:2246 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 78931a9..ed1b8da 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -204,7 +204,7 @@ import ( %type encaps_var encaps_var encaps_var_offset general_constant isset_variable internal_functions_in_yacc assignment_list_element %type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member %type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr -%type exit_expr yield_expr +%type exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -247,10 +247,18 @@ namespace_name: ; top_statement: - statement { $$ = $1 } - | function_declaration_statement { $$ = nil } - | class_declaration_statement { $$ = nil } - | T_HALT_COMPILER '(' ')' ';' { $$ = stmt.NewHaltCompiler() } + statement + { $$ = $1 } + | function_declaration_statement + { $$ = $1 } + | class_declaration_statement + { $$ = $1 } + | T_HALT_COMPILER '(' ')' ';' + { + $$ = stmt.NewHaltCompiler() + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } | T_NAMESPACE namespace_name ';' { name := name.NewName($2) @@ -303,12 +311,15 @@ top_statement: positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } - | constant_declaration ';' { $$ = nil } + | constant_declaration ';' + { $$ = $1 } ; use_declarations: - use_declarations ',' use_declaration { $$ = append($1, $3) } - | use_declaration { $$ = []node.Node{$1} } + use_declarations ',' use_declaration + { $$ = append($1, $3) } + | use_declaration + { $$ = []node.Node{$1} } ; use_declaration: @@ -362,13 +373,9 @@ use_declaration: use_function_declarations: use_function_declarations ',' use_function_declaration - { - $$ = append($1, $3) - } + { $$ = append($1, $3) } | use_function_declaration - { - $$ = []node.Node{$1} - } + { $$ = []node.Node{$1} } ; use_function_declaration: @@ -422,13 +429,9 @@ use_function_declaration: use_const_declarations: use_const_declarations ',' use_const_declaration - { - $$ = append($1, $3) - } + { $$ = append($1, $3) } | use_const_declaration - { - $$ = []node.Node{$1} - } + { $$ = []node.Node{$1} } ; use_const_declaration: @@ -481,27 +484,77 @@ use_const_declaration: ; constant_declaration: - constant_declaration ',' T_STRING '=' static_scalar { } - | T_CONST T_STRING '=' static_scalar { } + constant_declaration ',' T_STRING '=' static_scalar + { + name := node.NewIdentifier($3.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) + comments.AddComments(name, $3.Comments()) + + constant := stmt.NewConstant(name, $5, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition($3, $5)) + comments.AddComments(constant, $3.Comments()) + + constList := $1.(*stmt.ConstList) + constList.Consts = append(constList.Consts, constant) + + $$ = $1 + positions.AddPosition($$, positionBuilder.NewNodeNodeListPosition($1, constList.Consts)) + } + | T_CONST T_STRING '=' static_scalar + { + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + comments.AddComments(name, $2.Comments()) + + constant := stmt.NewConstant(name, $4, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition($2, $4)) + comments.AddComments(constant, $2.Comments()) + + constList := []node.Node{constant} + + $$ = stmt.NewConstList(constList) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, constList)) + comments.AddComments($$, $1.Comments()) + } ; inner_statement_list: - inner_statement_list inner_statement { $$ = append($1, $2) } - | /* empty */ { $$ = []node.Node{} } + inner_statement_list inner_statement + { $$ = append($1, $2) } + | /* empty */ + { $$ = []node.Node{} } ; inner_statement: - statement { $$ = $1 } - | function_declaration_statement { $$ = nil } - | class_declaration_statement { } - | T_HALT_COMPILER '(' ')' ';' { } + statement + { $$ = $1 } + | function_declaration_statement + { $$ = $1 } + | class_declaration_statement + { $$ = $1 } + | T_HALT_COMPILER '(' ')' ';' + { + $$ = stmt.NewHaltCompiler() + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; statement: - unticked_statement { $$ = $1 } - | T_STRING ':' { } + unticked_statement + { $$ = $1 } + | T_STRING ':' + { + label := node.NewIdentifier($1.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition($1)) + $$ = stmt.NewLabel(label) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + + comments.AddComments(label, $1.Comments()) + comments.AddComments($$, $1.Comments()) + } ; unticked_statement: @@ -510,16 +563,8 @@ unticked_statement: | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } | T_WHILE { } parenthesis_expr { } while_statement { } | T_DO { } statement T_WHILE { } parenthesis_expr ';' { } - | T_FOR - '(' - for_expr - ';' { } - for_expr - ';' { } - for_expr - ')' { } - for_statement { } - | T_SWITCH parenthesis_expr { } switch_case_list { } + | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement { } + | T_SWITCH parenthesis_expr switch_case_list { } | T_BREAK ';' { } | T_BREAK expr ';' { } | T_CONTINUE ';' { } From 9cbf4de42e0bb18bdce55a6a17d49734bb4175d8 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sat, 3 Feb 2018 14:29:23 +0200 Subject: [PATCH 19/31] php5 syntax --- node/stmt/alt_if.go | 6 +- node/stmt/if.go | 16 +- php5/php5.go | 5191 ++++++++++++++++++++++--------------------- php5/php5.y | 267 ++- php7/php7.go | 4 +- php7/php7.y | 4 +- 6 files changed, 2901 insertions(+), 2587 deletions(-) diff --git a/node/stmt/alt_if.go b/node/stmt/alt_if.go index 3d6dd7c..86ab871 100644 --- a/node/stmt/alt_if.go +++ b/node/stmt/alt_if.go @@ -14,12 +14,12 @@ type AltIf struct { } // NewAltIf node constuctor -func NewAltIf(Cond node.Node, Stmt node.Node) *AltIf { +func NewAltIf(Cond node.Node, Stmt node.Node, ElseIf []node.Node, Else node.Node) *AltIf { return &AltIf{ Cond, Stmt, - nil, - nil, + ElseIf, + Else, } } diff --git a/node/stmt/if.go b/node/stmt/if.go index ac7fb5c..c0f3ca3 100644 --- a/node/stmt/if.go +++ b/node/stmt/if.go @@ -10,16 +10,16 @@ type If struct { Cond node.Node Stmt node.Node ElseIf []node.Node - _else node.Node + Else node.Node } // NewIf node constuctor -func NewIf(Cond node.Node, Stmt node.Node) *If { +func NewIf(Cond node.Node, Stmt node.Node, ElseIf []node.Node, Else node.Node) *If { return &If{ Cond, Stmt, - nil, - nil, + ElseIf, + Else, } } @@ -38,8 +38,8 @@ func (n *If) AddElseIf(ElseIf node.Node) node.Node { return n } -func (n *If) SetElse(_else node.Node) node.Node { - n._else = _else +func (n *If) SetElse(Else node.Node) node.Node { + n.Else = Else return n } @@ -70,9 +70,9 @@ func (n *If) Walk(v walker.Visitor) { } } - if n._else != nil { + if n.Else != nil { vv := v.GetChildrenVisitor("else") - n._else.Walk(vv) + n.Else.Walk(vv) } v.LeaveNode(n) diff --git a/php5/php5.go b/php5/php5.go index 18aa243..b72496a 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2257 +//line php5/php5.y:2440 //line yacctab:1 var yyExca = [...]int{ @@ -355,577 +355,496 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 473, - 105, 473, - -2, 471, + 104, 460, + 105, 460, + -2, 458, -1, 101, - 78, 370, - -2, 449, + 78, 357, + -2, 436, -1, 113, - 78, 491, - 123, 487, - -2, 497, + 78, 478, + 123, 474, + -2, 484, -1, 153, - 104, 473, - 105, 473, - -2, 471, + 104, 460, + 105, 460, + -2, 458, -1, 203, - 121, 344, - 124, 344, - -2, 468, + 121, 331, + 124, 331, + -2, 455, -1, 204, - 104, 473, - 105, 473, - 121, 345, - 124, 345, - -2, 471, + 104, 460, + 105, 460, + 121, 332, + 124, 332, + -2, 458, -1, 270, - 78, 491, - -2, 497, + 78, 478, + -2, 484, -1, 297, - 78, 372, - -2, 451, + 78, 359, + -2, 438, -1, 301, - 123, 488, - -2, 498, + 123, 475, + -2, 485, -1, 310, - 78, 371, - -2, 450, - -1, 374, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 305, - -1, 375, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 306, + 78, 358, + -2, 437, -1, 376, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 307, + -2, 292, -1, 377, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 308, + -2, 293, -1, 378, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 309, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 294, -1, 379, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 310, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 295, -1, 380, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 311, + -2, 296, -1, 381, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 312, - -1, 388, - 104, 473, - 105, 473, - -2, 471, - -1, 439, - 123, 482, - -2, 486, - -1, 457, - 104, 473, - 105, 473, - 124, 554, - 135, 554, - -2, 471, - -1, 458, - 124, 555, - 135, 555, - -2, 468, + -2, 297, + -1, 382, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 298, + -1, 383, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 299, + -1, 390, + 104, 460, + 105, 460, + -2, 458, + -1, 441, + 123, 469, + -2, 473, -1, 459, - 104, 473, - 105, 473, - -2, 471, - -1, 481, - 124, 177, - 135, 177, - -2, 468, - -1, 482, - 104, 473, - 105, 473, - 124, 178, - 135, 178, - -2, 471, - -1, 488, - 123, 512, - -2, 556, - -1, 494, - 123, 512, - -2, 557, - -1, 516, - 78, 370, - -2, 407, - -1, 563, - 124, 163, - -2, 168, - -1, 571, - 121, 346, - 124, 346, - -2, 468, - -1, 572, - 104, 473, - 105, 473, - 121, 347, - 124, 347, - -2, 471, - -1, 579, - 57, 255, - 125, 255, - -2, 254, - -1, 665, - 78, 372, - -2, 409, - -1, 694, - 124, 163, - -2, 168, - -1, 709, - 124, 163, - -2, 168, - -1, 765, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 435, - -1, 766, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 436, + 104, 460, + 105, 460, + 124, 541, + 135, 541, + -2, 458, + -1, 460, + 124, 542, + 135, 542, + -2, 455, + -1, 461, + 104, 460, + 105, 460, + -2, 458, + -1, 483, + 124, 165, + 135, 165, + -2, 455, + -1, 484, + 104, 460, + 105, 460, + 124, 166, + 135, 166, + -2, 458, + -1, 490, + 123, 499, + -2, 543, + -1, 496, + 123, 499, + -2, 544, + -1, 518, + 78, 357, + -2, 394, + -1, 565, + 124, 151, + -2, 156, + -1, 573, + 121, 333, + 124, 333, + -2, 455, + -1, 574, + 104, 460, + 105, 460, + 121, 334, + 124, 334, + -2, 458, + -1, 581, + 57, 242, + 125, 242, + -2, 241, + -1, 667, + 78, 359, + -2, 396, + -1, 696, + 124, 151, + -2, 156, + -1, 711, + 124, 151, + -2, 156, -1, 767, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 437, + -2, 422, -1, 768, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 438, + -2, 423, -1, 769, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 439, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 424, -1, 770, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 440, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 425, -1, 771, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 441, + -2, 426, -1, 772, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 442, - -1, 775, - 78, 371, - -2, 408, - -1, 827, - 57, 250, - -2, 252, - -1, 881, - 37, 224, - -2, 221, - -1, 941, - 123, 482, - -2, 486, - -1, 1003, - 29, 212, + -2, 427, + -1, 773, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 428, + -1, 774, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 429, + -1, 777, + 78, 358, + -2, 395, + -1, 830, + 57, 237, + -2, 239, + -1, 882, + 37, 212, + -2, 209, + -1, 938, + 123, 469, + -2, 473, + -1, 992, + 29, 200, -2, 4, - -1, 1027, - 124, 163, - -2, 168, - -1, 1031, - 121, 216, - -2, 218, + -1, 1014, + 124, 151, + -2, 156, + -1, 1018, + 121, 204, + -2, 206, } const yyPrivate = 57344 -const yyLast = 8302 +const yyLast = 8511 var yyAct = [...]int{ - 101, 710, 1049, 997, 885, 590, 916, 828, 869, 122, - 130, 821, 199, 414, 512, 830, 447, 472, 427, 792, - 722, 712, 116, 699, 335, 117, 801, 415, 469, 439, - 386, 667, 314, 456, 97, 263, 318, 442, 327, 329, - 328, 4, 6, 5, 60, 157, 637, 539, 480, 129, - 25, 136, 2, 178, 288, 227, 227, 42, 1026, 637, - 191, 191, 137, 639, 638, 991, 142, 637, 990, 988, - 257, 639, 638, 970, 966, 969, 961, 231, 231, 865, - 266, 191, 725, 989, 1036, 43, 706, 146, 641, 968, - 38, 659, 661, 660, 662, 647, 648, 649, 640, 642, - 643, 641, 272, 297, 693, 649, 640, 642, 643, 641, - 152, 511, 984, 240, 269, 161, 250, 931, 192, 172, - 176, 175, 637, 985, 822, 310, 354, 203, 315, 319, - 191, 932, 322, 816, 177, 179, 180, 178, 178, 324, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 342, - 227, 640, 642, 643, 641, 445, 488, 120, 120, 176, - 175, 779, 113, 505, 353, 120, 309, 538, 470, 334, - 191, 501, 231, 200, 333, 295, 494, 506, 120, 240, - 1009, 125, 266, 120, 227, 502, 971, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 489, 120, - 919, 940, 825, 125, 272, 120, 231, 348, 704, 176, - 175, 576, 227, 576, 38, 616, 269, 382, 602, 705, - 419, 575, 555, 1057, 831, 161, 617, 355, 901, 603, - 702, 158, 576, 556, 231, 351, 900, 125, 391, 120, - 346, 356, 270, 174, 177, 179, 180, 178, 959, 352, - 228, 227, 417, 229, 347, 836, 777, 311, 730, 451, - 716, 300, 429, 623, 446, 446, 615, 299, 103, 232, - 389, 312, 228, 231, 614, 229, 608, 301, 441, 119, - 119, 607, 227, 132, 581, 446, 125, 119, 120, 462, - 240, 232, 829, 304, 435, 466, 1010, 133, 580, 701, - 119, 474, 475, 130, 231, 119, 228, 504, 490, 229, - 468, 508, 1053, 894, 487, 516, 431, 432, 574, 493, - 734, 302, 595, 230, 230, 232, 486, 119, 594, 733, - 588, 492, 467, 293, 292, 286, 280, 479, 4, 6, - 5, 253, 432, 431, 431, 516, 432, 252, 264, 458, - 460, 497, 500, 159, 270, 228, 1039, 1008, 229, 547, - 533, 119, 434, 125, 960, 120, 637, 912, 868, 645, - 639, 638, 481, 863, 232, 125, 860, 120, 541, 1027, - 637, 858, 845, 543, 639, 638, 815, 38, 566, 294, - 677, 618, 227, 646, 657, 658, 655, 656, 659, 661, - 660, 662, 647, 648, 649, 640, 642, 643, 641, 578, - 119, 609, 605, 424, 231, 422, 647, 648, 649, 640, - 642, 643, 641, 306, 138, 443, 927, 296, 230, 813, - 296, 804, 267, 709, 453, 268, 487, 493, 694, 448, - 666, 599, 794, 793, 228, 577, 563, 229, 486, 492, - 532, 232, 390, 339, 287, 294, 340, 1015, 277, 274, - 264, 443, 230, 232, 191, 598, 443, 273, 441, 38, - 601, 249, 600, 485, 227, 571, 944, 221, 194, 193, - 141, 121, 975, 1044, 349, 1043, 499, 119, 946, 384, - 230, 619, 308, 315, 307, 899, 231, 319, 332, 119, - 687, 688, 516, 176, 175, 134, 1023, 1018, 90, 665, - 1017, 516, 1007, 687, 688, 974, 636, 953, 516, 516, - 516, 516, 516, 911, 857, 629, 4, 6, 5, 230, - 853, 796, 789, 632, 784, 181, 182, 174, 177, 179, - 180, 178, 697, 542, 540, 537, 496, 227, 227, 227, - 393, 344, 684, 155, 566, 589, 1059, 1033, 951, 720, - 230, 566, 926, 925, 681, 266, 923, 227, 227, 231, - 231, 231, 703, 818, 721, 38, 679, 698, 689, 305, - 691, 727, 196, 443, 443, 430, 294, 272, 795, 231, - 231, 223, 224, 526, 726, 485, 909, 910, 256, 269, - 724, 686, 227, 736, 227, 849, 850, 596, 258, 125, - 125, 125, 443, 433, 873, 443, 719, 443, 634, 742, - 664, 743, 450, 526, 231, 418, 231, 740, 516, 516, - 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, - 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, - 516, 516, 516, 516, 516, 775, 744, 516, 565, 714, - 715, 124, 621, 622, 125, 1021, 671, 125, 625, 626, - 230, 294, 259, 260, 125, 1003, 125, 670, 567, 458, - 567, 568, 124, 568, 516, 566, 799, 778, 776, 454, - 281, 285, 227, 481, 127, 128, 631, 516, 798, 449, - 566, 814, 889, 890, 891, 888, 887, 886, 510, 566, - 820, 810, 421, 463, 231, 507, 817, 420, 788, 123, - 805, 883, 503, 321, 787, 303, 258, 884, 298, 819, - 882, 433, 802, 807, 464, 284, 320, 270, 833, 131, - 513, 258, 834, 835, 567, 831, 316, 568, 131, 294, - 781, 718, 230, 839, 499, 61, 452, 38, 258, 262, - 570, 294, 397, 433, 516, 207, 1019, 206, 294, 735, - 516, 516, 870, 812, 1050, 294, 294, 258, 708, 44, - 526, 889, 890, 891, 888, 887, 886, 162, 1020, 526, - 259, 260, 782, 227, 1056, 227, 526, 526, 526, 526, - 526, 855, 558, 929, 854, 259, 260, 566, 862, 258, - 536, 53, 44, 566, 283, 231, 861, 231, 238, 1025, - 874, 465, 259, 260, 1011, 230, 230, 230, 871, 986, - 893, 723, 227, 514, 896, 516, 981, 963, 897, 928, - 464, 259, 260, 264, 545, 230, 230, 441, 1037, 903, - 864, 898, 1032, 992, 231, 441, 516, 915, 566, 902, - 920, 964, 935, 514, 125, 38, 225, 233, 809, 746, - 922, 745, 284, 259, 260, 566, 934, 635, 593, 907, - 230, 591, 230, 258, 906, 258, 633, 630, 282, 917, - 255, 586, 917, 939, 560, 509, 516, 476, 914, 797, - 687, 688, 583, 938, 585, 584, 526, 526, 526, 526, - 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, - 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, - 526, 526, 526, 394, 323, 526, 965, 972, 690, 687, - 688, 948, 38, 202, 945, 896, 201, 259, 260, 259, - 260, 198, 516, 135, 592, 950, 941, 516, 933, 566, - 952, 566, 526, 732, 668, 954, 987, 956, 957, 523, - 230, 993, 973, 546, 395, 526, 254, 251, 554, 723, - 557, 516, 516, 800, 383, 579, 360, 566, 976, 359, - 1016, 977, 38, 978, 443, 1012, 1013, 358, 357, 448, - 823, 729, 443, 728, 895, 826, 827, 685, 336, 881, - 566, 1030, 1001, 1028, 1000, 1031, 999, 516, 566, 1035, - 514, 998, 996, 995, 114, 967, 936, 566, 38, 514, - 38, 1034, 38, 1042, 38, 38, 514, 514, 514, 514, - 514, 1052, 526, 1014, 566, 604, 1022, 880, 526, 526, - 879, 878, 962, 930, 38, 38, 38, 208, 209, 210, + 101, 886, 1036, 712, 986, 913, 831, 441, 870, 122, + 130, 718, 592, 824, 714, 416, 449, 833, 429, 199, + 724, 701, 795, 117, 60, 338, 669, 804, 471, 458, + 417, 97, 129, 263, 388, 318, 329, 327, 541, 6, + 4, 514, 137, 139, 113, 314, 144, 157, 482, 328, + 288, 639, 5, 639, 25, 227, 227, 140, 257, 474, + 2, 191, 178, 1013, 444, 208, 209, 210, 211, 213, + 214, 215, 216, 217, 218, 219, 220, 212, 42, 980, + 266, 43, 963, 979, 962, 977, 973, 959, 954, 191, + 642, 644, 645, 643, 928, 643, 250, 974, 961, 978, + 1023, 916, 866, 297, 828, 727, 152, 447, 929, 120, + 708, 269, 578, 507, 695, 578, 639, 240, 665, 647, + 641, 640, 706, 203, 270, 310, 513, 508, 315, 319, + 295, 356, 322, 707, 141, 200, 324, 38, 178, 114, + 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, + 662, 664, 649, 650, 651, 642, 644, 645, 643, 301, + 227, 337, 161, 177, 179, 180, 178, 825, 819, 639, + 781, 503, 647, 641, 640, 331, 496, 334, 120, 618, + 604, 355, 136, 540, 309, 504, 120, 120, 158, 472, + 619, 605, 266, 240, 227, 646, 648, 659, 660, 657, + 658, 661, 663, 662, 664, 649, 650, 651, 642, 644, + 645, 643, 997, 639, 952, 577, 448, 641, 640, 271, + 191, 357, 227, 269, 639, 384, 578, 353, 641, 640, + 421, 119, 557, 348, 834, 358, 270, 964, 350, 937, + 490, 354, 120, 558, 311, 902, 901, 349, 304, 649, + 650, 651, 642, 644, 645, 643, 132, 839, 312, 176, + 175, 227, 651, 642, 644, 645, 643, 779, 300, 453, + 133, 38, 431, 732, 299, 895, 391, 625, 617, 616, + 103, 610, 491, 161, 609, 448, 443, 583, 582, 470, + 437, 1044, 227, 174, 177, 179, 180, 178, 736, 464, + 119, 125, 832, 120, 240, 468, 735, 445, 119, 302, + 159, 476, 477, 130, 433, 434, 455, 506, 492, 590, + 293, 510, 489, 597, 125, 518, 120, 495, 998, 596, + 953, 271, 292, 286, 280, 230, 230, 253, 469, 252, + 434, 433, 433, 445, 434, 502, 6, 4, 445, 448, + 704, 481, 1026, 996, 294, 460, 462, 518, 436, 5, + 264, 538, 910, 488, 119, 869, 864, 861, 494, 499, + 228, 859, 848, 229, 818, 679, 620, 611, 483, 393, + 607, 426, 543, 191, 424, 306, 1040, 1014, 924, 232, + 296, 138, 816, 228, 450, 296, 229, 545, 549, 807, + 568, 125, 446, 120, 227, 576, 797, 796, 1003, 711, + 696, 567, 232, 668, 874, 579, 900, 565, 534, 703, + 392, 580, 176, 175, 342, 119, 294, 343, 487, 287, + 277, 274, 273, 249, 125, 221, 120, 908, 446, 194, + 230, 501, 193, 446, 38, 143, 489, 495, 119, 121, + 419, 854, 386, 601, 181, 182, 174, 177, 179, 180, + 178, 134, 602, 308, 1031, 307, 1030, 445, 445, 1010, + 228, 1006, 264, 229, 230, 600, 689, 690, 443, 125, + 603, 120, 1005, 573, 995, 946, 227, 488, 494, 232, + 907, 598, 858, 799, 793, 792, 445, 689, 690, 445, + 786, 445, 230, 228, 699, 315, 229, 685, 544, 319, + 542, 539, 1046, 498, 518, 536, 395, 346, 537, 155, + 591, 667, 232, 518, 258, 119, 1020, 944, 38, 435, + 518, 518, 518, 518, 518, 923, 6, 4, 922, 920, + 821, 230, 723, 351, 634, 621, 305, 196, 228, 5, + 631, 229, 487, 432, 852, 638, 223, 224, 119, 227, + 227, 227, 446, 446, 798, 686, 568, 232, 790, 791, + 636, 722, 230, 568, 681, 682, 294, 266, 633, 227, + 227, 691, 705, 693, 725, 688, 512, 721, 259, 260, + 256, 446, 666, 700, 446, 729, 446, 452, 125, 420, + 124, 1009, 673, 119, 456, 528, 451, 423, 269, 728, + 726, 422, 303, 125, 227, 738, 227, 298, 466, 623, + 624, 270, 90, 294, 805, 627, 628, 834, 842, 465, + 125, 294, 454, 509, 38, 742, 125, 528, 120, 294, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 518, 777, 746, 518, + 124, 38, 38, 744, 125, 745, 890, 891, 892, 889, + 888, 887, 281, 285, 230, 320, 294, 460, 61, 125, + 125, 125, 262, 515, 505, 778, 518, 568, 992, 780, + 802, 483, 316, 321, 227, 267, 787, 123, 268, 518, + 720, 501, 568, 672, 258, 817, 271, 127, 128, 435, + 788, 568, 823, 572, 232, 884, 737, 399, 258, 207, + 783, 885, 725, 808, 883, 820, 884, 801, 206, 716, + 717, 822, 885, 569, 810, 883, 570, 294, 1007, 53, + 813, 238, 836, 871, 837, 838, 294, 258, 569, 815, + 119, 570, 131, 131, 258, 1037, 230, 569, 258, 435, + 570, 284, 784, 283, 710, 44, 518, 467, 259, 260, + 1008, 336, 518, 518, 162, 890, 891, 892, 889, 888, + 887, 466, 259, 260, 528, 560, 890, 891, 892, 889, + 888, 887, 1043, 528, 225, 233, 227, 926, 227, 44, + 528, 528, 528, 528, 528, 853, 1012, 856, 876, 855, + 568, 259, 260, 863, 999, 851, 568, 862, 259, 260, + 975, 284, 259, 260, 872, 875, 970, 893, 956, 230, + 230, 230, 899, 894, 925, 227, 547, 258, 518, 897, + 903, 898, 282, 800, 689, 690, 1024, 264, 443, 230, + 230, 692, 689, 690, 1019, 981, 443, 518, 912, 568, + 917, 585, 957, 587, 586, 932, 125, 812, 748, 445, + 921, 747, 637, 635, 931, 632, 568, 445, 258, 588, + 562, 511, 478, 255, 230, 396, 230, 934, 323, 914, + 202, 201, 914, 936, 904, 198, 135, 518, 919, 595, + 593, 259, 260, 594, 935, 938, 734, 670, 525, 548, + 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, + 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, + 528, 528, 528, 528, 528, 528, 528, 516, 942, 528, + 958, 965, 259, 260, 897, 518, 397, 450, 254, 251, + 518, 556, 568, 803, 568, 385, 581, 362, 361, 360, + 359, 826, 731, 983, 446, 991, 528, 730, 857, 516, + 518, 518, 446, 896, 230, 829, 568, 830, 882, 528, + 1004, 1017, 38, 990, 865, 1015, 976, 991, 989, 988, + 38, 982, 987, 985, 984, 960, 933, 1029, 568, 1002, + 1018, 881, 880, 879, 518, 568, 930, 955, 1022, 1016, + 927, 1000, 1001, 878, 568, 877, 480, 715, 713, 571, + 400, 40, 719, 566, 398, 1027, 39, 909, 1039, 911, + 564, 568, 873, 14, 38, 13, 38, 1045, 1042, 1035, + 867, 1034, 1041, 1032, 1011, 1021, 528, 948, 868, 814, + 709, 809, 528, 528, 561, 195, 1, 341, 841, 741, + 442, 387, 163, 339, 683, 38, 535, 951, 289, 457, + 38, 160, 38, 156, 38, 38, 230, 317, 230, 313, + 126, 940, 941, 333, 789, 606, 680, 10, 945, 248, + 74, 38, 38, 947, 75, 949, 950, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 877, 230, 876, 230, 478, 1038, 713, 711, 1004, 943, - 856, 913, 569, 892, 398, 40, 1046, 208, 209, 210, - 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 38, 1060, 717, 564, 271, 396, 39, 562, 872, 14, - 230, 13, 1058, 526, 1055, 1048, 38, 866, 1047, 1045, - 1024, 883, 955, 867, 38, 811, 707, 884, 924, 806, - 882, 559, 195, 385, 526, 163, 338, 947, 38, 683, - 140, 680, 535, 139, 908, 937, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 345, 526, 514, 851, 786, 534, 848, - 785, 889, 890, 891, 888, 887, 886, 678, 208, 209, + 115, 265, 63, 88, 584, 230, 966, 967, 528, 89, + 517, 100, 73, 11, 325, 99, 516, 98, 78, 118, + 523, 3, 0, 0, 0, 516, 0, 528, 0, 0, + 906, 0, 516, 516, 516, 516, 516, 639, 0, 0, + 38, 641, 640, 0, 0, 0, 0, 0, 38, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, + 652, 653, 38, 0, 0, 0, 0, 528, 559, 661, + 663, 662, 664, 649, 650, 651, 642, 644, 645, 643, + 0, 0, 0, 1025, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1033, 0, 671, 639, 0, 665, + 647, 641, 640, 674, 675, 676, 677, 678, 0, 1047, + 0, 0, 0, 0, 0, 528, 0, 0, 0, 0, + 528, 656, 655, 646, 648, 659, 660, 657, 658, 661, + 663, 662, 664, 649, 650, 651, 642, 644, 645, 643, + 528, 528, 516, 516, 516, 516, 516, 516, 516, 516, + 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, + 516, 516, 516, 516, 516, 516, 516, 516, 516, 0, + 0, 516, 0, 0, 528, 208, 209, 210, 211, 213, + 214, 215, 216, 217, 218, 219, 220, 212, 0, 0, + 0, 0, 116, 0, 0, 0, 0, 0, 516, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 516, 0, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 776, + 0, 0, 671, 347, 0, 0, 0, 231, 231, 0, + 0, 0, 0, 0, 0, 0, 0, 30, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, - 212, 331, 514, 875, 1, 838, 739, 440, 958, 289, - 455, 160, 156, 317, 637, 514, 271, 645, 639, 638, - 313, 126, 10, 248, 74, 75, 115, 265, 63, 994, - 526, 1002, 88, 582, 89, 526, 515, 100, 654, 653, - 644, 646, 657, 658, 655, 656, 659, 661, 660, 662, - 647, 648, 649, 640, 642, 643, 641, 1002, 73, 526, - 526, 669, 11, 325, 99, 98, 78, 118, 672, 673, - 674, 675, 676, 521, 3, 0, 30, 0, 0, 0, - 1029, 0, 514, 0, 0, 0, 0, 444, 514, 514, - 0, 0, 0, 0, 0, 526, 0, 1040, 0, 144, - 150, 154, 0, 0, 0, 164, 0, 0, 0, 0, - 0, 0, 0, 197, 1054, 0, 0, 0, 205, 0, - 0, 0, 0, 444, 0, 0, 0, 0, 444, 222, - 0, 0, 0, 234, 235, 236, 237, 0, 0, 239, - 0, 241, 242, 243, 244, 245, 246, 247, 0, 0, - 0, 0, 0, 514, 261, 0, 0, 0, 0, 275, - 276, 0, 278, 279, 0, 0, 191, 0, 0, 0, - 0, 0, 0, 290, 514, 0, 0, 0, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, - 769, 770, 771, 772, 774, 176, 175, 669, 0, 0, - 0, 0, 0, 0, 514, 239, 0, 0, 337, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 444, 444, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 0, 0, - 514, 154, 0, 0, 444, 514, 0, 444, 0, 444, - 0, 0, 0, 50, 0, 400, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 0, 514, - 514, 0, 0, 0, 0, 0, 0, 0, 153, 0, - 0, 0, 0, 0, 843, 0, 0, 0, 0, 0, - 846, 847, 0, 0, 0, 204, 239, 0, 426, 428, - 428, 0, 0, 0, 0, 514, 436, 0, 226, 226, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 154, 154, 0, 0, 461, 0, 0, 428, 0, 0, - 0, 0, 0, 428, 290, 0, 0, 0, 0, 428, - 428, 0, 0, 154, 0, 0, 428, 491, 192, 172, - 176, 175, 495, 0, 0, 904, 208, 209, 210, 211, - 213, 214, 215, 216, 217, 218, 219, 220, 212, 271, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 168, 170, 169, 191, 0, 544, 0, 0, 0, - 0, 0, 0, 548, 549, 550, 551, 552, 0, 0, - 0, 0, 0, 350, 0, 0, 942, 0, 0, 0, - 0, 0, 0, 0, 0, 794, 793, 0, 0, 0, - 553, 192, 172, 176, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 154, 387, 388, 0, + 212, 0, 272, 0, 0, 0, 0, 0, 516, 0, + 146, 150, 154, 0, 516, 516, 164, 0, 0, 0, + 0, 0, 0, 0, 197, 0, 0, 0, 0, 205, + 0, 0, 0, 0, 0, 50, 191, 0, 0, 0, + 222, 0, 0, 0, 234, 235, 236, 237, 0, 0, + 239, 0, 241, 242, 243, 244, 245, 246, 247, 0, + 153, 0, 0, 0, 0, 261, 0, 0, 0, 0, + 275, 276, 0, 278, 279, 176, 175, 204, 0, 846, + 516, 0, 231, 0, 290, 849, 850, 0, 0, 0, + 226, 226, 0, 0, 0, 0, 0, 0, 0, 516, + 0, 0, 0, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 272, 0, 231, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, + 0, 340, 0, 0, 0, 0, 0, 0, 0, 516, + 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, + 0, 905, 0, 0, 0, 0, 0, 0, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 0, + 0, 0, 154, 231, 0, 0, 0, 516, 0, 0, + 0, 0, 516, 0, 0, 352, 402, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, + 939, 0, 516, 516, 231, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, + 390, 0, 0, 0, 0, 0, 0, 239, 0, 428, + 430, 430, 0, 0, 0, 0, 516, 438, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, + 0, 154, 154, 0, 0, 463, 0, 0, 430, 0, + 0, 0, 0, 0, 430, 290, 0, 0, 0, 0, + 430, 430, 0, 0, 154, 0, 0, 430, 493, 0, + 0, 0, 0, 497, 0, 0, 440, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 231, 475, 0, 0, + 639, 0, 484, 647, 641, 640, 0, 0, 0, 546, + 0, 0, 0, 0, 0, 0, 550, 551, 552, 553, + 554, 168, 170, 169, 191, 655, 646, 648, 659, 660, + 657, 658, 661, 663, 662, 664, 649, 650, 651, 642, + 644, 645, 643, 555, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 797, 796, 0, 0, 154, + 0, 192, 172, 176, 175, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 905, 0, 0, 416, 0, 0, 0, 0, + 180, 178, 0, 0, 0, 0, 599, 574, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, - 0, 652, 650, 651, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 438, 0, 0, 610, 612, 0, - 0, 0, 0, 0, 0, 0, 0, 457, 459, 0, - 0, 620, 0, 0, 0, 0, 0, 0, 0, 637, - 0, 663, 645, 639, 638, 473, 0, 0, 0, 0, - 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 654, 653, 644, 646, 657, 658, 655, - 656, 659, 661, 660, 662, 647, 648, 649, 640, 642, - 643, 641, 0, 637, 337, 0, 645, 639, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 696, 0, 0, 0, 652, 650, 651, 653, 644, - 646, 657, 658, 655, 656, 659, 661, 660, 662, 647, - 648, 649, 640, 642, 643, 641, 444, 0, 0, 0, - 0, 0, 0, 0, 444, 731, 0, 0, 0, 0, - 844, 428, 737, 637, 0, 663, 645, 639, 638, 0, - 154, 0, 0, 572, 0, 573, 0, 0, 0, 0, - 0, 637, 0, 0, 154, 639, 638, 654, 653, 644, - 646, 657, 658, 655, 656, 659, 661, 660, 662, 647, - 648, 649, 640, 642, 643, 641, 652, 650, 651, 657, - 658, 655, 656, 659, 661, 660, 662, 647, 648, 649, - 640, 642, 643, 641, 0, 0, 0, 0, 0, 0, + 612, 614, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 622, 639, 0, 0, 647, 641, + 640, 231, 231, 231, 0, 0, 0, 0, 0, 0, + 0, 654, 652, 653, 0, 0, 0, 0, 0, 272, + 0, 231, 231, 659, 660, 657, 658, 661, 663, 662, + 664, 649, 650, 651, 642, 644, 645, 643, 0, 0, + 0, 475, 0, 0, 0, 0, 847, 340, 687, 639, + 0, 665, 647, 641, 640, 0, 231, 0, 231, 0, + 0, 0, 0, 0, 698, 0, 0, 0, 0, 0, + 0, 0, 0, 656, 655, 646, 648, 659, 660, 657, + 658, 661, 663, 662, 664, 649, 650, 651, 642, 644, + 645, 643, 0, 0, 0, 0, 0, 0, 733, 0, + 0, 0, 0, 0, 430, 739, 0, 0, 0, 0, + 0, 0, 0, 154, 389, 702, 702, 0, 0, 191, + 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, + 0, 0, 0, 0, 418, 418, 0, 0, 654, 652, + 653, 0, 0, 0, 0, 0, 231, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 176, 175, + 0, 459, 0, 0, 0, 0, 0, 0, 0, 475, + 0, 475, 0, 0, 0, 484, 639, 845, 665, 647, + 641, 640, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 794, 0, 0, + 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, + 662, 664, 649, 650, 651, 642, 644, 645, 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 637, 842, 663, 645, 639, 638, - 191, 0, 790, 0, 791, 0, 0, 473, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 654, 653, - 644, 646, 657, 658, 655, 656, 659, 661, 660, 662, - 647, 648, 649, 640, 642, 643, 641, 0, 172, 176, - 175, 0, 824, 0, 0, 0, 0, 0, 0, 0, - 428, 428, 0, 0, 0, 0, 0, 0, 840, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, - 387, 700, 700, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 827, 639, 0, 0, 647, + 641, 640, 0, 430, 430, 0, 0, 0, 231, 0, + 231, 843, 168, 170, 169, 191, 0, 0, 0, 806, + 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, + 662, 664, 649, 650, 651, 642, 644, 645, 643, 0, + 0, 0, 0, 0, 0, 840, 0, 231, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, + 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 860, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 0, 0, 0, 0, 0, 0, + 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 416, 416, 0, 0, 0, 0, 337, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 859, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 457, 0, 0, - 0, 0, 0, 0, 0, 473, 0, 473, 0, 0, - 0, 482, 0, 0, 0, 0, 428, 0, 0, 0, - 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, - 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, - 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 428, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 803, 0, 0, 0, 8, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 628, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 700, 0, 416, 22, - 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, - 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 473, 0, 0, 0, 92, - 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 498, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, - 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 1061, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 1051, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 1041, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1006, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 0, 702, 0, 418, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 1005, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 475, 21, 0, 430, 0, 22, 23, 37, 44, 15, + 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, + 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 630, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, + 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, + 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 983, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 500, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, + 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, + 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 982, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, @@ -934,46 +853,177 @@ var yyAct = [...]int{ 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 980, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 1048, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 979, 33, 0, 0, 21, 0, 0, 0, 22, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 1038, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 921, 0, 21, 0, 0, 0, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 1028, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 852, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 994, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 993, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 972, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 971, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 969, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 968, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 918, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 684, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 563, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 326, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, @@ -983,41 +1033,41 @@ var yyAct = [...]int{ 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 561, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 943, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 326, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 915, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 0, 34, 811, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -1026,11 +1076,11 @@ var yyAct = [...]int{ 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 949, 62, 0, 96, 0, 0, 0, + 16, 0, 34, 335, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, @@ -1039,11 +1089,11 @@ var yyAct = [...]int{ 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 918, 62, 0, 96, 0, 0, + 76, 16, 0, 34, 332, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, @@ -1052,269 +1102,188 @@ var yyAct = [...]int{ 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 41, 27, 168, 170, 169, 191, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 808, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 682, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, - 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 837, 0, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, + 0, 835, 192, 172, 176, 175, 654, 652, 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 832, 192, 172, 176, 175, 652, 650, - 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 780, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 783, 637, 0, 663, 645, - 639, 638, 652, 650, 651, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, - 654, 653, 644, 646, 657, 658, 655, 656, 659, 661, - 660, 662, 647, 648, 649, 640, 642, 643, 641, 0, - 637, 0, 663, 645, 639, 638, 168, 170, 169, 191, + 0, 782, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 785, 639, 0, 665, 647, 641, 640, + 654, 652, 653, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 743, 0, 0, 656, 655, + 646, 648, 659, 660, 657, 658, 661, 663, 662, 664, + 649, 650, 651, 642, 644, 645, 643, 0, 639, 0, + 665, 647, 641, 640, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 654, 653, 644, 646, 657, 658, - 655, 656, 659, 661, 660, 662, 647, 648, 649, 640, - 642, 643, 641, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 738, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 695, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 692, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 627, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 624, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 606, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 587, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 399, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 423, 0, - 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 656, 655, 646, 648, 659, 660, 657, 658, + 661, 663, 662, 664, 649, 650, 651, 642, 644, 645, + 643, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 392, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 740, 0, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 343, 0, 0, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, + 179, 180, 178, 697, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 694, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 629, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 626, 0, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 608, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 589, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 0, 0, 0, 0, 473, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 401, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 425, 0, 0, 192, + 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 341, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 652, 650, 651, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 637, 0, 663, 645, 639, - 638, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, - 653, 644, 646, 657, 658, 655, 656, 659, 661, 660, - 662, 647, 648, 649, 640, 642, 643, 641, 0, 0, - 0, 192, 172, 176, 175, 650, 651, 0, 0, 0, + 177, 179, 180, 178, 394, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 345, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 344, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 654, 652, 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 637, 0, 663, 645, 639, 638, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 654, 653, 644, 646, - 657, 658, 655, 656, 659, 661, 660, 662, 647, 648, - 649, 640, 642, 643, 641, 0, 0, 192, 172, 176, - 175, 0, 651, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 637, 0, - 663, 645, 639, 638, 0, 0, 0, 0, 0, 0, + 180, 178, 0, 639, 0, 665, 647, 641, 640, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 656, 655, 646, + 648, 659, 660, 657, 658, 661, 663, 662, 664, 649, + 650, 651, 642, 644, 645, 643, 0, 0, 0, 192, + 172, 176, 175, 652, 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 654, 653, 644, 646, 657, 658, 655, 656, - 659, 661, 660, 662, 647, 648, 649, 640, 642, 643, - 641, 637, 0, 663, 645, 639, 638, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 639, 0, 665, 647, 641, 640, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 654, 653, 644, 646, 657, - 658, 655, 656, 659, 661, 660, 662, 647, 648, 649, - 640, 642, 643, 641, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 656, 655, 646, 648, 659, 660, + 657, 658, 661, 663, 662, 664, 649, 650, 651, 642, + 644, 645, 643, 0, 0, 192, 172, 176, 175, 0, + 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 639, 0, 665, 647, + 641, 640, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, - 112, 108, 102, 484, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 637, 91, 76, 645, - 639, 638, 0, 62, 477, 96, 0, 0, 483, 57, - 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, - 0, 0, 644, 646, 657, 658, 655, 656, 659, 661, - 660, 662, 647, 648, 649, 640, 642, 643, 641, 82, - 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, + 662, 664, 649, 650, 651, 642, 644, 645, 643, 0, + 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 191, 0, 0, 148, 112, 108, 102, 484, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 172, - 176, 175, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 483, 57, 56, 58, 59, 72, 119, - 0, 0, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 82, - 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 841, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 613, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 191, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 172, 176, 175, 91, 76, 0, 0, 0, 0, - 62, 0, 96, 0, 0, 611, 57, 56, 58, 59, - 72, 119, 0, 0, 0, 173, 185, 186, 183, 184, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 178, 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 172, 176, 175, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 172, 176, 175, 0, 0, 0, + 0, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 486, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 0, 96, 0, 0, 291, 57, 56, 58, 59, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 639, + 62, 479, 96, 641, 640, 485, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 120, 0, 0, 0, 0, 0, 94, 659, 660, 657, + 658, 661, 663, 662, 664, 649, 650, 651, 642, 644, + 645, 643, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 191, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, + 0, 0, 92, 0, 191, 0, 0, 142, 112, 108, + 102, 486, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 172, 176, 175, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 485, 57, 56, 58, + 59, 72, 119, 0, 0, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 639, 0, 0, 647, 641, 640, 0, 0, + 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 648, + 659, 660, 657, 658, 661, 663, 662, 664, 649, 650, + 651, 642, 644, 645, 643, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 191, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 425, 96, 172, 176, 175, 57, 56, 58, + 0, 62, 0, 96, 176, 175, 844, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 0, 44, 0, 0, 0, + 87, 120, 0, 0, 0, 0, 0, 94, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, + 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 401, 57, 56, + 0, 0, 62, 0, 96, 0, 0, 615, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1322,12 +1291,27 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 0, 0, 0, 0, 92, 0, 191, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, + 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 172, 176, 175, 91, 76, 0, + 0, 0, 0, 62, 0, 96, 0, 0, 613, 57, + 56, 58, 59, 72, 119, 0, 0, 0, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 151, 0, 62, 0, 96, 0, 0, 0, 57, + 0, 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1336,11 +1320,11 @@ var yyAct = [...]int{ 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 149, 0, 62, 0, 96, 0, 0, 0, + 0, 0, 0, 0, 62, 427, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1349,12 +1333,12 @@ var yyAct = [...]int{ 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, + 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 143, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, + 403, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1362,249 +1346,282 @@ var yyAct = [...]int{ 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 637, - 91, 76, 645, 639, 638, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 657, 658, 655, - 656, 659, 661, 660, 662, 647, 648, 649, 640, 642, - 643, 641, 82, 83, 71, 0, 104, 105, 125, 437, + 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 0, 0, 145, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 439, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 52, 104, 105, 125, 77, 41, 148, 0, 0, 0, + 0, 526, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 521, 0, 524, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 527, 0, 0, + 0, 0, 519, 112, 108, 520, 104, 105, 125, 0, + 0, 0, 0, 0, 0, 0, 526, 0, 0, 0, + 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 104, 105, 125, 77, 41, 147, 0, 0, - 0, 0, 524, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 519, 0, 522, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 525, 0, - 0, 0, 0, 517, 112, 108, 518, 104, 105, 125, - 0, 0, 0, 0, 0, 0, 0, 524, 0, 0, - 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 773, 531, 0, 520, - 0, 0, 0, 530, 529, 527, 528, 0, 0, 519, - 0, 522, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 525, 0, 0, 0, 0, 517, 112, - 108, 518, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, + 0, 0, 0, 0, 0, 775, 533, 0, 522, 0, + 0, 0, 532, 531, 529, 530, 0, 0, 521, 0, + 524, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 527, 0, 0, 0, 0, 519, 112, 108, + 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 531, 0, 520, 0, 0, 0, 530, 529, - 527, 528, + 0, 533, 0, 522, 0, 0, 0, 532, 531, 529, + 530, } var yyPact = [...]int{ - -1000, -1000, 2396, -1000, -1000, -1000, -1000, 368, 610, 667, - 172, -1000, 393, -1000, -1000, 953, -1000, 311, -1000, -1000, - 367, 311, 7592, 7461, 7330, 442, 229, 785, 7723, -1000, - 5796, 366, 365, -1000, -1000, 473, 7723, 951, 55, 946, - 943, 7723, -1000, -1000, -1000, -1000, 725, -1000, 723, -1000, - 1460, 364, 7723, 497, 286, 286, 7723, 7723, 7723, 7723, - -1000, -1000, 8009, -1000, 7723, 7723, 7723, 7723, 7723, 7723, - 7723, 358, -1000, -1000, 232, 226, 883, 7723, 712, 363, - 354, 346, 7723, 7723, 345, 7723, 7723, -1000, 221, -1000, - -1000, 881, 807, -1000, 220, 341, 6937, -1000, 219, 218, - -1000, 317, 864, 660, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 152, 197, -1000, 657, 314, -1000, 470, - -1000, 309, 383, -1000, 864, -1000, 146, 674, 664, -1000, - 704, 864, -1000, 934, -1000, 3, 4099, 386, 8009, 311, - 4885, 7723, 344, -1000, 5749, -1000, 55, 752, 589, -1000, - 5702, -1000, 440, 1062, 5884, -1000, 129, -1000, -1000, 375, - 124, 55, -10, 116, 5884, -1000, -1000, -1000, -1000, -1000, - 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, - 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, - 7723, 363, 377, 286, 7723, 339, -1000, 5655, 439, 933, - -1000, 717, -1000, -1000, 1460, 5608, -1000, -1000, 7199, 7723, - 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, 7723, - 7723, 203, -1000, -1000, -1000, -1000, -1000, 317, 553, 864, - 649, 644, -1000, -1000, -114, -114, -29, -114, 301, 5564, - 299, -114, -114, -114, -114, -114, -114, -114, -1000, 7068, - -1000, 7723, 7723, 7723, 477, 739, 724, -1000, 247, 7878, - 286, -9, 155, 314, 631, -1000, 514, 550, 864, 709, - 152, 197, 621, 7723, 7723, 5884, 5884, 7723, 5884, 5884, - 7723, 606, 739, 775, -1000, 756, 7723, 6937, 194, 43, - 5520, 286, 7723, 7723, 897, -1000, 6220, 317, 156, 7723, - 7723, 152, 470, 176, -1000, 7723, 435, -1000, -1000, 2265, - 317, -1000, 676, 60, -1000, 703, 864, 52, -1000, 696, - 864, 895, 689, -25, 8169, -1000, -1000, -1000, -1000, -1000, - 337, 4885, -1000, -1000, 799, 434, 42, 5884, -1000, 433, - 432, -1000, -1000, -1000, -1000, -1000, -1000, 229, -1000, 7723, - -1000, -1000, 842, -1000, 8169, -1000, 7723, 7723, 7723, 7723, - 7723, 1461, 6773, 1286, 7066, -30, -30, -30, -29, -114, - -29, -29, 90, 90, 40, 40, 40, 40, 384, 384, - 384, 384, -1000, 7723, -1000, 108, -1000, -1000, 961, 783, - 894, 3968, -1000, -1000, -1000, 333, -1000, 611, 715, 7723, - -9, 237, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, 107, -1000, -1000, 332, 864, 317, - 155, 155, -1000, -1000, -1000, -1000, -114, 182, 5884, 168, - -1000, -1000, -1000, -1000, 902, 891, 5439, 215, 445, -1000, - 213, -1000, -1000, 152, 197, -1000, 7723, -1000, -1000, 163, - 864, 514, 155, 152, 163, 104, -1000, 1460, -1000, 931, - 298, 5391, 165, -1000, -1000, -1000, 160, 297, -1000, -1000, - 6787, 6656, -1000, -1000, 158, 150, -1000, -1000, 101, 277, - -1000, -1000, 1460, 286, 7723, -1000, 314, 314, -1000, -1000, - 147, 5347, 314, 314, -1000, 5299, -1000, 2120, -1000, -1000, - -1000, -1000, 674, 887, 677, -1000, 664, 886, 599, -1000, - 877, 8169, -1000, 5840, -1000, -1000, 514, 548, 864, 327, - 8169, -1000, -1000, -1000, -1000, 670, 598, 8169, 8169, 8169, - 8169, 8169, 276, -1000, -1000, 4754, -1000, 7723, -1000, 491, - -1000, 917, -1000, -1000, 5251, -32, 325, -1000, 5884, 4883, - 6361, 5970, -9, 5203, 7723, 431, 286, 181, 181, 94, - -50, 747, 320, 609, 705, -1000, 514, 544, 864, 465, - 611, -1000, 1460, -1000, 363, -54, 203, 203, 317, -1000, - -1000, -1000, 142, -1000, -1000, -1000, -1000, -1000, 7723, -1000, - -1000, 214, 205, 314, 7723, 7723, 152, 5157, -1000, 514, - -1000, -1000, -1000, 7723, -1000, -1000, -1000, -1000, -1000, -1000, - 5109, 286, 5884, 286, -1000, -1000, -1000, 6375, -1000, -1000, - 5884, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 871, -1000, -1000, 869, -1000, -1000, 8169, 8169, 8169, - 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, - 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, 8169, - 8169, 8169, 8169, 8094, 864, 514, 8169, 140, 36, 5065, - 669, 750, -79, -79, -3, -3, 5021, 423, -1000, 4230, - -1000, -1000, -1000, 311, 421, 7723, -1000, 7723, 331, 478, - 420, 878, -1000, 8169, 609, -1000, 1880, -1000, -1000, 684, - -1000, 286, 318, 684, 4623, 868, 8169, 741, 316, 609, - 272, -2, -1000, 55, -1000, -1000, -1000, 464, 611, 864, - 514, -1000, -11, -1000, -1000, 7723, -1000, 88, -1000, 177, - -1000, 4977, 698, 7723, 7723, -1000, 139, 4933, -1000, 706, - -1000, 6525, -1000, -1000, -1000, -1000, -1000, 1839, -3, -3, - -79, -79, -79, -79, 251, 1776, 7714, -58, -58, -3, - 6013, 6056, 5927, 6211, 1698, -66, -66, -66, -66, 265, - 265, 265, 265, 8169, 1758, 514, 268, -1000, -1000, 8169, - 8169, -1000, -1000, -1000, -1000, 522, -1000, 3837, 419, 7723, - 5884, 1544, -1000, -1000, -1000, -1000, -1000, 413, -1000, 267, - 7723, 262, 181, -1000, 203, 259, -1000, -1000, -1000, -57, - -1000, -1000, -1000, -1000, 254, 738, 609, 541, -1000, -11, - 514, 1093, 611, 314, -9, -1000, -1000, 198, 698, 7723, - -1000, 155, 385, -1000, 120, 112, -1000, -1000, -1000, 155, - 5884, 286, -1000, 1099, 8169, -1000, 1654, 5840, -1000, 311, - 4885, 513, 412, -1000, 253, -1000, -1000, -1000, 738, 1880, - 4492, -1000, 86, 4492, 3706, 8169, 457, 611, 454, 453, - 313, -1000, 837, -1000, 693, -1000, -1000, -1000, -4, -1000, - 752, 614, -1000, 862, 611, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 7723, 698, -1000, 85, -1000, -1000, - -1000, -1000, -1000, -1000, 1099, 8169, -1000, -1000, 391, 311, - 376, -1000, 4361, -1000, 4230, 449, -1000, -1000, -1000, -1000, - -1000, 406, -1000, -1000, -1000, -1000, -1000, 246, -60, -1000, - 835, -1000, 861, 55, -1000, -62, -46, -1000, 70, 698, - -1000, -1000, 5840, 4885, 404, 370, -1000, -1000, -1000, -1000, - 4230, -1000, 3575, -1000, 3444, 834, 3313, 3182, -12, -1000, - 827, 8169, -52, -68, -71, 853, 8169, -1000, 611, -1000, - 675, -1000, -1000, -1000, -1000, -1000, 4230, 3051, 2920, 401, - -1000, 243, -1000, -1000, -1000, 178, -1000, -1000, -1000, 822, - 8169, 8169, -1000, -1000, -1000, 347, 675, -1000, 399, 396, - 731, 769, 597, -1000, -1000, 395, -1000, -1000, -1000, -1000, - 817, -78, -1000, -1000, 266, -1000, -1000, -1000, -1000, 611, - 614, 852, 4230, -1000, 448, -1000, 8169, 609, -51, -1000, - 848, -1000, -1000, -1000, -1000, 242, 611, -1000, 2789, 374, - -1000, -1000, -1000, -1000, -1000, 743, 2658, -1000, 743, -1000, - 199, -1000, -1000, 611, -1000, 792, 109, -1000, 447, -1000, - 2527, -1000, + -1000, -1000, 2503, -1000, -1000, -1000, -1000, 326, 588, 680, + 135, -1000, 339, -1000, -1000, 896, -1000, 268, 268, 5123, + 322, 268, 7825, 7694, 7563, 398, 176, 772, 7956, -1000, + 5954, 319, 316, -1000, -1000, 428, 7956, 895, 7, 891, + 890, 7956, -1000, -1000, -1000, -1000, 686, -1000, 677, -1000, + -71, 312, 7956, 452, 469, 469, 7956, 7956, 7956, 7956, + -1000, -1000, 8218, -1000, 7956, 7956, 7956, 7956, 7956, 7956, + 7956, 310, -1000, -1000, 214, 212, 876, 7956, 635, 626, + 309, 308, 7956, 7956, 307, 7956, 7956, -1000, 209, -1000, + -1000, 835, 756, -1000, 208, 306, 7170, -1000, 207, 195, + -1000, 272, 866, 539, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 149, 175, -1000, 534, 267, -1000, 427, + -1000, 261, 344, -1000, 866, -1000, 123, 620, 603, -1000, + 674, 866, -1000, 888, -1000, 0, 4206, 4992, 8218, 4861, + 760, 7, 518, 7956, 305, -1000, 5907, -1000, 738, -1000, + 5860, -1000, 396, 1242, 6042, -1000, 112, -1000, -1000, 424, + 106, 7, -5, 100, 6042, -1000, -1000, -1000, -1000, -1000, + 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, + 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, + 7956, 626, 330, 469, 7956, 297, -1000, 5813, 395, 885, + -1000, 672, -1000, -1000, -71, 5766, -1000, -1000, 7432, 7956, + 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, + 7956, 391, -1000, -1000, -1000, -1000, -1000, 272, 517, 866, + 533, 529, -1000, -1000, -105, -105, -29, -105, 260, 5722, + 257, -105, -105, -105, -105, -105, -105, -105, -1000, 7301, + -1000, 7956, 7956, 7956, 435, 745, 752, -1000, 233, 8087, + 469, 6254, 97, 267, 528, -1000, 494, 515, 866, 575, + 149, 175, 526, 7956, 7956, 6042, 6042, 7956, 6042, 6042, + 7956, 512, 745, 716, -1000, 702, 7956, 7170, 163, 54, + 5678, 469, 7956, 7956, 882, -1000, 6467, 272, 230, 7956, + 7956, 149, 427, 166, -1000, 7956, 392, -1000, -1000, 2372, + 272, -1000, 681, 50, -1000, 665, 866, -8, -1000, 604, + 866, 881, 557, -10, 8378, -1000, -1000, -1000, -1000, -1000, + 295, -1000, -1000, -1000, -1000, -1000, 268, -1000, 390, 48, + 6042, -1000, 389, 387, -1000, -1000, -1000, -1000, -1000, 176, + -1000, 7956, -1000, -1000, 834, -1000, 8378, -1000, 7956, 7956, + 7956, 7956, 7956, 6213, 7006, 6755, 1899, -1, -1, -1, + -29, -105, -29, -29, 130, 130, 1336, 1336, 1336, 1336, + 293, 293, 293, 293, -1000, 7956, -1000, 108, -1000, -1000, + 1159, 766, 880, 4075, -1000, -1000, -1000, 294, -1000, 664, + 668, 7956, 6254, 314, 6254, 6254, 6254, 6254, 6254, 6254, + 6254, 6254, 6254, 6254, 6254, 6254, 91, -1000, -1000, 292, + 866, 272, 97, 97, -1000, -1000, -1000, -1000, -105, 162, + 6042, 161, -1000, -1000, -1000, -1000, 861, 879, 5597, 194, + 400, -1000, 204, -1000, -1000, 149, 175, -1000, 7956, -1000, + -1000, 174, 866, 494, 97, 149, 174, 56, -1000, -71, + -1000, 971, 256, 5549, 158, -1000, -1000, -1000, 155, 253, + -1000, -1000, 7020, 6889, -1000, -1000, 153, 152, -1000, -1000, + 55, 252, -1000, -1000, -71, 469, 7956, -1000, 267, 267, + -1000, -1000, 151, 5505, 267, 267, -1000, 5457, -1000, 2241, + -1000, -1000, -1000, -1000, 620, 875, 549, -1000, 603, 873, + 541, -1000, 872, 8378, -1000, 5998, -1000, -1000, 494, 510, + 866, 290, 8378, -1000, -1000, -1000, -1000, 696, 524, 8378, + 8378, 8378, 8378, 8378, 251, 481, 4337, 3944, 386, 7956, + 7956, 465, -1000, 830, -1000, -1000, 5409, -22, 287, -1000, + 6042, 6336, 6584, 6128, 6254, 5361, 7956, 383, 469, 291, + 291, -2, -26, 733, 286, 679, 654, -1000, 494, 505, + 866, 423, 664, -1000, -71, -1000, 626, -31, 391, 391, + 272, -1000, -1000, -1000, 147, -1000, -1000, -1000, -1000, -1000, + 7956, -1000, -1000, 181, 173, 267, 7956, 7956, 149, 5315, + -1000, 494, -1000, -1000, -1000, 7956, -1000, -1000, -1000, -1000, + -1000, -1000, 5267, 469, 6042, 469, -1000, -1000, -1000, 6598, + -1000, -1000, 6042, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 871, -1000, -1000, 868, -1000, -1000, 8378, + 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, + 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, + 8378, 8378, 8378, 8378, 8378, 8303, 866, 494, 8378, 141, + 35, 5223, 543, 720, -72, -72, -74, -74, 5179, 379, + -1000, 268, 5123, 475, 374, -1000, 373, 6042, -1000, 7956, + 285, 444, 372, 822, -1000, 8378, 679, -1000, 6295, -1000, + -1000, 566, -1000, 469, 276, 566, 4730, 867, 8378, 717, + 269, 679, 250, 33, -1000, 7, -1000, -1000, -1000, 421, + 664, 866, 494, -1000, 32, -1000, -1000, 7956, -1000, -20, + -1000, 177, -1000, 5135, 570, 7956, 7956, -1000, 131, 2035, + -1000, 571, -1000, 6758, -1000, -1000, -1000, -1000, -1000, 1921, + -74, -74, -72, -72, -72, -72, 6627, 6464, 1740, 99, + 99, -74, 6171, -9, 6085, 44, 1595, 1032, 1032, 1032, + 1032, 88, 88, 88, 88, 8378, 1794, 494, 248, -1000, + -1000, 8378, 8378, -1000, -1000, -1000, -1000, 5123, -1000, 459, + 268, 329, -1000, 7956, 1654, -1000, -1000, -1000, -1000, -1000, + 371, -1000, 247, 7956, 243, 291, -1000, 391, 242, -1000, + -1000, -1000, -34, -1000, -1000, -1000, -1000, 241, 709, 679, + 331, -1000, 32, 494, 698, 664, 267, 6254, -1000, -1000, + 150, 570, 7956, -1000, 97, 296, -1000, 120, 119, -1000, + -1000, -1000, 97, 6042, 469, -1000, 1981, 8378, -1000, 1092, + 5998, -1000, 369, 315, -1000, 238, -1000, 4337, -1000, 709, + 6295, 4599, -1000, -23, 4599, 3813, 8378, 420, 664, 419, + 416, 265, -1000, 832, -1000, 687, -1000, -1000, -1000, -27, + -1000, 738, 578, -1000, 865, 664, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 7956, 570, -1000, 113, -1000, + -1000, -1000, -1000, -1000, -1000, 1981, 8378, -1000, -1000, 4337, + 4468, 4337, 408, -1000, -1000, -1000, -1000, -1000, 364, -1000, + -1000, -1000, -1000, -1000, 202, -48, -1000, 826, -1000, 862, + 7, -1000, -49, -37, -1000, 111, 570, -1000, -1000, 5998, + 4337, -1000, -1000, -1000, -1000, 3682, -1000, 3551, 824, 3420, + 3289, -38, -1000, 818, 8378, -36, -53, -57, 855, 8378, + -1000, 664, -1000, 688, -1000, -1000, 3158, 3027, 363, -1000, + 229, -1000, -1000, -1000, 200, -1000, -1000, -1000, 812, 8378, + 8378, -1000, -1000, -1000, 288, 688, -1000, 361, 350, 703, + 751, 523, -1000, 348, -1000, -1000, -1000, -1000, 804, -73, + -1000, -1000, 264, -1000, -1000, -1000, -1000, 664, 578, 854, + -1000, 407, -1000, 8378, 679, -35, -1000, 846, -1000, -1000, + -1000, -1000, 228, 664, -1000, 2896, 345, -1000, -1000, -1000, + -1000, -1000, 724, 2765, -1000, 724, -1000, 263, -1000, -1000, + 664, -1000, 790, 167, -1000, 393, -1000, 2634, -1000, } var yyPgo = [...]int{ - 0, 87, 1284, 49, 32, 36, 518, 1283, 1277, 172, - 278, 22, 18, 1286, 85, 57, 17, 821, 1493, 1276, - 34, 1275, 1274, 1273, 38, 1272, 45, 14, 1268, 1247, - 1246, 1244, 70, 1243, 1242, 33, 1238, 27, 37, 25, - 1237, 765, 35, 1236, 270, 1235, 1234, 44, 1233, 50, - 40, 39, 1232, 52, 0, 1231, 1230, 1223, 51, 1222, - 1221, 608, 1220, 1219, 54, 13, 1218, 8, 1034, 23, - 29, 1217, 1216, 1215, 16, 185, 1214, 1211, 1197, 1190, - 1189, 1188, 1187, 1186, 1154, 1153, 1152, 1151, 1150, 1149, - 24, 1147, 1146, 1145, 1143, 26, 6, 1142, 1141, 1139, - 1136, 1135, 1133, 1132, 1130, 1129, 1128, 1127, 1125, 2, - 1124, 1122, 30, 1121, 1119, 12, 1118, 1117, 1, 1116, - 1115, 1113, 1112, 11, 1095, 1094, 1092, 20, 47, 19, - 1091, 1090, 1089, 1088, 1087, 21, 1086, 1084, 48, 1082, - 1080, 1063, 1062, 1061, 1060, 1057, 1053, 1043, 1036, 1035, - 1033, 1032, 3, 1031, 1026, 1024, 1023, 1022, 1021, 4, - 1019, 1018, 1017, 7, 15, 1016, 1015, 1014, 1013, 1011, - 1010, 1008, 1007, 999, 996, 995, 994, 993, 988, 987, - 986, 984, 983, 750, 31, 979, 974, 28, 5, 973, - 966, 964, 891, 888, + 0, 134, 1141, 32, 45, 35, 622, 1140, 1139, 44, + 280, 1312, 18, 1377, 81, 78, 59, 749, 1425, 1138, + 31, 1137, 1135, 1134, 37, 1133, 47, 41, 1132, 1131, + 1130, 1129, 58, 1124, 1123, 29, 1122, 30, 64, 23, + 1121, 688, 33, 1120, 11, 1104, 1100, 24, 1099, 54, + 49, 36, 1097, 1096, 1094, 1093, 1092, 34, 60, 0, + 1090, 1089, 1087, 182, 1083, 1081, 590, 1079, 1078, 50, + 15, 1077, 8, 1076, 1074, 1073, 25, 38, 1072, 1071, + 139, 21, 7, 1070, 1069, 1068, 16, 130, 1067, 1066, + 27, 5, 1065, 1064, 1061, 1060, 1059, 1058, 1057, 1054, + 1053, 1051, 1050, 1049, 2, 1048, 1047, 1045, 1043, 19, + 1042, 1040, 3, 1036, 1034, 1033, 1032, 13, 1031, 1030, + 1029, 20, 22, 1028, 14, 1027, 1026, 48, 1025, 1023, + 1020, 1017, 1013, 1012, 1011, 1009, 1007, 1006, 1005, 1004, + 1003, 4, 1002, 999, 998, 995, 993, 991, 1, 988, + 6, 17, 987, 985, 983, 977, 972, 971, 970, 969, + 968, 967, 966, 965, 963, 961, 959, 958, 956, 919, + 693, 26, 918, 917, 28, 12, 916, 915, 913, 910, + 909, } var yyR1 = [...]int{ - 0, 76, 53, 53, 54, 54, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 55, 55, 3, - 3, 3, 3, 56, 56, 4, 4, 4, 4, 57, - 57, 5, 5, 5, 5, 52, 52, 58, 58, 23, - 23, 23, 23, 24, 24, 25, 77, 78, 25, 81, - 82, 25, 85, 86, 25, 88, 89, 25, 25, 25, + 0, 89, 58, 58, 59, 59, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 60, 60, 3, + 3, 3, 3, 61, 61, 4, 4, 4, 4, 62, + 62, 5, 5, 5, 5, 52, 52, 63, 63, 23, + 23, 23, 23, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 97, 25, 25, 25, - 25, 25, 100, 102, 103, 104, 105, 100, 101, 107, - 101, 106, 106, 108, 108, 110, 111, 109, 94, 94, - 112, 50, 51, 115, 115, 116, 116, 117, 113, 121, - 114, 125, 114, 119, 119, 119, 119, 120, 120, 124, - 126, 126, 122, 122, 127, 127, 95, 95, 69, 69, - 69, 91, 91, 96, 96, 99, 99, 98, 98, 92, - 92, 92, 92, 128, 130, 128, 131, 128, 129, 129, - 87, 87, 79, 132, 79, 83, 133, 83, 80, 80, - 84, 84, 118, 118, 134, 134, 135, 135, 136, 136, - 136, 136, 75, 75, 75, 137, 137, 138, 138, 138, - 138, 59, 59, 26, 26, 26, 60, 60, 60, 60, - 123, 123, 141, 139, 139, 139, 146, 139, 144, 148, - 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, - 156, 156, 157, 157, 155, 154, 154, 158, 158, 147, - 147, 140, 140, 145, 145, 160, 160, 159, 159, 159, - 159, 159, 159, 142, 142, 142, 142, 143, 143, 93, - 93, 90, 90, 162, 161, 161, 163, 163, 165, 165, - 167, 166, 166, 166, 168, 169, 168, 41, 14, 14, - 14, 170, 14, 14, 14, 14, 14, 14, 14, 14, + 25, 25, 25, 25, 25, 25, 25, 25, 92, 25, + 25, 25, 25, 25, 95, 97, 98, 99, 100, 95, + 96, 102, 96, 101, 101, 103, 103, 105, 106, 104, + 79, 79, 57, 50, 51, 109, 109, 110, 110, 111, + 107, 115, 108, 119, 108, 113, 113, 113, 113, 114, + 114, 118, 120, 120, 116, 116, 121, 121, 90, 90, + 81, 81, 81, 56, 56, 91, 91, 94, 94, 93, + 93, 88, 88, 88, 88, 77, 77, 77, 122, 122, + 55, 55, 73, 73, 74, 74, 53, 53, 54, 54, + 112, 112, 123, 123, 124, 124, 125, 125, 125, 125, + 87, 87, 87, 126, 126, 127, 127, 127, 127, 64, + 64, 26, 26, 26, 65, 65, 65, 65, 117, 117, + 130, 128, 128, 128, 135, 128, 133, 137, 137, 138, + 138, 139, 139, 140, 140, 141, 141, 142, 145, 145, + 146, 146, 144, 143, 143, 147, 147, 136, 136, 129, + 129, 134, 134, 149, 149, 148, 148, 148, 148, 148, + 148, 131, 131, 131, 131, 132, 132, 78, 78, 76, + 76, 75, 75, 150, 150, 152, 152, 154, 153, 153, + 153, 155, 156, 155, 41, 14, 14, 14, 157, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 171, 14, 172, 14, 173, 14, 174, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 158, 14, 159, + 14, 160, 14, 161, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 175, 14, 176, 177, - 14, 178, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 179, 14, 14, 14, 14, 14, 14, 14, - 181, 14, 182, 14, 49, 49, 49, 49, 46, 46, - 46, 46, 45, 45, 1, 67, 67, 66, 66, 66, - 66, 22, 22, 22, 22, 22, 22, 22, 22, 10, - 10, 10, 10, 44, 44, 44, 42, 42, 40, 40, - 72, 72, 73, 48, 48, 48, 180, 180, 180, 74, - 74, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 7, 27, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 34, 34, - 34, 34, 28, 28, 28, 28, 28, 28, 28, 184, - 184, 187, 187, 186, 186, 186, 186, 13, 13, 47, - 47, 15, 16, 17, 18, 18, 189, 189, 190, 164, - 191, 191, 193, 192, 188, 188, 188, 39, 39, 43, - 43, 11, 21, 21, 19, 19, 19, 20, 20, 20, - 9, 9, 9, 8, 8, 12, 12, 70, 70, 71, - 71, 71, 38, 38, 68, 68, 65, 65, 37, 37, - 37, 64, 64, 63, 63, 63, 63, 63, 63, 63, - 63, 61, 61, 61, 61, 32, 32, 32, 32, 32, - 32, 33, 33, 33, 36, 36, 36, 36, 36, 36, - 36, 36, 62, 62, 35, 35, 29, 29, 30, 31, + 14, 14, 14, 162, 14, 163, 164, 14, 165, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 166, + 14, 14, 14, 14, 14, 14, 14, 168, 14, 169, + 14, 49, 49, 49, 49, 46, 46, 46, 46, 45, + 45, 1, 72, 72, 71, 71, 71, 71, 22, 22, + 22, 22, 22, 22, 22, 22, 10, 10, 10, 10, + 44, 44, 44, 42, 42, 40, 40, 84, 84, 85, + 48, 48, 48, 167, 167, 167, 86, 86, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 7, 27, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 34, 34, 34, 34, 28, + 28, 28, 28, 28, 28, 28, 171, 171, 174, 174, + 173, 173, 173, 173, 13, 13, 47, 47, 15, 16, + 17, 18, 18, 176, 176, 177, 151, 178, 178, 180, + 179, 175, 175, 175, 39, 39, 43, 43, 11, 21, + 21, 19, 19, 19, 20, 20, 20, 9, 9, 9, + 8, 8, 12, 12, 82, 82, 83, 83, 83, 38, + 38, 80, 80, 70, 70, 37, 37, 37, 69, 69, + 68, 68, 68, 68, 68, 68, 68, 68, 66, 66, + 66, 66, 32, 32, 32, 32, 32, 32, 33, 33, + 33, 36, 36, 36, 36, 36, 36, 36, 36, 67, + 67, 35, 35, 29, 29, 30, 31, } var yyR2 = [...]int{ @@ -1612,278 +1629,273 @@ var yyR2 = [...]int{ 3, 5, 4, 3, 4, 4, 2, 3, 1, 1, 3, 2, 4, 3, 1, 1, 3, 2, 4, 3, 1, 1, 3, 2, 4, 5, 4, 2, 0, 1, - 1, 1, 4, 1, 2, 3, 0, 0, 7, 0, - 0, 10, 0, 0, 5, 0, 0, 7, 9, 3, - 2, 3, 2, 3, 2, 3, 3, 2, 3, 3, - 3, 1, 2, 5, 8, 8, 0, 6, 1, 6, - 3, 3, 0, 0, 0, 0, 0, 13, 0, 0, - 5, 1, 0, 1, 2, 0, 0, 10, 1, 3, - 1, 1, 1, 0, 1, 0, 1, 0, 10, 0, - 8, 0, 7, 1, 2, 1, 2, 0, 2, 1, - 0, 2, 0, 2, 1, 3, 0, 2, 1, 2, - 4, 1, 4, 1, 4, 1, 4, 3, 5, 3, - 4, 4, 5, 0, 0, 6, 0, 5, 1, 1, - 1, 4, 0, 0, 5, 0, 0, 6, 0, 2, - 0, 3, 1, 0, 1, 3, 4, 6, 0, 1, - 1, 1, 2, 3, 3, 1, 3, 1, 1, 2, - 2, 3, 1, 1, 2, 4, 3, 5, 1, 3, - 2, 0, 0, 4, 2, 1, 0, 9, 3, 1, - 3, 1, 3, 0, 1, 1, 2, 2, 2, 3, - 1, 3, 1, 1, 3, 4, 3, 0, 1, 1, - 3, 1, 1, 0, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, - 1, 0, 1, 0, 4, 1, 2, 1, 4, 3, - 0, 3, 1, 1, 0, 0, 2, 3, 6, 3, - 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, + 1, 1, 4, 1, 2, 3, 5, 8, 3, 5, + 9, 3, 2, 3, 2, 3, 2, 3, 3, 2, + 3, 3, 3, 1, 2, 5, 8, 8, 0, 6, + 1, 6, 3, 3, 0, 0, 0, 0, 0, 13, + 0, 0, 5, 1, 0, 1, 2, 0, 0, 10, + 1, 3, 1, 1, 1, 0, 1, 0, 1, 0, + 10, 0, 8, 0, 7, 1, 2, 1, 2, 0, + 2, 1, 0, 2, 0, 2, 1, 3, 0, 2, + 1, 2, 4, 1, 4, 1, 4, 1, 4, 3, + 5, 3, 4, 4, 5, 0, 5, 4, 1, 1, + 1, 4, 0, 4, 0, 5, 0, 2, 0, 3, + 1, 0, 1, 3, 4, 6, 0, 1, 1, 1, + 2, 3, 3, 1, 3, 1, 1, 2, 2, 3, + 1, 1, 2, 4, 3, 5, 1, 3, 2, 0, + 0, 4, 2, 1, 0, 9, 3, 1, 3, 1, + 3, 0, 1, 1, 2, 2, 2, 3, 1, 3, + 1, 1, 3, 4, 3, 0, 1, 1, 3, 1, + 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, + 1, 3, 1, 2, 1, 4, 3, 0, 3, 1, + 1, 0, 0, 2, 3, 6, 3, 4, 0, 7, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 2, 2, 2, 0, 4, 0, + 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 1, 1, 0, 5, 0, 0, 7, 0, 5, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, + 3, 1, 1, 1, 3, 2, 1, 0, 10, 0, + 11, 2, 2, 4, 4, 4, 4, 4, 4, 4, + 3, 1, 0, 4, 3, 4, 1, 2, 2, 4, + 3, 4, 4, 4, 4, 2, 1, 1, 3, 2, + 1, 3, 2, 1, 1, 4, 1, 2, 0, 2, + 0, 2, 1, 0, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, + 3, 1, 1, 1, 1, 3, 2, 4, 3, 1, + 1, 1, 4, 3, 3, 3, 3, 3, 3, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 1, 1, 0, 5, 0, 0, - 7, 0, 5, 1, 2, 2, 2, 2, 2, 2, - 2, 2, 0, 3, 1, 1, 1, 3, 2, 1, - 0, 10, 0, 11, 2, 2, 4, 4, 4, 4, - 4, 4, 4, 3, 1, 0, 4, 3, 4, 1, - 2, 2, 4, 3, 4, 4, 4, 4, 2, 1, - 1, 3, 2, 1, 3, 2, 1, 1, 4, 1, - 2, 0, 2, 0, 2, 1, 0, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 2, 3, 1, 1, 1, 1, 3, 2, - 4, 3, 1, 1, 1, 4, 3, 3, 3, 3, - 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 4, 5, 2, 2, 3, 1, 1, - 3, 2, 1, 1, 1, 1, 3, 3, 1, 0, - 2, 0, 1, 5, 3, 3, 1, 1, 1, 3, - 3, 1, 1, 1, 5, 1, 2, 0, 0, 4, - 4, 4, 0, 2, 1, 1, 0, 1, 2, 3, - 3, 1, 4, 4, 1, 1, 1, 1, 2, 1, - 4, 4, 1, 1, 4, 0, 1, 1, 1, 4, - 4, 1, 1, 3, 1, 2, 3, 1, 1, 4, - 0, 0, 2, 5, 3, 3, 1, 6, 4, 4, - 2, 2, 2, 1, 2, 1, 4, 3, 3, 6, - 3, 1, 1, 1, 4, 4, 4, 2, 2, 4, - 2, 2, 1, 3, 1, 1, 3, 3, 3, 3, + 4, 5, 2, 2, 3, 1, 1, 3, 2, 1, + 1, 1, 1, 3, 3, 1, 0, 2, 0, 1, + 5, 3, 3, 1, 1, 1, 3, 3, 1, 1, + 1, 5, 1, 2, 0, 0, 4, 4, 4, 0, + 2, 1, 1, 0, 1, 2, 3, 3, 1, 4, + 4, 1, 1, 1, 1, 2, 1, 4, 4, 1, + 1, 4, 0, 1, 1, 1, 4, 4, 1, 1, + 3, 1, 2, 3, 1, 1, 4, 0, 0, 2, + 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, + 1, 2, 1, 4, 3, 3, 6, 3, 1, 1, + 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, + 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -76, -53, -2, -24, -50, -51, 51, 79, 44, - -52, -25, 10, -113, -114, 38, 119, 7, 21, 20, + -1000, -89, -58, -2, -24, -50, -51, 51, 79, 44, + -52, -25, 10, -107, -108, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, - -13, 48, 25, 27, 121, 40, 43, 36, -1, -119, - -124, 97, -15, -14, 37, 52, 99, 53, 100, 54, + -13, 48, 25, 27, 121, 40, 43, 36, -1, -113, + -118, 97, -15, -14, 37, 52, 99, 53, 100, 54, -18, 59, 92, -17, 104, 105, 130, 129, 131, 132, -47, -41, 123, -36, 107, 108, 109, 110, 111, 112, 113, 6, 133, -28, -46, -45, 118, 96, -19, 91, 49, 50, 4, 5, 84, 85, 86, 11, -34, -31, -6, 117, 74, 62, 18, 60, 125, -20, -21, -22, - -29, -54, 82, -10, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -9, -68, -43, -11, -39, -8, 134, - 12, 123, -54, 119, 82, 10, -55, 37, 38, -3, - -54, 82, 121, 135, 122, 10, -58, -47, 123, -85, - -88, 123, -47, 121, -13, 97, -1, 98, 79, 121, - -13, 121, -14, -18, -13, 121, -59, -26, 12, 134, - -60, -1, 12, -93, -13, 121, 149, 150, 87, 89, + -29, -59, 82, -10, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -9, -80, -43, -11, -39, -8, 134, + 12, 123, -59, 119, 82, 10, -60, 37, 38, -3, + -59, 82, 121, 135, 122, 10, -63, -47, 123, -47, + -24, -1, 79, 123, -47, 121, -13, 97, 98, 121, + -13, 121, -14, -18, -13, 121, -64, -26, 12, 134, + -65, -1, 12, -78, -13, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -97, 119, -13, 10, -115, + 160, 90, 127, 123, 123, -92, 119, -13, 10, -109, 128, 10, 10, -14, -18, -13, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -13, 104, 105, -17, -18, -54, 79, 82, + 147, 123, -13, 104, 105, -17, -18, -59, 79, 82, -10, -11, 98, -17, -13, -13, -13, -13, -41, -13, -49, -13, -13, -13, -13, -13, -13, -13, -48, 123, - -47, -179, 125, 125, -180, 17, -61, -32, 12, 76, - 77, -13, 57, -42, -10, -40, -54, 79, 82, -20, - -9, -68, -11, 123, 123, -13, -13, 123, -13, -13, - 125, -61, 17, 17, 75, -61, 125, 123, -64, -63, - -13, 128, 125, 125, 82, -75, 123, -54, 78, 125, - 119, -9, 134, 78, -75, 119, 124, 121, 119, -53, - -54, 121, 135, -56, -4, -54, 82, -57, -5, -54, - 82, 29, -54, 10, 136, -23, 120, -24, -50, -51, - 51, -77, 122, -47, -24, -90, -161, -13, -92, 119, - 122, 121, -115, 121, 121, 121, 121, 135, -15, 119, - -18, 121, 135, -115, 136, 121, 135, -171, -172, -173, - -174, -13, -13, -13, -13, -13, -13, -13, -13, -13, + -47, -166, 125, 125, -167, 17, -66, -32, 12, 76, + 77, -13, 57, -42, -10, -40, -59, 79, 82, -20, + -9, -80, -11, 123, 123, -13, -13, 123, -13, -13, + 125, -66, 17, 17, 75, -66, 125, 123, -69, -68, + -13, 128, 125, 125, 82, -87, 123, -59, 78, 125, + 119, -9, 134, 78, -87, 119, 124, 121, 119, -58, + -59, 121, 135, -61, -4, -59, 82, -62, -5, -59, + 82, 29, -59, 10, 136, -23, 120, -24, -50, -51, + 51, -24, 122, -55, -24, 122, 21, -109, -76, -75, + -13, -88, 119, 122, 121, 121, 121, 121, 121, 135, + -15, 119, -18, 121, 135, -109, 136, 121, 135, -158, + -159, -160, -161, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -42, -176, 122, -94, -112, -18, -18, -14, - 123, -58, 121, 121, 10, -181, -120, 55, -125, 58, - -13, 128, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -65, -37, -18, 59, 82, -54, - 78, 78, 124, 124, 124, 124, -13, -12, -13, -12, - 118, -32, -32, 17, 125, 57, -13, 11, -18, -70, - -71, -39, -38, -9, -68, 10, 119, -74, -75, 78, - 82, -54, 57, -9, 78, -62, -35, -18, -14, -18, - -14, -13, -12, 117, 75, 75, -12, -64, 126, -187, - 135, 58, -16, -18, -12, -12, 10, 124, -137, -49, - -138, -14, -18, 128, 83, -75, -38, -39, 10, 52, - -12, -13, -38, -39, 10, -13, 121, -53, 120, -75, - -3, 121, 135, 29, -54, 121, 135, 29, -54, 10, - 29, 136, -27, -183, -6, -30, -54, 79, 82, 60, - 125, -7, 62, -185, 18, 74, -10, 131, 132, 130, - 129, 123, 123, -24, -81, -86, 21, 121, 135, -128, - 121, -128, 121, -26, -13, 12, -182, -27, -13, -13, - -13, -13, -13, -13, -178, 124, 135, 29, 29, -98, - 10, 120, -117, 123, -121, -44, -54, 79, 82, -126, - 55, -14, -18, -18, 91, 124, 135, 123, -54, -175, - 126, 126, -33, 10, 13, 12, 10, 120, 125, 120, - -188, -192, -191, -193, 125, 119, -9, -13, -39, -54, - -70, -39, 124, 135, 124, 124, 124, 126, 126, 124, - -13, 128, -13, 128, 126, 126, 124, 135, 124, -16, - -13, -75, -75, 126, 120, -75, -75, 120, 120, -4, - 10, 29, -5, 10, 29, 10, -27, 125, 130, 129, - 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, - 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, - 159, 158, 160, 127, 82, -54, 123, -184, -186, -183, - 17, 78, -183, -183, -183, -183, -183, 124, -78, -58, - -87, -24, 122, -89, -90, -162, 120, 32, 33, -128, - 31, -128, 120, 136, 123, 122, -13, 121, -112, -69, - -18, 128, 59, -69, 124, 135, 136, -100, 41, 123, - -118, -134, -135, -136, 60, 61, -44, -122, 56, 82, - -54, 119, -127, -44, -42, 136, -37, -65, -168, -169, - 126, -13, -189, 125, 125, -75, -12, -13, 120, -72, - -35, 58, -16, -16, -138, 10, 10, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, 122, -183, -54, -184, 126, -187, 135, - 58, 10, 52, 124, 121, -79, -82, -58, -47, 121, - -13, -13, -129, 122, 121, 120, 121, 31, -27, -118, - -177, -95, 58, -18, 123, -95, -99, -24, 122, 10, - -27, -101, 42, 123, -118, 124, 135, -115, 119, -127, - -54, -123, 135, -170, -13, 124, -166, -165, -163, 125, - -164, 57, 126, -164, -12, -12, 126, 120, -73, 57, - -13, 128, 126, -183, 122, 124, -183, -183, -80, 93, - 94, -83, 22, 121, -90, -129, -131, 121, 124, -13, - 124, -69, -65, 124, -58, 136, -107, -102, 124, -67, - 44, -135, -116, 83, -123, 120, -139, -140, -143, -144, - -145, -160, 47, 38, 44, -159, 103, 102, 101, 98, - 99, 100, -44, -74, 125, -167, -164, -12, -70, 120, - 126, 126, -70, -16, -183, 58, -47, -24, -84, 93, - 94, 121, 124, -130, -58, -67, -96, -24, 122, 124, - -96, 28, -27, 119, -44, 119, 119, 123, 12, 120, - -141, 121, 135, -1, -159, 10, -148, -44, -12, -163, - 126, -190, -183, -132, 95, -47, 122, -91, -24, 122, - -58, 119, -58, 121, -58, -103, -58, -58, -66, 12, - 128, 136, -142, 12, 10, -115, 136, -149, 135, 121, - 119, 126, -188, -24, 121, 122, -58, -58, -58, 26, - 120, 12, 120, 120, 124, 135, 12, -27, 121, 135, - 136, 136, 10, -27, -44, -150, -151, -152, -153, -154, - -155, -157, -44, 10, -133, 24, 120, 121, 124, 12, - 128, 12, -27, -27, -146, 120, -152, 121, 121, 45, - 29, 78, -58, 121, -104, 12, 136, 123, -156, -44, - -158, -159, 10, 119, -27, -118, 135, 10, -58, 124, - -44, 120, -147, 121, 119, -105, -58, -106, -108, -109, - 41, 120, -109, 123, -44, -110, 12, 124, -111, 119, - -58, 120, + -13, -13, -13, -13, -42, -163, 122, -79, -57, -18, + -18, -14, 123, -63, 121, 121, 10, -168, -114, 55, + -119, 58, -13, 128, -13, -13, -13, -13, -13, -13, + -13, -13, -13, -13, -13, -13, -70, -37, -18, 59, + 82, -59, 78, 78, 124, 124, 124, 124, -13, -12, + -13, -12, 118, -32, -32, 17, 125, 57, -13, 11, + -18, -82, -83, -39, -38, -9, -80, 10, 119, -86, + -87, 78, 82, -59, 57, -9, 78, -67, -35, -18, + -14, -18, -14, -13, -12, 117, 75, 75, -12, -69, + 126, -174, 135, 58, -16, -18, -12, -12, 10, 124, + -126, -49, -127, -14, -18, 128, 83, -87, -38, -39, + 10, 52, -12, -13, -38, -39, 10, -13, 121, -58, + 120, -87, -3, 121, 135, 29, -59, 121, 135, 29, + -59, 10, 29, 136, -27, -170, -6, -30, -59, 79, + 82, 60, 125, -7, 62, -172, 18, 74, -10, 131, + 132, 130, 129, 123, 123, -73, -63, -63, -47, 121, + 135, -77, 121, -77, 121, -26, -13, 12, -169, -27, + -13, -13, -13, -13, -13, -13, -165, 124, 135, 29, + 29, -93, 10, 120, -111, 123, -115, -44, -59, 79, + 82, -120, 55, -14, -18, -18, 91, 124, 135, 123, + -59, -162, 126, 126, -33, 10, 13, 12, 10, 120, + 125, 120, -175, -179, -178, -180, 125, 119, -9, -13, + -39, -59, -82, -39, 124, 135, 124, 124, 124, 126, + 126, 124, -13, 128, -13, 128, 126, 126, 124, 135, + 124, -16, -13, -87, -87, 126, 120, -87, -87, 120, + 120, -4, 10, 29, -5, 10, 29, 10, -27, 125, + 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, + 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, + 154, 157, 159, 158, 160, 127, 82, -59, 123, -171, + -173, -170, 17, 78, -170, -170, -170, -170, -170, 124, + -53, 93, 94, -74, 22, 121, -76, -13, 120, 32, + 33, -77, 31, -77, 120, 136, 123, 122, -13, 121, + -57, -81, -18, 128, 59, -81, 124, 135, 136, -95, + 41, 123, -112, -123, -124, -125, 60, 61, -44, -116, + 56, 82, -59, 119, -121, -44, -42, 136, -37, -70, + -155, -156, 126, -13, -176, 125, 125, -87, -12, -13, + 120, -84, -35, 58, -16, -16, -127, 10, 10, -170, + -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, + -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, + -170, -170, -170, -170, -170, 122, -170, -59, -171, 126, + -174, 135, 58, 10, 52, 124, 121, -47, -24, -54, + 93, 94, 121, 121, -13, -122, 122, 121, 120, 121, + 31, -27, -112, -164, -90, 58, -18, 123, -90, -94, + -24, 122, 10, -27, -96, 42, 123, -112, 124, 135, + -109, 119, -121, -59, -117, 135, -157, -13, 124, -153, + -152, -150, 125, -151, 57, 126, -151, -12, -12, 126, + 120, -85, 57, -13, 128, 126, -170, 122, 124, -170, + -170, -24, 95, -47, 122, -76, -122, -63, 121, 124, + -13, 124, -81, -70, 124, -63, 136, -102, -97, 124, + -72, 44, -124, -110, 83, -117, 120, -128, -129, -132, + -133, -134, -149, 47, 38, 44, -148, 103, 102, 101, + 98, 99, 100, -44, -86, 125, -154, -151, -12, -82, + 120, 126, 126, -82, -16, -170, 58, 121, 122, -63, + 124, -63, -72, -91, -24, 122, 124, -91, 28, -27, + 119, -44, 119, 119, 123, 12, 120, -130, 121, 135, + -1, -148, 10, -137, -44, -12, -150, 126, -177, -170, + -63, -56, -24, 122, 119, -63, 121, -63, -98, -63, + -63, -71, 12, 128, 136, -131, 12, 10, -109, 136, + -138, 135, 121, 119, 126, -175, -63, -63, 26, 120, + 12, 120, 120, 124, 135, 12, -27, 121, 135, 136, + 136, 10, -27, -44, -139, -140, -141, -142, -143, -144, + -146, -44, 10, 24, 120, 121, 124, 12, 128, 12, + -27, -27, -135, 120, -141, 121, 121, 45, 29, 78, + 121, -99, 12, 136, 123, -145, -44, -147, -148, 10, + 119, -27, -112, 135, 10, -63, 124, -44, 120, -136, + 121, 119, -100, -63, -101, -103, -104, 41, 120, -104, + 123, -44, -105, 12, 124, -106, 119, -63, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, - 0, 43, 4, 101, 102, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 369, 0, 71, - 0, 0, 0, 76, 78, 0, 0, 0, 103, 0, - 0, 339, 467, 468, 354, 113, 0, 115, 0, 119, + 0, 43, 4, 93, 94, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 356, 0, 63, + 0, 0, 0, 68, 70, 0, 0, 0, 95, 0, + 0, 326, 454, 455, 341, 105, 0, 107, 0, 111, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 314, 315, 0, 323, 0, 0, 0, 0, 0, 0, - 0, 383, 332, 334, 335, 336, 386, 0, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 452, 453, 454, - 455, 0, 0, 458, 393, 0, 521, 494, 495, 496, - 448, -2, 0, 0, 391, 392, 394, 395, 396, 397, - 398, 399, 400, -2, 0, 499, 0, 0, 502, 514, - 503, 0, 0, 3, 0, 4, 0, 0, 0, 18, - 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 241, 0, 60, 0, 339, 103, 369, 0, 62, - 0, 64, 468, -2, 0, 67, 0, 182, 183, 0, - 0, 103, 188, 0, 240, 72, 280, 282, 284, 286, + 301, 302, 0, 310, 0, 0, 0, 0, 0, 0, + 0, 370, 319, 321, 322, 323, 373, 0, 462, 0, + 0, 0, 0, 0, 0, 0, 0, 439, 440, 441, + 442, 0, 0, 445, 380, 0, 508, 481, 482, 483, + 435, -2, 0, 0, 378, 379, 381, 382, 383, 384, + 385, 386, 387, -2, 0, 486, 0, 0, 489, 501, + 490, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 19, 0, 16, 0, 44, 0, 0, 0, 0, 0, + 0, 95, 0, 229, 0, 52, 0, 326, 356, 54, + 0, 56, 455, -2, 0, 59, 0, 170, 171, 0, + 0, 95, 176, 0, 228, 64, 267, 269, 271, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 318, 0, 0, 0, 38, 0, 0, 340, - 104, 117, 111, -2, -2, 0, 114, 116, 0, 0, + 0, 0, 305, 0, 0, 0, 38, 0, 0, 327, + 96, 109, 103, -2, -2, 0, 106, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 520, 263, 276, 278, 277, 473, 370, 0, 0, - 0, 0, 369, 279, 301, 302, 303, 304, 315, 0, - 0, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 385, 0, 505, 505, 0, 387, 388, 533, 535, 0, - 0, 338, 0, 389, 376, 377, 370, 0, 0, 379, - -2, 0, 0, 0, 0, 547, 548, 0, 550, 551, - 505, 0, 0, 0, 402, 0, 505, 521, 0, 461, - 526, 0, 505, 505, 0, 361, 0, -2, 0, 505, - 0, -2, 515, 0, 368, 0, 0, 10, 3, 0, + 0, 507, 250, 263, 265, 264, 460, 357, 0, 0, + 0, 0, 356, 266, 288, 289, 290, 291, 302, 0, + 0, 311, 312, 313, 314, 315, 316, 317, 318, 0, + 372, 0, 492, 492, 0, 374, 375, 520, 522, 0, + 0, 325, 0, 376, 363, 364, 357, 0, 0, 366, + -2, 0, 0, 0, 0, 534, 535, 0, 537, 538, + 492, 0, 0, 0, 389, 0, 492, 508, 0, 448, + 513, 0, 492, 492, 0, 348, 0, -2, 0, 492, + 0, -2, 502, 0, 355, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 0, 49, 53, 0, 0, 242, 245, 59, 143, - 143, 61, 340, 63, 65, 66, 68, 0, 184, 0, - 471, 69, 0, 342, 0, 70, 0, 0, 0, 0, - 0, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, -2, -2, -2, -2, -2, -2, - -2, -2, 313, 0, 321, 0, 98, 100, -2, 468, - 0, 0, 80, 81, 107, 0, 109, 0, 120, 0, - 259, 0, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 0, 517, 518, 0, 0, 372, - 0, 0, 316, 469, 470, 384, 333, 0, 506, 0, - 337, 534, 531, 532, 0, 0, 0, 452, 0, -2, - 507, 508, 511, 487, 0, 512, 0, 257, 390, 0, - 0, 372, 0, 498, 0, 0, 552, -2, -2, -2, - 468, 0, 0, 456, 401, 457, 0, 0, 353, 522, - 462, 0, 530, 472, 0, 0, 5, 172, 0, 0, - 175, -2, -2, 0, 0, 363, 0, 489, -2, 559, - 0, 0, 0, 490, -2, 0, 9, 0, 12, 362, - 17, 14, 0, 0, 27, 15, 0, 0, 33, 20, - 0, 0, 36, 404, 405, 406, -2, 0, 0, 0, - 459, 412, 413, 414, 393, 0, 0, 0, 0, 0, - 0, 0, 0, 47, 38, 0, 56, 241, 243, 0, - 143, 0, 143, 181, 0, 186, 0, 189, 239, 281, - 283, 285, 287, 0, 0, 0, 0, 0, 0, 0, - 0, 82, 0, -2, 122, 118, 373, 0, 0, 0, - 0, -2, -2, 260, 0, 0, 520, 520, 371, -2, - 349, 348, 0, 541, 542, 543, 537, 538, 0, 540, - 477, 484, 485, 0, 505, 0, 488, 0, 489, 371, - 381, 490, 544, 0, 545, 546, 549, 351, 350, 352, - 524, 0, 525, 0, 492, 493, 173, 0, 174, 179, - 180, 364, 365, 500, 501, 366, 367, 504, 11, 23, - 26, 0, 29, 32, 0, 22, 35, 0, 0, 0, + 0, 142, 38, 48, 140, 38, 0, 327, 0, 230, + 232, 51, 135, 135, 53, 55, 57, 58, 60, 0, + 172, 0, 458, 61, 0, 329, 0, 62, 0, 0, + 0, 0, 0, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, -2, -2, -2, -2, + -2, -2, -2, -2, 300, 0, 308, 0, 90, 92, + -2, 455, 0, 0, 72, 73, 99, 0, 101, 0, + 112, 0, 246, 0, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 0, 504, 505, 0, + 0, 359, 0, 0, 303, 456, 457, 371, 320, 0, + 493, 0, 324, 521, 518, 519, 0, 0, 0, 439, + 0, -2, 494, 495, 498, 474, 0, 499, 0, 244, + 377, 0, 0, 359, 0, 485, 0, 0, 539, -2, + -2, -2, 455, 0, 0, 443, 388, 444, 0, 0, + 340, 509, 449, 0, 517, 459, 0, 0, 5, 160, + 0, 0, 163, -2, -2, 0, 0, 350, 0, 476, + -2, 546, 0, 0, 0, 477, -2, 0, 9, 0, + 12, 349, 17, 14, 0, 0, 27, 15, 0, 0, + 33, 20, 0, 0, 36, 391, 392, 393, -2, 0, + 0, 0, 446, 399, 400, 401, 380, 0, 0, 0, + 0, 0, 0, 0, 0, 146, 144, 0, 0, 229, + 0, 0, 135, 0, 135, 169, 0, 174, 0, 177, + 227, 268, 270, 272, 274, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 0, -2, 114, 110, 360, 0, + 0, 0, 0, -2, -2, 247, 0, 0, 507, 507, + 358, -2, 336, 335, 0, 528, 529, 530, 524, 525, + 0, 527, 464, 471, 472, 0, 492, 0, 475, 0, + 476, 358, 368, 477, 531, 0, 532, 533, 536, 338, + 337, 339, 511, 0, 512, 0, 479, 480, 161, 0, + 162, 167, 168, 351, 352, 487, 488, 353, 354, 491, + 11, 23, 26, 0, 29, 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -2, 459, 0, 461, 466, - 0, 0, 422, 423, 445, 446, 0, 0, 152, 50, - 54, 150, 38, 0, 0, 0, 139, 0, 0, 0, - 0, 0, 185, 0, -2, 319, 322, 73, 99, 126, - 128, 0, 0, 126, 0, 0, 0, 88, 0, -2, - 0, 162, 164, 103, 169, 170, 171, 0, 0, 0, - 375, 191, 121, 124, 261, 0, 516, 0, 317, 0, - 536, 0, 474, 505, 505, 483, 0, 0, 513, 378, - 553, 0, 528, 529, 176, 28, 34, 0, 416, 417, - 418, 419, 420, 421, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, -2, -2, -2, -2, -2, - -2, -2, -2, 0, 0, -2, 0, 411, 460, 462, - 0, 403, 558, 447, 42, 158, 155, 0, 0, 241, - 244, 0, 146, 148, 149, 140, 141, 0, 187, 0, - 0, 0, 0, 129, 520, 0, 77, 135, 38, 0, - 137, 79, 89, 83, 0, 355, 168, 105, 191, 123, - 374, 223, 0, 389, 258, 519, 256, -2, 253, 505, - 247, 0, 0, 476, 0, 0, 509, 510, 380, 0, - 523, 0, 415, 443, 0, 410, 464, 465, 48, 0, - 0, 160, 0, 57, 0, 144, 38, 142, 355, 320, - 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 165, 0, 106, 223, 112, 190, 192, 0, 195, - 0, -2, 222, 0, 0, 225, 227, 228, 229, 230, - 231, 232, 125, 262, 505, 0, 246, 0, 478, 539, - 481, 480, 382, 527, 444, 0, 153, 159, 0, 0, - 0, 151, 0, 38, 147, 0, 74, 133, 38, 130, - 75, 0, 138, 38, 84, 38, 38, 0, 166, 110, - 0, 194, 0, 103, 226, 0, 0, 199, 0, 251, - 249, -2, 463, 0, 0, 0, 38, 58, 131, 38, - 145, 38, 0, 136, 0, 0, 0, 0, 0, 359, - 0, 0, 0, 235, 0, 0, 0, 198, 0, 201, - 203, 248, 479, 154, 51, 156, 161, 0, 0, 0, - 90, 0, 108, 341, 356, 0, 360, 167, 193, 0, - 0, 0, 196, 238, 200, 0, 204, 205, 0, 0, - 213, 0, 0, -2, 38, 0, 343, 134, 85, 357, - 0, 233, 236, 237, 0, 202, 206, 207, 208, 0, - 217, 0, 157, 132, 0, 358, 0, -2, 209, 210, - 0, -2, 214, 38, 234, 0, 0, 215, 0, 0, - 211, 86, 197, 219, 38, 92, 0, 87, 91, 93, - 0, 220, 94, 0, 95, 0, 0, 96, 0, 38, - 0, 97, + 0, 0, 0, 0, 0, 0, 0, -2, 446, 0, + 448, 453, 0, 0, 409, 410, 432, 433, 0, 0, + 46, 0, 0, 148, 0, 49, 0, 231, 131, 0, + 0, 0, 0, 0, 173, 0, -2, 306, 309, 65, + 91, 118, 120, 0, 0, 118, 0, 0, 0, 80, + 0, -2, 0, 150, 152, 95, 157, 158, 159, 0, + 0, 0, 362, 179, 113, 116, 248, 0, 503, 0, + 304, 0, 523, 0, 461, 492, 492, 470, 0, 0, + 500, 365, 540, 0, 515, 516, 164, 28, 34, 0, + 403, 404, 405, 406, 407, 408, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, -2, -2, -2, + -2, -2, -2, -2, -2, 0, 0, -2, 0, 398, + 447, 449, 0, 390, 545, 434, 42, 0, 147, 0, + 0, 0, 141, 229, 0, 38, 138, 139, 132, 133, + 0, 175, 0, 0, 0, 0, 121, 507, 0, 69, + 127, 38, 0, 129, 71, 81, 75, 0, 342, 156, + 97, 179, 115, 361, 211, 0, 376, 245, 506, 243, + -2, 240, 492, 234, 0, 0, 463, 0, 0, 496, + 497, 367, 0, 510, 0, 402, 430, 0, 397, 451, + 452, 143, 0, 0, 38, 0, 38, 137, 134, 342, + 307, 0, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 153, 0, 98, 211, 104, 178, 180, 0, + 183, 0, -2, 210, 0, 0, 213, 215, 216, 217, + 218, 219, 220, 117, 249, 492, 0, 233, 0, 465, + 526, 468, 467, 369, 514, 431, 0, 47, 38, 149, + 0, 136, 0, 66, 125, 38, 122, 67, 0, 130, + 38, 76, 38, 38, 0, 154, 102, 0, 182, 0, + 95, 214, 0, 0, 187, 0, 238, 236, -2, 450, + 145, 50, 123, 38, 38, 0, 128, 0, 0, 0, + 0, 0, 346, 0, 0, 0, 223, 0, 0, 0, + 186, 0, 189, 191, 235, 466, 0, 0, 0, 82, + 0, 100, 328, 343, 0, 347, 155, 181, 0, 0, + 0, 184, 226, 188, 0, 192, 193, 0, 0, 201, + 0, 0, -2, 0, 330, 126, 77, 344, 0, 221, + 224, 225, 0, 190, 194, 195, 196, 0, 205, 0, + 124, 0, 345, 0, -2, 197, 198, 0, -2, 202, + 38, 222, 0, 0, 203, 0, 0, 199, 78, 185, + 207, 38, 84, 0, 79, 83, 85, 0, 208, 86, + 0, 87, 0, 0, 88, 0, 38, 0, 89, } var yyTok1 = [...]int{ @@ -2261,25 +2273,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:222 + //line php5/php5.y:224 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:228 + //line php5/php5.y:230 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:229 + //line php5/php5.y:231 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:234 + //line php5/php5.y:236 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2288,7 +2300,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:241 + //line php5/php5.y:243 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2297,25 +2309,25 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:251 + //line php5/php5.y:253 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:253 + //line php5/php5.y:255 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:255 + //line php5/php5.y:257 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:257 + //line php5/php5.y:259 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2323,7 +2335,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:263 + //line php5/php5.y:265 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2335,7 +2347,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:273 + //line php5/php5.y:275 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2347,7 +2359,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:283 + //line php5/php5.y:285 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2355,7 +2367,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:289 + //line php5/php5.y:291 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2363,7 +2375,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:295 + //line php5/php5.y:297 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2375,7 +2387,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:305 + //line php5/php5.y:307 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2387,25 +2399,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:315 + //line php5/php5.y:317 { yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:320 + //line php5/php5.y:322 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:322 + //line php5/php5.y:324 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:327 + //line php5/php5.y:329 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2417,7 +2429,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:337 + //line php5/php5.y:339 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2432,7 +2444,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:350 + //line php5/php5.y:352 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2444,7 +2456,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:360 + //line php5/php5.y:362 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2459,19 +2471,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:376 + //line php5/php5.y:378 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:378 + //line php5/php5.y:380 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:383 + //line php5/php5.y:385 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2483,7 +2495,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:393 + //line php5/php5.y:395 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2498,7 +2510,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:406 + //line php5/php5.y:408 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2510,7 +2522,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:416 + //line php5/php5.y:418 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2525,19 +2537,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:432 + //line php5/php5.y:434 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:434 + //line php5/php5.y:436 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:439 + //line php5/php5.y:441 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2549,7 +2561,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:449 + //line php5/php5.y:451 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2564,7 +2576,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:462 + //line php5/php5.y:464 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2576,7 +2588,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:472 + //line php5/php5.y:474 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2591,7 +2603,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:488 + //line php5/php5.y:490 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2609,7 +2621,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:506 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2627,37 +2639,37 @@ yydefault: } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:523 + //line php5/php5.y:525 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:527 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:533 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:535 { yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:537 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:539 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2665,13 +2677,13 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:549 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:551 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2683,567 +2695,685 @@ yydefault: } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:561 - { - } - case 46: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:562 - { - } - case 47: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:562 - { - } - case 48: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:562 - { - } - case 49: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:563 - { - } - case 50: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:563 - { - } - case 51: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:563 - { - } - case 52: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:564 { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 46: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:570 + { + yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) + + if yyDollar[5].node != nil { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) + } else if len(yyDollar[4].list) > 0 { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[4].list)) + } else { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + } + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 47: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:584 + { + stmts := stmt.NewStmtList(yyDollar[4].list) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) + + yyVAL.node = stmt.NewIf(yyDollar[2].node, stmts, yyDollar[5].list, yyDollar[6].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 48: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:593 + { + yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[2].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 49: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:599 + { + yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 50: + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:605 + { + yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 51: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:611 + { + yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 52: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:617 + { + yyVAL.node = stmt.NewBreak(nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:564 + //line php5/php5.y:623 { + yyVAL.node = stmt.NewBreak(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 54: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:564 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:629 { + yyVAL.node = stmt.NewContinue(nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 55: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:565 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:635 { + yyVAL.node = stmt.NewContinue(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 56: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:565 - { - } - case 57: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:565 - { - } - case 58: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:566 - { - } - case 59: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:567 - { - } - case 60: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:568 - { - } - case 61: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:569 - { - } - case 62: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:570 - { - } - case 63: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:571 - { - } - case 64: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:572 - { - } - case 65: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:573 - { - } - case 66: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:574 - { - } - case 67: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:575 - { - } - case 68: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:576 - { - } - case 69: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:577 - { - } - case 70: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:578 - { - } - case 71: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:579 - { - } - case 72: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:580 - { - yyVAL.node = yyDollar[1].node - } - case 73: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:581 - { - } - case 74: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:582 - { - } - case 75: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:583 - { - } - case 76: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:584 - { - } - case 77: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:584 - { - } - case 78: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:585 - { - } - case 79: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:586 - { - } - case 80: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:587 - { - } - case 81: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:588 - { - } - case 82: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:592 - { - } - case 83: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:593 - { - } - case 84: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:594 - { - } - case 85: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:595 - { - } - case 86: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:596 - { - } - case 87: - yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:597 - { - } - case 88: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:600 - { - } - case 89: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:601 - { - } - case 90: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:601 - { - } - case 91: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:605 - { - } - case 92: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:606 - { - } - case 93: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:610 - { - } - case 94: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:611 - { - } - case 95: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:615 - { - } - case 96: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:615 - { - } - case 97: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:615 - { - } - case 100: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:624 - { - } - case 101: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:628 - { - } - case 102: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:632 - { - } - case 103: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:636 - { - } - case 104: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:637 - { - } - case 105: - yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:641 { + yyVAL.node = stmt.NewReturn(nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 106: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:642 - { - } - case 107: + case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:646 + //line php5/php5.y:647 { + yyVAL.node = stmt.NewReturn(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 108: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:648 - { - } - case 109: + case 58: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:653 { + yyVAL.node = stmt.NewReturn(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 110: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:657 - { - } - case 111: + case 59: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:659 { + yyVAL.node = yyDollar[1].node } - case 112: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:663 + case 60: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:661 { + yyVAL.node = stmt.NewGlobal(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 113: + case 61: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:667 + { + yyVAL.node = stmt.NewStatic(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 62: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:673 + { + yyVAL.node = stmt.NewEcho(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:668 + //line php5/php5.y:679 { + yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 114: + case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:669 + //line php5/php5.y:685 + { + yyVAL.node = yyDollar[1].node + } + case 65: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:687 + { + yyVAL.node = stmt.NewUnset(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 66: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:692 { } - case 115: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:670 + case 67: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:693 { } - case 116: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:671 - { - } - case 117: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:675 - { - } - case 118: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:676 - { - } - case 119: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:680 - { - } - case 124: + case 68: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:694 { } - case 125: - yyDollar = yyS[yypt-3 : yypt+1] + case 69: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:694 + { + } + case 70: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:695 { } - case 126: + case 71: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:696 + { + } + case 72: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:697 + { + } + case 73: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:698 + { + } + case 74: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:699 + //line php5/php5.y:702 { } - case 127: + case 75: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:700 + //line php5/php5.y:703 { } - case 128: - yyDollar = yyS[yypt-1 : yypt+1] + case 76: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:704 + { + } + case 77: + yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:705 + { + } + case 78: + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:706 + { + } + case 79: + yyDollar = yyS[yypt-13 : yypt+1] + //line php5/php5.y:707 + { + } + case 80: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:710 + { + } + case 81: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:711 + { + } + case 82: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:711 + { + } + case 83: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:715 + { + } + case 84: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:716 + { + } + case 85: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:720 + { + } + case 86: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:721 + { + } + case 87: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:725 + { + } + case 88: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:725 + { + } + case 89: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:725 + { + } + case 90: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:730 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 91: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:732 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 92: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:737 + { + yyVAL.node = yyDollar[1].node + } + case 93: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:741 + { + } + case 94: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:745 + { + } + case 95: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:749 + { + } + case 96: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:750 + { + } + case 97: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:754 + { + } + case 98: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:755 + { + } + case 99: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:759 + { + } + case 100: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:761 + { + } + case 101: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:766 + { + } + case 102: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:770 + { + } + case 103: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:772 + { + } + case 104: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:776 + { + } + case 105: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:781 + { + } + case 106: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:782 + { + } + case 107: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:783 + { + } + case 108: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:784 + { + } + case 109: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:788 + { + } + case 110: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:789 + { + } + case 111: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:793 + { + } + case 116: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:807 + { + } + case 117: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:808 + { + } + case 118: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:812 + { + } + case 119: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:813 + { + } + case 120: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:818 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } - case 129: + case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:707 + //line php5/php5.y:820 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } - case 130: + case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:709 + //line php5/php5.y:822 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } - case 137: + case 123: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:832 + { + yyVAL.node = yyDollar[1].node + } + case 124: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:834 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:736 + //line php5/php5.y:855 { } - case 138: + case 130: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:737 + //line php5/php5.y:856 { } - case 139: + case 131: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:742 + //line php5/php5.y:862 { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} + } + case 132: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:864 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} + } + case 133: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:866 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} + } + case 134: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:868 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} + } + case 135: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:874 + { + yyVAL.list = []node.Node{} + } + case 136: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:876 + { + _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) + positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) + yyVAL.list = append(yyDollar[1].list, _case) + comments.AddComments(_case, yyDollar[2].token.Comments()) + } + case 137: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:883 + { + _default := stmt.NewDefault(yyDollar[4].list) + positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) + yyVAL.list = append(yyDollar[1].list, _default) + comments.AddComments(_default, yyDollar[2].token.Comments()) } case 140: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:743 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:900 { + yyVAL.node = yyDollar[1].node } case 141: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:744 + //line php5/php5.y:902 { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 142: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:745 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:912 { + yyVAL.list = []node.Node{} } case 143: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:750 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:914 { + _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) + comments.AddComments(_elseIf, yyDollar[2].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, _elseIf) } case 144: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:751 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:926 { + yyVAL.list = []node.Node{} } case 145: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:751 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:928 { + stmts := stmt.NewStmtList(yyDollar[5].list) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) + + _elseIf := stmt.NewAltElseIf(yyDollar[3].node, stmts) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) + comments.AddComments(_elseIf, yyDollar[2].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, _elseIf) } case 146: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:752 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:943 { + yyVAL.node = nil } case 147: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:752 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:945 { + yyVAL.node = stmt.NewElse(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 153: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:771 + case 148: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:955 { + yyVAL.node = nil + } + case 149: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:957 + { + stmts := stmt.NewStmtList(yyDollar[3].list) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) + + yyVAL.node = stmt.NewAltElse(stmts) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 154: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:771 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:981 + { + } + case 155: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:983 { } case 156: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:777 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:988 { } case 157: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:777 - { - } - case 166: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:806 - { - } - case 167: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:808 - { - } - case 168: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:813 - { - } - case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:814 + //line php5/php5.y:989 { } - case 170: + case 158: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:815 + //line php5/php5.y:990 { } - case 171: + case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:816 + //line php5/php5.y:991 { } - case 172: + case 160: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:822 + //line php5/php5.y:997 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } - case 173: + case 161: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:823 + //line php5/php5.y:998 { } - case 174: + case 162: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:824 + //line php5/php5.y:999 { } - case 177: + case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:834 + //line php5/php5.y:1009 { } - case 178: + case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:835 + //line php5/php5.y:1010 { } - case 179: + case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:836 + //line php5/php5.y:1011 { } - case 180: + case 168: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:837 + //line php5/php5.y:1012 { } - case 181: + case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:841 + //line php5/php5.y:1017 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 182: + case 170: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:842 + //line php5/php5.y:1019 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 183: + case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:848 + //line php5/php5.y:1025 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3253,25 +3383,25 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 184: + case 172: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:858 + //line php5/php5.y:1035 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 185: + case 173: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:864 + //line php5/php5.y:1041 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 186: + case 174: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:874 + //line php5/php5.y:1051 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3288,9 +3418,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 187: + case 175: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:891 + //line php5/php5.y:1068 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3307,9 +3437,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 188: + case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:908 + //line php5/php5.y:1085 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3326,9 +3456,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 189: + case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:925 + //line php5/php5.y:1102 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3345,274 +3475,275 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 192: + case 180: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:952 + //line php5/php5.y:1129 { } - case 196: + case 184: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:1132 + { + } + case 185: + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:1134 + { + } + case 187: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1142 + { + } + case 188: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1143 { } case 197: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:957 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1167 + { + } + case 198: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1171 { } case 199: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:965 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1172 { } case 200: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1176 + { + } + case 201: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1177 + { + } + case 202: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:966 + //line php5/php5.y:1181 + { + } + case 203: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1185 + { + } + case 204: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1186 + { + } + case 205: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1190 + { + } + case 206: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1191 + { + } + case 207: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1195 + { + } + case 208: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1196 { } case 209: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:990 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1200 { } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:1201 { } case 211: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:995 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1205 { } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:1206 { } case 213: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1000 + //line php5/php5.y:1210 { } case 214: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1004 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1211 { } case 215: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1008 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1215 { } case 216: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1009 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1216 { } case 217: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1013 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1217 { } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1014 + //line php5/php5.y:1218 { } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1018 + //line php5/php5.y:1219 { } case 220: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1019 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1220 { } case 221: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1023 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1224 { } case 222: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1024 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1225 { } case 223: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1028 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1226 { } case 224: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1029 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1227 { } case 225: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1033 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1231 { } case 226: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1034 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1232 { } case 227: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1038 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1237 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1239 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 229: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1040 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1245 { + yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1041 + //line php5/php5.y:1247 { + yyVAL.list = yyDollar[1].list } case 231: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1042 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1252 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1254 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 233: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1047 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1258 { } case 234: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1048 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1259 { } case 235: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1049 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1263 { } case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1264 { } case 237: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1054 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1268 { } case 238: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1055 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1268 { } case 239: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1059 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1269 { } case 240: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1060 + //line php5/php5.y:1270 { } case 241: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1274 { } case 242: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1066 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1275 { } case 243: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1070 + //line php5/php5.y:1276 { } case 244: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1070 - { - } - case 245: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1071 - { - } - case 246: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1075 - { - } - case 247: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1076 - { - } - case 248: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1080 - { - } - case 249: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 - { - } - case 250: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1085 - { - } - case 251: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1085 - { - } - case 252: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1086 - { - } - case 253: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1087 - { - } - case 254: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1091 - { - } - case 255: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1092 - { - } - case 256: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1093 - { - } - case 257: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1098 + //line php5/php5.y:1281 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3624,9 +3755,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 258: + case 245: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1296 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3636,472 +3767,472 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 246: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1305 + { + } + case 247: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1306 + { + } + case 248: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1307 + { + } + case 249: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1307 + { + } + case 250: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1308 + { + } + case 251: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1309 + { + } + case 252: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1310 + { + } + case 253: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1311 + { + } + case 254: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1312 + { + } + case 255: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1313 + { + } + case 256: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1314 + { + } + case 257: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1315 + { + } + case 258: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1316 + { + } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1317 { } case 260: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1123 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1318 { } case 261: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1124 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1319 { } case 262: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1124 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1320 { } case 263: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1125 + //line php5/php5.y:1321 { } case 264: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1126 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1322 { } case 265: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1127 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1323 { } case 266: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1128 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1324 { } case 267: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1129 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1325 { } case 268: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1130 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1325 { } case 269: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1131 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1326 { } case 270: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1132 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1326 { } case 271: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1133 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1327 { } case 272: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1134 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1327 { } case 273: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1135 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1328 { } case 274: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1136 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1328 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1137 + //line php5/php5.y:1329 { } case 276: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1138 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1330 { } case 277: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1139 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1331 { } case 278: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1140 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1332 { } case 279: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1141 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1333 { } case 280: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1142 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1334 { } case 281: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1142 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1335 { } case 282: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1143 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1336 { } case 283: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1143 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1337 { } case 284: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1144 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1338 { } case 285: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1144 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1339 { } case 286: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1145 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1340 { } case 287: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1145 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1341 { } case 288: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1146 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1342 { } case 289: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1147 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1343 { } case 290: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1148 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1344 { } case 291: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1149 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1345 { } case 292: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1150 + //line php5/php5.y:1346 { } case 293: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1347 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1152 + //line php5/php5.y:1348 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1153 + //line php5/php5.y:1349 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1154 + //line php5/php5.y:1350 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1155 + //line php5/php5.y:1351 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1156 + //line php5/php5.y:1352 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1157 + //line php5/php5.y:1353 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1354 { } case 301: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1159 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1355 { } case 302: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1160 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1357 { + yyVAL.node = yyDollar[1].node } case 303: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1161 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1358 { } case 304: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1162 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1358 { } case 305: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1163 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1359 { } case 306: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1164 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1360 { } case 307: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1165 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1361 { } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1166 + //line php5/php5.y:1362 { } case 309: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1167 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1363 { } case 310: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1168 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1364 { } case 311: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1169 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1365 { } case 312: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1170 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1366 { } case 313: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1171 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1367 { } case 314: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1172 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1368 { } case 315: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1174 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1369 { - yyVAL.node = yyDollar[1].node } case 316: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1175 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1370 { } case 317: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1175 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1371 { } case 318: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1176 + //line php5/php5.y:1372 { } case 319: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1177 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1373 { } case 320: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1178 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1373 { } case 321: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1179 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1374 { + yyVAL.node = yyDollar[1].node } case 322: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1180 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1375 { } case 323: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1181 + //line php5/php5.y:1376 { } case 324: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1182 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1377 { } case 325: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1183 + //line php5/php5.y:1378 { } case 326: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1184 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1379 { } case 327: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1185 + //line php5/php5.y:1380 { } case 328: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1186 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1382 { } case 329: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1187 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1383 { } case 330: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1188 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1385 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1189 + //line php5/php5.y:1389 { } case 332: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1190 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1390 { } case 333: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1190 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1391 { } case 334: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1191 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1392 { - yyVAL.node = yyDollar[1].node } case 335: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1192 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1397 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 336: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1193 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1403 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 337: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1194 - { - } - case 338: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1195 - { - } - case 339: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1196 - { - } - case 340: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1197 - { - } - case 341: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1199 - { - } - case 342: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1200 - { - } - case 343: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1202 - { - } - case 344: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1206 - { - } - case 345: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1207 - { - } - case 346: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1208 - { - } - case 347: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1209 - { - } - case 348: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1214 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 349: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1220 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 350: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1226 + //line php5/php5.y:1409 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4111,51 +4242,51 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[str]) } - case 351: + case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1236 + //line php5/php5.y:1419 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 352: + case 339: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1245 + //line php5/php5.y:1428 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 353: + case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1251 + //line php5/php5.y:1434 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 354: + case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1260 + //line php5/php5.y:1443 { yyVAL.token = yyDollar[1].token } - case 355: + case 342: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1448 { yyVAL.list = []node.Node{} } - case 356: + case 343: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1267 + //line php5/php5.y:1450 { yyVAL.list = yyDollar[3].list } - case 357: + case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1272 + //line php5/php5.y:1455 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4171,9 +4302,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 358: + case 345: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1288 + //line php5/php5.y:1471 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4189,9 +4320,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 359: + case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1304 + //line php5/php5.y:1487 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4207,9 +4338,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 360: + case 347: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1320 + //line php5/php5.y:1503 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4225,117 +4356,117 @@ yydefault: yyVAL.list = []node.Node{use} } - case 361: + case 348: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1521 { } - case 362: + case 349: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1339 + //line php5/php5.y:1522 { } - case 363: + case 350: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1340 + //line php5/php5.y:1523 { } - case 364: + case 351: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1524 { } - case 365: + case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1342 + //line php5/php5.y:1525 { } - case 366: + case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1343 + //line php5/php5.y:1526 { } - case 367: + case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1344 + //line php5/php5.y:1527 { } - case 368: + case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1528 { } - case 369: + case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1350 + //line php5/php5.y:1533 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 370: + case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1356 + //line php5/php5.y:1539 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 371: + case 358: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1362 + //line php5/php5.y:1545 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 372: + case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1368 + //line php5/php5.y:1551 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 373: + case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1377 + //line php5/php5.y:1560 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 374: + case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1566 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 375: + case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1572 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 376: + case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1398 + //line php5/php5.y:1581 { yyVAL.node = yyDollar[1].node } - case 377: + case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1400 + //line php5/php5.y:1583 { yyVAL.node = yyDollar[1].node } - case 378: + case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1405 + //line php5/php5.y:1588 { yyVAL.node = yyDollar[1].node @@ -4365,174 +4496,174 @@ yydefault: } } } - case 379: + case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1435 + //line php5/php5.y:1618 { yyVAL.node = yyDollar[1].node } - case 380: + case 367: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1441 + //line php5/php5.y:1624 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } - case 381: + case 368: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1443 + //line php5/php5.y:1626 { yyVAL.objectPropertyList = []objectProperty{} } - case 382: + case 369: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1449 + //line php5/php5.y:1632 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } - case 383: + case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1454 + //line php5/php5.y:1637 { yyVAL.node = nil } - case 384: + case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1639 { yyVAL.node = nil } - case 385: + case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1458 + //line php5/php5.y:1641 { yyVAL.node = yyDollar[1].node } - case 386: + case 373: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1462 + //line php5/php5.y:1645 { } - case 387: + case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1463 + //line php5/php5.y:1646 { } - case 388: + case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1464 + //line php5/php5.y:1647 { } - case 389: + case 376: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1469 + //line php5/php5.y:1652 { yyVAL.nodesWithEndToken = nil } - case 390: + case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1471 + //line php5/php5.y:1654 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 391: + case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1659 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 392: + case 379: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1665 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 393: + case 380: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1671 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 394: + case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1494 + //line php5/php5.y:1677 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 395: + case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1500 + //line php5/php5.y:1683 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 396: + case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1506 + //line php5/php5.y:1689 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 397: + case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1512 + //line php5/php5.y:1695 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 398: + case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1518 + //line php5/php5.y:1701 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 399: + case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1524 + //line php5/php5.y:1707 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 400: + case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1530 + //line php5/php5.y:1713 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 401: + case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1536 + //line php5/php5.y:1719 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 402: + case 389: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1541 + //line php5/php5.y:1724 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 403: + case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1550 + //line php5/php5.y:1733 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4542,259 +4673,259 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 404: + case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1562 + //line php5/php5.y:1745 + { + } + case 392: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1749 + { + } + case 393: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1750 + { + } + case 394: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1751 + { + } + case 395: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1752 + { + } + case 396: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1753 + { + } + case 397: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1754 + { + } + case 398: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1755 + { + } + case 399: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1756 + { + } + case 400: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1757 + { + } + case 401: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1758 + { + } + case 402: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1762 + { + } + case 403: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1763 + { + } + case 404: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1764 { } case 405: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1566 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1765 { } case 406: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1567 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1766 { } case 407: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1568 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1767 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1569 + //line php5/php5.y:1768 { } case 409: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1769 { } case 410: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1571 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1770 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1572 + //line php5/php5.y:1771 { } case 412: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1573 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1772 { } case 413: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1574 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1773 { } case 414: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1575 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1774 { } case 415: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1579 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1775 { } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1580 + //line php5/php5.y:1776 { } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1581 + //line php5/php5.y:1777 { } case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1582 + //line php5/php5.y:1778 { } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1583 + //line php5/php5.y:1779 { } case 420: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1584 + //line php5/php5.y:1780 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1585 + //line php5/php5.y:1781 { } case 422: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1586 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1782 { } case 423: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1587 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1783 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1588 + //line php5/php5.y:1784 { } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1589 + //line php5/php5.y:1785 { } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1786 { } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1591 + //line php5/php5.y:1787 { } case 428: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1592 + //line php5/php5.y:1788 { } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1593 + //line php5/php5.y:1789 { } case 430: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1594 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1790 { } case 431: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1595 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1791 { } case 432: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1596 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1792 { } case 433: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1597 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1793 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1598 + //line php5/php5.y:1794 { } case 435: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1599 - { - } - case 436: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1600 - { - } - case 437: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1601 - { - } - case 438: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1602 - { - } - case 439: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1603 - { - } - case 440: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1604 - { - } - case 441: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1605 - { - } - case 442: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1606 - { - } - case 443: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1607 - { - } - case 444: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1608 - { - } - case 445: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1609 - { - } - case 446: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1610 - { - } - case 447: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1611 - { - } - case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1616 + //line php5/php5.y:1799 { yyVAL.node = yyDollar[1].node } - case 449: + case 436: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1801 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 450: + case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1624 + //line php5/php5.y:1807 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 451: + case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1813 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 452: + case 439: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1639 + //line php5/php5.y:1822 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4804,303 +4935,303 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 453: + case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1649 + //line php5/php5.y:1832 { yyVAL.node = yyDollar[1].node } - case 454: + case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1651 + //line php5/php5.y:1834 { yyVAL.node = yyDollar[1].node } - case 455: + case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1653 + //line php5/php5.y:1836 { yyVAL.node = yyDollar[1].node } - case 456: + case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1655 + //line php5/php5.y:1838 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 457: + case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1661 + //line php5/php5.y:1844 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 458: + case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1667 + //line php5/php5.y:1850 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 459: + case 446: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1675 + //line php5/php5.y:1858 { } + case 447: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1859 + { + } + case 450: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1868 + { + } + case 451: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1869 + { + } + case 452: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1870 + { + } + case 453: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1871 + { + } + case 454: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1876 + { + yyVAL.node = yyDollar[1].node + } + case 455: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1878 + { + yyVAL.node = yyDollar[1].node + } + case 456: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1883 + { + yyVAL.node = yyDollar[2].node + } + case 457: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1885 + { + yyVAL.node = yyDollar[2].node + } + case 458: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1891 + { + yyVAL.node = yyDollar[1].node + } + case 459: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1899 + { + yyVAL.node = yyDollar[1].node + } case 460: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1676 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1906 + { + yyVAL.node = yyDollar[1].node + } + case 461: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1913 { } + case 462: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1915 + { + yyVAL.node = yyDollar[1].node + } case 463: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1685 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1919 { } case 464: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1686 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1920 { } case 465: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1687 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1925 { } case 466: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1688 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1925 { } case 467: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1693 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1929 { - yyVAL.node = yyDollar[1].node } case 468: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1695 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1930 { - yyVAL.node = yyDollar[1].node } case 469: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1700 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1934 { - yyVAL.node = yyDollar[2].node } case 470: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1702 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1935 { - yyVAL.node = yyDollar[2].node } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1708 + //line php5/php5.y:1939 { - yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1716 + //line php5/php5.y:1940 { - yyVAL.node = yyDollar[1].node } case 473: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1723 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1941 { - yyVAL.node = yyDollar[1].node } case 474: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1730 - { - } - case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1732 + //line php5/php5.y:1946 { yyVAL.node = yyDollar[1].node } - case 476: + case 475: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1736 + //line php5/php5.y:1948 { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 476: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1961 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 477: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1737 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1967 { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 478: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1742 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1977 { + yyVAL.node = yyDollar[1].node } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1742 + //line php5/php5.y:1982 { } case 480: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1746 + //line php5/php5.y:1984 { } case 481: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1747 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1988 { + yyVAL.node = yyDollar[1].node } case 482: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1751 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1989 { + yyVAL.node = yyDollar[1].node } case 483: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1752 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1990 { + yyVAL.node = yyDollar[1].node } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1756 + //line php5/php5.y:1996 { + yyVAL.node = yyDollar[1].node } case 485: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1757 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1998 { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } case 486: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1758 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2008 { + yyVAL.node = yyDollar[1].node } case 487: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1763 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2013 { - yyVAL.node = yyDollar[1].node + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 488: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1765 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2019 { - yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) - - for _, n := range yyDollar[1].simpleIndirectReference.all { - positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) - } - - yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 489: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1778 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2025 { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + yyVAL.node = yyDollar[1].node } case 490: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1784 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1794 - { - yyVAL.node = yyDollar[1].node - } - case 492: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1799 - { - } - case 493: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1801 - { - } - case 494: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1805 - { - yyVAL.node = yyDollar[1].node - } - case 495: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1806 - { - yyVAL.node = yyDollar[1].node - } - case 496: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1807 - { - yyVAL.node = yyDollar[1].node - } - case 497: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1813 - { - yyVAL.node = yyDollar[1].node - } - case 498: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1815 - { - yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) - - for _, n := range yyDollar[1].simpleIndirectReference.all { - positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) - } - - yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] - } - case 499: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1825 - { - yyVAL.node = yyDollar[1].node - } - case 500: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1830 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 501: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1836 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 502: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1842 - { - yyVAL.node = yyDollar[1].node - } - case 503: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1848 + //line php5/php5.y:2031 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5110,77 +5241,77 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 504: + case 491: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1858 + //line php5/php5.y:2041 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 505: + case 492: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1866 + //line php5/php5.y:2049 { yyVAL.node = nil } - case 506: + case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1867 + //line php5/php5.y:2050 { yyVAL.node = yyDollar[1].node } - case 507: + case 494: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1873 + //line php5/php5.y:2056 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } - case 508: + case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1875 + //line php5/php5.y:2058 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } - case 509: + case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1883 + //line php5/php5.y:2066 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } - case 510: + case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1888 + //line php5/php5.y:2071 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } - case 511: + case 498: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1893 + //line php5/php5.y:2076 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } - case 512: + case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1901 + //line php5/php5.y:2084 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 513: + case 500: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1907 + //line php5/php5.y:2090 { yyVAL.node = yyDollar[2].node } - case 514: + case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1912 + //line php5/php5.y:2095 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5188,9 +5319,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 515: + case 502: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1920 + //line php5/php5.y:2103 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5202,53 +5333,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 516: + case 503: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:2118 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 517: + case 504: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1937 + //line php5/php5.y:2120 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 518: + case 505: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1943 + //line php5/php5.y:2126 { yyVAL.node = yyDollar[1].node } - case 519: + case 506: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1945 + //line php5/php5.y:2128 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 520: + case 507: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1951 + //line php5/php5.y:2134 { yyVAL.node = nil } - case 521: + case 508: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1957 + //line php5/php5.y:2140 { yyVAL.list = nil } - case 522: + case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1959 + //line php5/php5.y:2142 { yyVAL.list = yyDollar[1].list } - case 523: + case 510: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1964 + //line php5/php5.y:2147 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5256,9 +5387,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 524: + case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1972 + //line php5/php5.y:2155 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5266,9 +5397,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 525: + case 512: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1980 + //line php5/php5.y:2163 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5276,9 +5407,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 526: + case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:2171 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5286,9 +5417,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 527: + case 514: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1996 + //line php5/php5.y:2179 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5296,9 +5427,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 528: + case 515: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2004 + //line php5/php5.y:2187 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5306,9 +5437,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 529: + case 516: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2012 + //line php5/php5.y:2195 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5316,9 +5447,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 530: + case 517: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2020 + //line php5/php5.y:2203 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5326,39 +5457,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 531: + case 518: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2031 + //line php5/php5.y:2214 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 532: + case 519: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2033 + //line php5/php5.y:2216 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 533: + case 520: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2040 + //line php5/php5.y:2223 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 534: + case 521: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2042 + //line php5/php5.y:2225 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 535: + case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2052 + //line php5/php5.y:2235 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5368,9 +5499,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 536: + case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2062 + //line php5/php5.y:2245 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5383,9 +5514,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 537: + case 524: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2075 + //line php5/php5.y:2258 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5401,17 +5532,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 538: + case 525: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2091 + //line php5/php5.y:2274 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 539: + case 526: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2097 + //line php5/php5.y:2280 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5424,23 +5555,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 540: + case 527: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2111 + //line php5/php5.y:2294 { yyVAL.node = yyDollar[2].node } - case 541: + case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2116 + //line php5/php5.y:2299 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 542: + case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2122 + //line php5/php5.y:2305 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5452,9 +5583,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 543: + case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2134 + //line php5/php5.y:2317 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5464,97 +5595,97 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 544: + case 531: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2147 + //line php5/php5.y:2330 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 545: + case 532: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2153 + //line php5/php5.y:2336 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 546: + case 533: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2159 + //line php5/php5.y:2342 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 547: + case 534: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2165 + //line php5/php5.y:2348 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 548: + case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2171 + //line php5/php5.y:2354 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 549: + case 536: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2177 + //line php5/php5.y:2360 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 550: + case 537: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2183 + //line php5/php5.y:2366 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 551: + case 538: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2189 + //line php5/php5.y:2372 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 552: + case 539: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2198 + //line php5/php5.y:2381 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 553: + case 540: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2200 + //line php5/php5.y:2383 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 554: + case 541: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2204 + //line php5/php5.y:2387 { yyVAL.node = yyDollar[1].node } - case 555: + case 542: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2205 + //line php5/php5.y:2388 { yyVAL.node = yyDollar[1].node } - case 556: + case 543: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2210 + //line php5/php5.y:2393 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5564,9 +5695,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 557: + case 544: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2220 + //line php5/php5.y:2403 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5576,9 +5707,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 558: + case 545: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2233 + //line php5/php5.y:2416 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5588,9 +5719,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 559: + case 546: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2246 + //line php5/php5.y:2429 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index ed1b8da..20757e0 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -205,15 +205,17 @@ import ( %type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member %type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr %type exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration +%type else_single new_else_single while_statement for_statement unset_variable %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list -%type array_pair_list assignment_list lexical_var_list lexical_vars +%type array_pair_list assignment_list lexical_var_list lexical_vars elseif_list new_elseif_list non_empty_for_expr +%type for_expr case_list echo_expr_list unset_variables %type simple_indirect_reference %type foreach_variable %type object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property -%type ctor_arguments function_call_parameter_list +%type ctor_arguments function_call_parameter_list switch_case_list %% @@ -558,27 +560,135 @@ statement: ; unticked_statement: - '{' inner_statement_list '}' { } - | T_IF parenthesis_expr { } statement { } elseif_list else_single { } - | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } - | T_WHILE { } parenthesis_expr { } while_statement { } - | T_DO { } statement T_WHILE { } parenthesis_expr ';' { } - | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement { } - | T_SWITCH parenthesis_expr switch_case_list { } - | T_BREAK ';' { } - | T_BREAK expr ';' { } - | T_CONTINUE ';' { } - | T_CONTINUE expr ';' { } - | T_RETURN ';' { } - | T_RETURN expr_without_variable ';' { } - | T_RETURN variable ';' { } - | yield_expr ';' { } - | T_GLOBAL global_var_list ';' { } - | T_STATIC static_var_list ';' { } - | T_ECHO echo_expr_list ';' { } - | T_INLINE_HTML { } - | expr ';' { $$ = $1 } - | T_UNSET '(' unset_variables ')' ';' { } + '{' inner_statement_list '}' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_IF parenthesis_expr statement elseif_list else_single + { + $$ = stmt.NewIf($2, $3, $4, $5) + + if $5 != nil { + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) + } else if len($4) > 0 { + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $4)) + } else { + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) + } + + comments.AddComments($$, $1.Comments()) + } + | T_IF parenthesis_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' + { + stmts := stmt.NewStmtList($4) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($4)) + + $$ = stmt.NewIf($2, stmts, $5, $6) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) + comments.AddComments($$, $1.Comments()) + } + | T_WHILE parenthesis_expr while_statement + { + $$ = stmt.NewWhile($1, $2, $3) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_DO statement T_WHILE parenthesis_expr ';' + { + $$ = stmt.NewDo($2, $4) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) + comments.AddComments($$, $1.Comments()) + } + | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement + { + $$ = stmt.NewFor($3, $5, $7, $9) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) + comments.AddComments($$, $1.Comments()) + } + | T_SWITCH parenthesis_expr switch_case_list + { + $$ = stmt.NewSwitch($1, $2, $3.nodes) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) + comments.AddComments($$, $1.Comments()) + } + | T_BREAK ';' + { + $$ = stmt.NewBreak(nil) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_BREAK expr ';' + { + $$ = stmt.NewBreak($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_CONTINUE ';' + { + $$ = stmt.NewContinue(nil) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_CONTINUE expr ';' + { + $$ = stmt.NewContinue($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_RETURN ';' + { + $$ = stmt.NewReturn(nil) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_RETURN expr_without_variable ';' + { + $$ = stmt.NewReturn($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_RETURN variable ';' + { + $$ = stmt.NewReturn($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | yield_expr ';' + { $$ = $1 } + | T_GLOBAL global_var_list ';' + { + $$ = stmt.NewGlobal($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_STATIC static_var_list ';' + { + $$ = stmt.NewStatic($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_ECHO echo_expr_list ';' + { + $$ = stmt.NewEcho($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_INLINE_HTML + { + $$ = stmt.NewInlineHtml($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | expr ';' + { $$ = $1 } + | T_UNSET '(' unset_variables ')' ';' + { + $$ = stmt.NewUnset($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) + comments.AddComments($$, $1.Comments()) + } | T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } | T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } | T_DECLARE { } '(' declare_list ')' declare_statement { } @@ -617,11 +727,14 @@ additional_catch: unset_variables: unset_variable + { $$ = []node.Node{$1} } | unset_variables ',' unset_variable + { $$ = append($1, $3) } ; unset_variable: - variable { } + variable + { $$ = $1 } ; function_declaration_statement: @@ -716,7 +829,13 @@ foreach_variable: for_statement: statement - | ':' inner_statement_list T_ENDFOR ';' + { $$ = $1; } + | ':' inner_statement_list T_ENDFOR ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; @@ -739,17 +858,34 @@ declare_list: switch_case_list: - '{' case_list '}' { } - | '{' ';' case_list '}' { } - | ':' case_list T_ENDSWITCH ';' { } - | ':' ';' case_list T_ENDSWITCH ';' { } + '{' case_list '}' + { $$ = &nodesWithEndToken{$2, $3} } + | '{' ';' case_list '}' + { $$ = &nodesWithEndToken{$3, $4} } + | ':' case_list T_ENDSWITCH ';' + { $$ = &nodesWithEndToken{$2, $4} } + | ':' ';' case_list T_ENDSWITCH ';' + { $$ = &nodesWithEndToken{$3, $5} } ; case_list: - /* empty */ { } - | case_list T_CASE expr case_separator { } inner_statement_list { } - | case_list T_DEFAULT case_separator { } inner_statement_list { } + /* empty */ + { $$ = []node.Node{} } + | case_list T_CASE expr case_separator inner_statement_list + { + _case := stmt.NewCase($3, $5) + positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition($2, $5)) + $$ = append($1, _case) + comments.AddComments(_case, $2.Comments()) + } + | case_list T_DEFAULT case_separator inner_statement_list + { + _default := stmt.NewDefault($4) + positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition($2, $4)) + $$ = append($1, _default) + comments.AddComments(_default, $2.Comments()) + } ; @@ -761,32 +897,71 @@ case_separator: while_statement: statement + { $$ = $1 } | ':' inner_statement_list T_ENDWHILE ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + } ; elseif_list: /* empty */ - | elseif_list T_ELSEIF parenthesis_expr { } statement { } + { $$ = []node.Node{} } + | elseif_list T_ELSEIF parenthesis_expr statement + { + _elseIf := stmt.NewElseIf($3, $4) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition($2, $4)) + comments.AddComments(_elseIf, $2.Comments()) + + $$ = append($1, _elseIf) + } ; new_elseif_list: /* empty */ - | new_elseif_list T_ELSEIF parenthesis_expr ':' { } inner_statement_list { } + { $$ = []node.Node{} } + | new_elseif_list T_ELSEIF parenthesis_expr ':' inner_statement_list + { + stmts := stmt.NewStmtList($5) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($5)) + + _elseIf := stmt.NewAltElseIf($3, stmts) + positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition($2, $5)) + comments.AddComments(_elseIf, $2.Comments()) + + $$ = append($1, _elseIf) + } ; else_single: /* empty */ + { $$ = nil } | T_ELSE statement + { + $$ = stmt.NewElse($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; new_else_single: /* empty */ + { $$ = nil } | T_ELSE ':' inner_statement_list + { + stmts := stmt.NewStmtList($3) + positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($3)) + + $$ = stmt.NewAltElse(stmts) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } ; @@ -838,8 +1013,10 @@ function_call_parameter: ; global_var_list: - global_var_list ',' global_var { $$ = append($1, $3) } - | global_var { $$ = []node.Node{$1} } + global_var_list ',' global_var + { $$ = append($1, $3) } + | global_var + { $$ = []node.Node{$1} } ; @@ -1056,19 +1233,25 @@ class_constant_declaration: ; echo_expr_list: - echo_expr_list ',' expr { } - | expr { } + echo_expr_list ',' expr + { $$ = append($1, $3) } + | expr + { $$ = []node.Node{$1} } ; for_expr: - /* empty */ { } - | non_empty_for_expr { } + /* empty */ + { $$ = nil } + | non_empty_for_expr + { $$ = $1 } ; non_empty_for_expr: - non_empty_for_expr ',' { } expr { } - | expr { } + non_empty_for_expr ',' expr + { $$ = append($1, $3) } + | expr + { $$ = []node.Node{$1} } ; chaining_method_or_property: diff --git a/php7/php7.go b/php7/php7.go index 27fc7b2..4ce51ca 100644 --- a/php7/php7.go +++ b/php7/php7.go @@ -3410,7 +3410,7 @@ yydefault: yyDollar = yyS[yypt-5 : yypt+1] //line php7/php7.y:904 { - yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node) + yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node, nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } @@ -3448,7 +3448,7 @@ yydefault: { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) - yyVAL.node = stmt.NewAltIf(yyDollar[3].node, stmts) + yyVAL.node = stmt.NewAltIf(yyDollar[3].node, stmts, nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list)) comments.AddComments(stmts, yyDollar[5].token.Comments()) diff --git a/php7/php7.y b/php7/php7.y index df787b6..bf1e871 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -902,7 +902,7 @@ while_statement: if_stmt_without_else: T_IF '(' expr ')' statement { - $$ = stmt.NewIf($3, $5) + $$ = stmt.NewIf($3, $5, nil, nil) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) comments.AddComments($$, $1.Comments()) } @@ -935,7 +935,7 @@ alt_if_stmt_without_else: { stmts := stmt.NewStmtList($6) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($6)) - $$ = stmt.NewAltIf($3, stmts) + $$ = stmt.NewAltIf($3, stmts, nil, nil) positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $6)) comments.AddComments(stmts, $5.Comments()) From 7b8c30d9ee2c5368c4b0975cbb3baee21035cf24 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sat, 3 Feb 2018 14:41:34 +0200 Subject: [PATCH 20/31] php5 syntax --- php5/php5.go | 1100 ++++++++++++++++++++++++++------------------------ php5/php5.y | 38 +- 2 files changed, 597 insertions(+), 541 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index b72496a..4eb75e8 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2440 +//line php5/php5.y:2466 //line yacctab:1 var yyExca = [...]int{ @@ -1550,11 +1550,11 @@ var yyPgo = [...]int{ 31, 1137, 1135, 1134, 37, 1133, 47, 41, 1132, 1131, 1130, 1129, 58, 1124, 1123, 29, 1122, 30, 64, 23, 1121, 688, 33, 1120, 11, 1104, 1100, 24, 1099, 54, - 49, 36, 1097, 1096, 1094, 1093, 1092, 34, 60, 0, - 1090, 1089, 1087, 182, 1083, 1081, 590, 1079, 1078, 50, - 15, 1077, 8, 1076, 1074, 1073, 25, 38, 1072, 1071, - 139, 21, 7, 1070, 1069, 1068, 16, 130, 1067, 1066, - 27, 5, 1065, 1064, 1061, 1060, 1059, 1058, 1057, 1054, + 49, 36, 1097, 1096, 1094, 1093, 1092, 34, 5, 60, + 0, 1090, 1089, 1087, 182, 1083, 1081, 590, 1079, 1078, + 50, 15, 1077, 8, 1076, 1074, 1073, 25, 38, 1072, + 1071, 139, 21, 27, 7, 1070, 1069, 1068, 16, 130, + 1067, 1066, 1065, 1064, 1061, 1060, 1059, 1058, 1057, 1054, 1053, 1051, 1050, 1049, 2, 1048, 1047, 1045, 1043, 19, 1042, 1040, 3, 1036, 1034, 1033, 1032, 13, 1031, 1030, 1029, 20, 22, 1028, 14, 1027, 1026, 48, 1025, 1023, @@ -1567,30 +1567,30 @@ var yyPgo = [...]int{ } var yyR1 = [...]int{ - 0, 89, 58, 58, 59, 59, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 60, 60, 3, - 3, 3, 3, 61, 61, 4, 4, 4, 4, 62, - 62, 5, 5, 5, 5, 52, 52, 63, 63, 23, + 0, 91, 59, 59, 60, 60, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 61, 61, 3, + 3, 3, 3, 62, 62, 4, 4, 4, 4, 63, + 63, 5, 5, 5, 5, 52, 52, 64, 64, 23, 23, 23, 23, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 92, 25, 25, 25, 25, 25, 95, 97, 98, 99, 100, 95, 96, 102, 96, 101, 101, 103, 103, 105, 106, 104, - 79, 79, 57, 50, 51, 109, 109, 110, 110, 111, + 80, 80, 57, 50, 51, 109, 109, 110, 110, 111, 107, 115, 108, 119, 108, 113, 113, 113, 113, 114, - 114, 118, 120, 120, 116, 116, 121, 121, 90, 90, - 81, 81, 81, 56, 56, 91, 91, 94, 94, 93, - 93, 88, 88, 88, 88, 77, 77, 77, 122, 122, - 55, 55, 73, 73, 74, 74, 53, 53, 54, 54, + 114, 118, 120, 120, 116, 116, 121, 121, 83, 83, + 82, 82, 82, 56, 56, 58, 58, 94, 94, 93, + 93, 90, 90, 90, 90, 78, 78, 78, 122, 122, + 55, 55, 74, 74, 75, 75, 53, 53, 54, 54, 112, 112, 123, 123, 124, 124, 125, 125, 125, 125, - 87, 87, 87, 126, 126, 127, 127, 127, 127, 64, - 64, 26, 26, 26, 65, 65, 65, 65, 117, 117, + 89, 89, 89, 126, 126, 127, 127, 127, 127, 65, + 65, 26, 26, 26, 66, 66, 66, 66, 117, 117, 130, 128, 128, 128, 135, 128, 133, 137, 137, 138, 138, 139, 139, 140, 140, 141, 141, 142, 145, 145, 146, 146, 144, 143, 143, 147, 147, 136, 136, 129, 129, 134, 134, 149, 149, 148, 148, 148, 148, 148, - 148, 131, 131, 131, 131, 132, 132, 78, 78, 76, - 76, 75, 75, 150, 150, 152, 152, 154, 153, 153, + 148, 131, 131, 131, 131, 132, 132, 79, 79, 77, + 77, 76, 76, 150, 150, 152, 152, 154, 153, 153, 153, 155, 156, 155, 41, 14, 14, 14, 157, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 158, 14, 159, @@ -1601,10 +1601,10 @@ var yyR1 = [...]int{ 14, 14, 14, 14, 14, 14, 14, 14, 14, 166, 14, 14, 14, 14, 14, 14, 14, 168, 14, 169, 14, 49, 49, 49, 49, 46, 46, 46, 46, 45, - 45, 1, 72, 72, 71, 71, 71, 71, 22, 22, + 45, 1, 73, 73, 72, 72, 72, 72, 22, 22, 22, 22, 22, 22, 22, 22, 10, 10, 10, 10, - 44, 44, 44, 42, 42, 40, 40, 84, 84, 85, - 48, 48, 48, 167, 167, 167, 86, 86, 6, 6, + 44, 44, 44, 42, 42, 40, 40, 86, 86, 87, + 48, 48, 48, 167, 167, 167, 88, 88, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 27, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 172, 172, 172, 172, 172, 172, 172, 172, @@ -1616,12 +1616,12 @@ var yyR1 = [...]int{ 17, 18, 18, 176, 176, 177, 151, 178, 178, 180, 179, 175, 175, 175, 39, 39, 43, 43, 11, 21, 21, 19, 19, 19, 20, 20, 20, 9, 9, 9, - 8, 8, 12, 12, 82, 82, 83, 83, 83, 38, - 38, 80, 80, 70, 70, 37, 37, 37, 69, 69, - 68, 68, 68, 68, 68, 68, 68, 68, 66, 66, - 66, 66, 32, 32, 32, 32, 32, 32, 33, 33, - 33, 36, 36, 36, 36, 36, 36, 36, 36, 67, - 67, 35, 35, 29, 29, 30, 31, + 8, 8, 12, 12, 84, 84, 85, 85, 85, 38, + 38, 81, 81, 71, 71, 37, 37, 37, 70, 70, + 69, 69, 69, 69, 69, 69, 69, 69, 67, 67, + 67, 67, 32, 32, 32, 32, 32, 32, 33, 33, + 33, 36, 36, 36, 36, 36, 36, 36, 36, 68, + 68, 35, 35, 29, 29, 30, 31, } var yyR2 = [...]int{ @@ -1683,7 +1683,7 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -89, -58, -2, -24, -50, -51, 51, 79, 44, + -1000, -91, -59, -2, -24, -50, -51, 51, 79, 44, -52, -25, 10, -107, -108, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, -13, 48, 25, 27, 121, 40, 43, 36, -1, -113, @@ -1693,101 +1693,101 @@ var yyChk = [...]int{ 113, 6, 133, -28, -46, -45, 118, 96, -19, 91, 49, 50, 4, 5, 84, 85, 86, 11, -34, -31, -6, 117, 74, 62, 18, 60, 125, -20, -21, -22, - -29, -59, 82, -10, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -9, -80, -43, -11, -39, -8, 134, - 12, 123, -59, 119, 82, 10, -60, 37, 38, -3, - -59, 82, 121, 135, 122, 10, -63, -47, 123, -47, + -29, -60, 82, -10, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -9, -81, -43, -11, -39, -8, 134, + 12, 123, -60, 119, 82, 10, -61, 37, 38, -3, + -60, 82, 121, 135, 122, 10, -64, -47, 123, -47, -24, -1, 79, 123, -47, 121, -13, 97, 98, 121, - -13, 121, -14, -18, -13, 121, -64, -26, 12, 134, - -65, -1, 12, -78, -13, 121, 149, 150, 87, 89, + -13, 121, -14, -18, -13, 121, -65, -26, 12, 134, + -66, -1, 12, -79, -13, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, 160, 90, 127, 123, 123, -92, 119, -13, 10, -109, 128, 10, 10, -14, -18, -13, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -13, 104, 105, -17, -18, -59, 79, 82, + 147, 123, -13, 104, 105, -17, -18, -60, 79, 82, -10, -11, 98, -17, -13, -13, -13, -13, -41, -13, -49, -13, -13, -13, -13, -13, -13, -13, -48, 123, - -47, -166, 125, 125, -167, 17, -66, -32, 12, 76, - 77, -13, 57, -42, -10, -40, -59, 79, 82, -20, - -9, -80, -11, 123, 123, -13, -13, 123, -13, -13, - 125, -66, 17, 17, 75, -66, 125, 123, -69, -68, - -13, 128, 125, 125, 82, -87, 123, -59, 78, 125, - 119, -9, 134, 78, -87, 119, 124, 121, 119, -58, - -59, 121, 135, -61, -4, -59, 82, -62, -5, -59, - 82, 29, -59, 10, 136, -23, 120, -24, -50, -51, - 51, -24, 122, -55, -24, 122, 21, -109, -76, -75, - -13, -88, 119, 122, 121, 121, 121, 121, 121, 135, + -47, -166, 125, 125, -167, 17, -67, -32, 12, 76, + 77, -13, 57, -42, -10, -40, -60, 79, 82, -20, + -9, -81, -11, 123, 123, -13, -13, 123, -13, -13, + 125, -67, 17, 17, 75, -67, 125, 123, -70, -69, + -13, 128, 125, 125, 82, -89, 123, -60, 78, 125, + 119, -9, 134, 78, -89, 119, 124, 121, 119, -59, + -60, 121, 135, -62, -4, -60, 82, -63, -5, -60, + 82, 29, -60, 10, 136, -23, 120, -24, -50, -51, + 51, -24, 122, -55, -24, 122, 21, -109, -77, -76, + -13, -90, 119, 122, 121, 121, 121, 121, 121, 135, -15, 119, -18, 121, 135, -109, 136, 121, 135, -158, -159, -160, -161, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -42, -163, 122, -79, -57, -18, - -18, -14, 123, -63, 121, 121, 10, -168, -114, 55, + -13, -13, -13, -13, -42, -163, 122, -80, -57, -18, + -18, -14, 123, -64, 121, 121, 10, -168, -114, 55, -119, 58, -13, 128, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -70, -37, -18, 59, - 82, -59, 78, 78, 124, 124, 124, 124, -13, -12, + -13, -13, -13, -13, -13, -13, -71, -37, -18, 59, + 82, -60, 78, 78, 124, 124, 124, 124, -13, -12, -13, -12, 118, -32, -32, 17, 125, 57, -13, 11, - -18, -82, -83, -39, -38, -9, -80, 10, 119, -86, - -87, 78, 82, -59, 57, -9, 78, -67, -35, -18, - -14, -18, -14, -13, -12, 117, 75, 75, -12, -69, + -18, -84, -85, -39, -38, -9, -81, 10, 119, -88, + -89, 78, 82, -60, 57, -9, 78, -68, -35, -18, + -14, -18, -14, -13, -12, 117, 75, 75, -12, -70, 126, -174, 135, 58, -16, -18, -12, -12, 10, 124, - -126, -49, -127, -14, -18, 128, 83, -87, -38, -39, - 10, 52, -12, -13, -38, -39, 10, -13, 121, -58, - 120, -87, -3, 121, 135, 29, -59, 121, 135, 29, - -59, 10, 29, 136, -27, -170, -6, -30, -59, 79, + -126, -49, -127, -14, -18, 128, 83, -89, -38, -39, + 10, 52, -12, -13, -38, -39, 10, -13, 121, -59, + 120, -89, -3, 121, 135, 29, -60, 121, 135, 29, + -60, 10, 29, 136, -27, -170, -6, -30, -60, 79, 82, 60, 125, -7, 62, -172, 18, 74, -10, 131, - 132, 130, 129, 123, 123, -73, -63, -63, -47, 121, - 135, -77, 121, -77, 121, -26, -13, 12, -169, -27, + 132, 130, 129, 123, 123, -74, -64, -64, -47, 121, + 135, -78, 121, -78, 121, -26, -13, 12, -169, -27, -13, -13, -13, -13, -13, -13, -165, 124, 135, 29, - 29, -93, 10, 120, -111, 123, -115, -44, -59, 79, + 29, -93, 10, 120, -111, 123, -115, -44, -60, 79, 82, -120, 55, -14, -18, -18, 91, 124, 135, 123, - -59, -162, 126, 126, -33, 10, 13, 12, 10, 120, + -60, -162, 126, 126, -33, 10, 13, 12, 10, 120, 125, 120, -175, -179, -178, -180, 125, 119, -9, -13, - -39, -59, -82, -39, 124, 135, 124, 124, 124, 126, + -39, -60, -84, -39, 124, 135, 124, 124, 124, 126, 126, 124, -13, 128, -13, 128, 126, 126, 124, 135, - 124, -16, -13, -87, -87, 126, 120, -87, -87, 120, + 124, -16, -13, -89, -89, 126, 120, -89, -89, 120, 120, -4, 10, 29, -5, 10, 29, 10, -27, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, - 154, 157, 159, 158, 160, 127, 82, -59, 123, -171, + 154, 157, 159, 158, 160, 127, 82, -60, 123, -171, -173, -170, 17, 78, -170, -170, -170, -170, -170, 124, - -53, 93, 94, -74, 22, 121, -76, -13, 120, 32, - 33, -77, 31, -77, 120, 136, 123, 122, -13, 121, - -57, -81, -18, 128, 59, -81, 124, 135, 136, -95, + -53, 93, 94, -75, 22, 121, -77, -13, 120, 32, + 33, -78, 31, -78, 120, 136, 123, 122, -13, 121, + -57, -82, -18, 128, 59, -82, 124, 135, 136, -95, 41, 123, -112, -123, -124, -125, 60, 61, -44, -116, - 56, 82, -59, 119, -121, -44, -42, 136, -37, -70, - -155, -156, 126, -13, -176, 125, 125, -87, -12, -13, - 120, -84, -35, 58, -16, -16, -127, 10, 10, -170, + 56, 82, -60, 119, -121, -44, -42, 136, -37, -71, + -155, -156, 126, -13, -176, 125, 125, -89, -12, -13, + 120, -86, -35, 58, -16, -16, -127, 10, 10, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, 122, -170, -59, -171, 126, + -170, -170, -170, -170, -170, 122, -170, -60, -171, 126, -174, 135, 58, 10, 52, 124, 121, -47, -24, -54, 93, 94, 121, 121, -13, -122, 122, 121, 120, 121, - 31, -27, -112, -164, -90, 58, -18, 123, -90, -94, + 31, -27, -112, -164, -83, 58, -18, 123, -83, -94, -24, 122, 10, -27, -96, 42, 123, -112, 124, 135, - -109, 119, -121, -59, -117, 135, -157, -13, 124, -153, + -109, 119, -121, -60, -117, 135, -157, -13, 124, -153, -152, -150, 125, -151, 57, 126, -151, -12, -12, 126, - 120, -85, 57, -13, 128, 126, -170, 122, 124, -170, - -170, -24, 95, -47, 122, -76, -122, -63, 121, 124, - -13, 124, -81, -70, 124, -63, 136, -102, -97, 124, - -72, 44, -124, -110, 83, -117, 120, -128, -129, -132, + 120, -87, 57, -13, 128, 126, -170, 122, 124, -170, + -170, -24, 95, -47, 122, -77, -122, -64, 121, 124, + -13, 124, -82, -71, 124, -64, 136, -102, -97, 124, + -73, 44, -124, -110, 83, -117, 120, -128, -129, -132, -133, -134, -149, 47, 38, 44, -148, 103, 102, 101, - 98, 99, 100, -44, -86, 125, -154, -151, -12, -82, - 120, 126, 126, -82, -16, -170, 58, 121, 122, -63, - 124, -63, -72, -91, -24, 122, 124, -91, 28, -27, + 98, 99, 100, -44, -88, 125, -154, -151, -12, -84, + 120, 126, 126, -84, -16, -170, 58, 121, 122, -64, + 124, -64, -73, -58, -24, 122, 124, -58, 28, -27, 119, -44, 119, 119, 123, 12, 120, -130, 121, 135, -1, -148, 10, -137, -44, -12, -150, 126, -177, -170, - -63, -56, -24, 122, 119, -63, 121, -63, -98, -63, - -63, -71, 12, 128, 136, -131, 12, 10, -109, 136, - -138, 135, 121, 119, 126, -175, -63, -63, 26, 120, + -64, -56, -24, 122, 119, -64, 121, -64, -98, -64, + -64, -72, 12, 128, 136, -131, 12, 10, -109, 136, + -138, 135, 121, 119, 126, -175, -64, -64, 26, 120, 12, 120, 120, 124, 135, 12, -27, 121, 135, 136, 136, 10, -27, -44, -139, -140, -141, -142, -143, -144, -146, -44, 10, 24, 120, 121, 124, 12, 128, 12, -27, -27, -135, 120, -141, 121, 121, 45, 29, 78, 121, -99, 12, 136, 123, -145, -44, -147, -148, 10, - 119, -27, -112, 135, 10, -63, 124, -44, 120, -136, - 121, 119, -100, -63, -101, -103, -104, 41, 120, -104, - 123, -44, -105, 12, 124, -106, 119, -63, 120, + 119, -27, -112, 135, 10, -64, 124, -44, 120, -136, + 121, 119, -100, -64, -101, -103, -104, 41, 120, -104, + 123, -44, -105, 12, 124, -106, 119, -64, 120, } var yyDef = [...]int{ @@ -2870,272 +2870,288 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:692 + //line php5/php5.y:693 { + if yyDollar[6].foreachVariable.node == nil { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) + } else { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].node, yyDollar[6].foreachVariable.byRef) + } + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:693 + //line php5/php5.y:703 { + if yyDollar[6].foreachVariable.node == nil { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) + } else { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].node, yyDollar[6].foreachVariable.byRef) + } + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:694 + //line php5/php5.y:712 { } case 69: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:694 + //line php5/php5.y:712 { } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:695 + //line php5/php5.y:713 { } case 71: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:696 + //line php5/php5.y:714 { } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:697 + //line php5/php5.y:715 { } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:698 + //line php5/php5.y:716 { } case 74: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:702 + //line php5/php5.y:720 { } case 75: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:703 + //line php5/php5.y:721 { } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:704 + //line php5/php5.y:722 { } case 77: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:705 + //line php5/php5.y:723 { } case 78: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:706 + //line php5/php5.y:724 { } case 79: yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:707 + //line php5/php5.y:725 { } case 80: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:710 + //line php5/php5.y:728 { } case 81: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:711 + //line php5/php5.y:729 { } case 82: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:711 + //line php5/php5.y:729 { } case 83: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:715 + //line php5/php5.y:733 { } case 84: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:716 + //line php5/php5.y:734 { } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:720 + //line php5/php5.y:738 { } case 86: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:721 + //line php5/php5.y:739 { } case 87: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:743 { } case 88: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:743 { } case 89: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:743 { } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:730 + //line php5/php5.y:748 { yyVAL.list = []node.Node{yyDollar[1].node} } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:732 + //line php5/php5.y:750 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 92: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:737 + //line php5/php5.y:755 { yyVAL.node = yyDollar[1].node } case 93: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:741 + //line php5/php5.y:759 { } case 94: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:745 + //line php5/php5.y:763 { } case 95: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:749 + //line php5/php5.y:767 { } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:750 + //line php5/php5.y:768 { } case 97: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:754 + //line php5/php5.y:772 { } case 98: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:755 + //line php5/php5.y:773 { } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:759 + //line php5/php5.y:777 { } case 100: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:761 + //line php5/php5.y:779 { } case 101: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:766 + //line php5/php5.y:784 { } case 102: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:770 + //line php5/php5.y:788 { } case 103: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:772 + //line php5/php5.y:790 { } case 104: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:776 + //line php5/php5.y:794 { } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:781 + //line php5/php5.y:799 { } case 106: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:782 + //line php5/php5.y:800 { } case 107: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:783 + //line php5/php5.y:801 { } case 108: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:784 + //line php5/php5.y:802 { } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:788 + //line php5/php5.y:806 { } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:807 { } case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:793 + //line php5/php5.y:811 { } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:807 + //line php5/php5.y:825 { } case 117: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:808 + //line php5/php5.y:826 { } case 118: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:812 + //line php5/php5.y:831 { + yyVAL.foreachVariable = foreachVariable{nil, false} } case 119: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:813 + //line php5/php5.y:833 { + yyVAL.foreachVariable = yyDollar[2].foreachVariable } case 120: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:818 + //line php5/php5.y:838 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:820 + //line php5/php5.y:840 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:822 + //line php5/php5.y:842 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3144,13 +3160,27 @@ yydefault: } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:832 + //line php5/php5.y:852 { yyVAL.node = yyDollar[1].node } case 124: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:834 + //line php5/php5.y:854 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 125: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:864 + { + yyVAL.node = yyDollar[1].node + } + case 126: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:866 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3158,47 +3188,47 @@ yydefault: } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:855 + //line php5/php5.y:881 { } case 130: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:856 + //line php5/php5.y:882 { } case 131: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:862 + //line php5/php5.y:888 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:864 + //line php5/php5.y:890 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 133: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:866 + //line php5/php5.y:892 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:868 + //line php5/php5.y:894 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:874 + //line php5/php5.y:900 { yyVAL.list = []node.Node{} } case 136: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:876 + //line php5/php5.y:902 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3207,7 +3237,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:883 + //line php5/php5.y:909 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3216,26 +3246,26 @@ yydefault: } case 140: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:900 + //line php5/php5.y:926 { yyVAL.node = yyDollar[1].node } case 141: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:902 + //line php5/php5.y:928 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 142: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:912 + //line php5/php5.y:938 { yyVAL.list = []node.Node{} } case 143: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:914 + //line php5/php5.y:940 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3245,13 +3275,13 @@ yydefault: } case 144: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:926 + //line php5/php5.y:952 { yyVAL.list = []node.Node{} } case 145: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:928 + //line php5/php5.y:954 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3264,13 +3294,13 @@ yydefault: } case 146: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:943 + //line php5/php5.y:969 { yyVAL.node = nil } case 147: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:945 + //line php5/php5.y:971 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3278,13 +3308,13 @@ yydefault: } case 148: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:981 { yyVAL.node = nil } case 149: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:957 + //line php5/php5.y:983 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3295,85 +3325,85 @@ yydefault: } case 154: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:1007 { } case 155: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:1009 { } case 156: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:988 + //line php5/php5.y:1014 { } case 157: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:1015 { } case 158: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:1016 { } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:1017 { } case 160: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:997 + //line php5/php5.y:1023 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 161: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:998 + //line php5/php5.y:1024 { } case 162: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:1025 { } case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1009 + //line php5/php5.y:1035 { } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1010 + //line php5/php5.y:1036 { } case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1037 { } case 168: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1012 + //line php5/php5.y:1038 { } case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1043 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 170: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1019 + //line php5/php5.y:1045 { yyVAL.list = []node.Node{yyDollar[1].node} } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1051 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3385,7 +3415,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1035 + //line php5/php5.y:1061 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3393,7 +3423,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1041 + //line php5/php5.y:1067 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3401,7 +3431,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1077 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3420,7 +3450,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1094 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3439,7 +3469,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1111 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3458,7 +3488,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1102 + //line php5/php5.y:1128 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3477,273 +3507,273 @@ yydefault: } case 180: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1155 { } case 184: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1158 { } case 185: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:1134 + //line php5/php5.y:1160 { } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1142 + //line php5/php5.y:1168 { } case 188: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1143 + //line php5/php5.y:1169 { } case 197: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1167 + //line php5/php5.y:1193 { } case 198: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1171 + //line php5/php5.y:1197 { } case 199: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1172 + //line php5/php5.y:1198 { } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1176 + //line php5/php5.y:1202 { } case 201: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1177 + //line php5/php5.y:1203 { } case 202: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1181 + //line php5/php5.y:1207 { } case 203: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1185 + //line php5/php5.y:1211 { } case 204: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1186 + //line php5/php5.y:1212 { } case 205: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1190 + //line php5/php5.y:1216 { } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1191 + //line php5/php5.y:1217 { } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1195 + //line php5/php5.y:1221 { } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1196 + //line php5/php5.y:1222 { } case 209: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1200 + //line php5/php5.y:1226 { } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1201 + //line php5/php5.y:1227 { } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1205 + //line php5/php5.y:1231 { } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1206 + //line php5/php5.y:1232 { } case 213: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1210 + //line php5/php5.y:1236 { } case 214: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1211 + //line php5/php5.y:1237 { } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1215 + //line php5/php5.y:1241 { } case 216: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1216 + //line php5/php5.y:1242 { } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1217 + //line php5/php5.y:1243 { } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1218 + //line php5/php5.y:1244 { } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1219 + //line php5/php5.y:1245 { } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1220 + //line php5/php5.y:1246 { } case 221: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1224 + //line php5/php5.y:1250 { } case 222: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1225 + //line php5/php5.y:1251 { } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1226 + //line php5/php5.y:1252 { } case 224: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1227 + //line php5/php5.y:1253 { } case 225: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1231 + //line php5/php5.y:1257 { } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1232 + //line php5/php5.y:1258 { } case 227: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1237 + //line php5/php5.y:1263 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1239 + //line php5/php5.y:1265 { yyVAL.list = []node.Node{yyDollar[1].node} } case 229: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1245 + //line php5/php5.y:1271 { yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1247 + //line php5/php5.y:1273 { yyVAL.list = yyDollar[1].list } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1252 + //line php5/php5.y:1278 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1254 + //line php5/php5.y:1280 { yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:1284 { } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1259 + //line php5/php5.y:1285 { } case 235: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1263 + //line php5/php5.y:1289 { } case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1290 { } case 237: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1268 + //line php5/php5.y:1294 { } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1268 + //line php5/php5.y:1294 { } case 239: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1269 + //line php5/php5.y:1295 { } case 240: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1270 + //line php5/php5.y:1296 { } case 241: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1274 + //line php5/php5.y:1300 { } case 242: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1275 + //line php5/php5.y:1301 { } case 243: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1276 + //line php5/php5.y:1302 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1307 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3757,7 +3787,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1296 + //line php5/php5.y:1322 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3769,454 +3799,454 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1331 { } case 247: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1306 + //line php5/php5.y:1332 { } case 248: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1307 + //line php5/php5.y:1333 { } case 249: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1307 + //line php5/php5.y:1333 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1308 + //line php5/php5.y:1334 { } case 251: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1309 + //line php5/php5.y:1335 { } case 252: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1310 + //line php5/php5.y:1336 { } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1311 + //line php5/php5.y:1337 { } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1312 + //line php5/php5.y:1338 { } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1313 + //line php5/php5.y:1339 { } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1314 + //line php5/php5.y:1340 { } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1315 + //line php5/php5.y:1341 { } case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1316 + //line php5/php5.y:1342 { } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1317 + //line php5/php5.y:1343 { } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1318 + //line php5/php5.y:1344 { } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1319 + //line php5/php5.y:1345 { } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1320 + //line php5/php5.y:1346 { } case 263: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1321 + //line php5/php5.y:1347 { } case 264: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1348 { } case 265: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1323 + //line php5/php5.y:1349 { } case 266: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1324 + //line php5/php5.y:1350 { } case 267: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1325 + //line php5/php5.y:1351 { } case 268: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1325 + //line php5/php5.y:1351 { } case 269: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1326 + //line php5/php5.y:1352 { } case 270: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1326 + //line php5/php5.y:1352 { } case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1353 { } case 272: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1353 { } case 273: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1328 + //line php5/php5.y:1354 { } case 274: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1328 + //line php5/php5.y:1354 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1329 + //line php5/php5.y:1355 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1330 + //line php5/php5.y:1356 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1331 + //line php5/php5.y:1357 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1358 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1333 + //line php5/php5.y:1359 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1334 + //line php5/php5.y:1360 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1335 + //line php5/php5.y:1361 { } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1336 + //line php5/php5.y:1362 { } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1337 + //line php5/php5.y:1363 { } case 284: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1364 { } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1339 + //line php5/php5.y:1365 { } case 286: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1340 + //line php5/php5.y:1366 { } case 287: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1367 { } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1342 + //line php5/php5.y:1368 { } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1343 + //line php5/php5.y:1369 { } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1344 + //line php5/php5.y:1370 { } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1371 { } case 292: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1346 + //line php5/php5.y:1372 { } case 293: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1347 + //line php5/php5.y:1373 { } case 294: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1348 + //line php5/php5.y:1374 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1349 + //line php5/php5.y:1375 { } case 296: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1350 + //line php5/php5.y:1376 { } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1351 + //line php5/php5.y:1377 { } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1352 + //line php5/php5.y:1378 { } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1353 + //line php5/php5.y:1379 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1354 + //line php5/php5.y:1380 { } case 301: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1355 + //line php5/php5.y:1381 { } case 302: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1357 + //line php5/php5.y:1383 { yyVAL.node = yyDollar[1].node } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1358 + //line php5/php5.y:1384 { } case 304: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1358 + //line php5/php5.y:1384 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1385 { } case 306: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1360 + //line php5/php5.y:1386 { } case 307: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1361 + //line php5/php5.y:1387 { } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1362 + //line php5/php5.y:1388 { } case 309: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1363 + //line php5/php5.y:1389 { } case 310: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1364 + //line php5/php5.y:1390 { } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1391 { } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1366 + //line php5/php5.y:1392 { } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1367 + //line php5/php5.y:1393 { } case 314: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1368 + //line php5/php5.y:1394 { } case 315: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1369 + //line php5/php5.y:1395 { } case 316: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1370 + //line php5/php5.y:1396 { } case 317: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1371 + //line php5/php5.y:1397 { } case 318: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1372 + //line php5/php5.y:1398 { } case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1399 { } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1399 { } case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1374 + //line php5/php5.y:1400 { yyVAL.node = yyDollar[1].node } case 322: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1375 + //line php5/php5.y:1401 { } case 323: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1376 + //line php5/php5.y:1402 { } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1377 + //line php5/php5.y:1403 { } case 325: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1378 + //line php5/php5.y:1404 { } case 326: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1379 + //line php5/php5.y:1405 { } case 327: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1380 + //line php5/php5.y:1406 { } case 328: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1382 + //line php5/php5.y:1408 { } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1409 { } case 330: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1385 + //line php5/php5.y:1411 { } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1389 + //line php5/php5.y:1415 { } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1390 + //line php5/php5.y:1416 { } case 333: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1391 + //line php5/php5.y:1417 { } case 334: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1392 + //line php5/php5.y:1418 { } case 335: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1397 + //line php5/php5.y:1423 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4224,7 +4254,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1403 + //line php5/php5.y:1429 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4232,7 +4262,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1409 + //line php5/php5.y:1435 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4244,7 +4274,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1419 + //line php5/php5.y:1445 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4252,7 +4282,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1428 + //line php5/php5.y:1454 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4260,7 +4290,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1460 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4268,25 +4298,25 @@ yydefault: } case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1443 + //line php5/php5.y:1469 { yyVAL.token = yyDollar[1].token } case 342: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1448 + //line php5/php5.y:1474 { yyVAL.list = []node.Node{} } case 343: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1476 { yyVAL.list = yyDollar[3].list } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1455 + //line php5/php5.y:1481 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4304,7 +4334,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1471 + //line php5/php5.y:1497 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4322,7 +4352,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1487 + //line php5/php5.y:1513 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4340,7 +4370,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1503 + //line php5/php5.y:1529 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4358,47 +4388,47 @@ yydefault: } case 348: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1521 + //line php5/php5.y:1547 { } case 349: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1522 + //line php5/php5.y:1548 { } case 350: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1523 + //line php5/php5.y:1549 { } case 351: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1524 + //line php5/php5.y:1550 { } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1525 + //line php5/php5.y:1551 { } case 353: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1526 + //line php5/php5.y:1552 { } case 354: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1527 + //line php5/php5.y:1553 { } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1528 + //line php5/php5.y:1554 { } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1533 + //line php5/php5.y:1559 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4406,7 +4436,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1565 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4414,7 +4444,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1545 + //line php5/php5.y:1571 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4422,7 +4452,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1551 + //line php5/php5.y:1577 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4430,7 +4460,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1560 + //line php5/php5.y:1586 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4438,7 +4468,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1566 + //line php5/php5.y:1592 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4446,7 +4476,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1572 + //line php5/php5.y:1598 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4454,19 +4484,19 @@ yydefault: } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1581 + //line php5/php5.y:1607 { yyVAL.node = yyDollar[1].node } case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1583 + //line php5/php5.y:1609 { yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1588 + //line php5/php5.y:1614 { yyVAL.node = yyDollar[1].node @@ -4498,76 +4528,76 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1644 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1624 + //line php5/php5.y:1650 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } case 368: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1626 + //line php5/php5.y:1652 { yyVAL.objectPropertyList = []objectProperty{} } case 369: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1632 + //line php5/php5.y:1658 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1637 + //line php5/php5.y:1663 { yyVAL.node = nil } case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1639 + //line php5/php5.y:1665 { yyVAL.node = nil } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1641 + //line php5/php5.y:1667 { yyVAL.node = yyDollar[1].node } case 373: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1645 + //line php5/php5.y:1671 { } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1646 + //line php5/php5.y:1672 { } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1647 + //line php5/php5.y:1673 { } case 376: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:1678 { yyVAL.nodesWithEndToken = nil } case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1654 + //line php5/php5.y:1680 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1685 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4575,7 +4605,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1665 + //line php5/php5.y:1691 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4583,7 +4613,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1697 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4591,7 +4621,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1677 + //line php5/php5.y:1703 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4599,7 +4629,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1683 + //line php5/php5.y:1709 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4607,7 +4637,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1689 + //line php5/php5.y:1715 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4615,7 +4645,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1695 + //line php5/php5.y:1721 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4623,7 +4653,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1701 + //line php5/php5.y:1727 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4631,7 +4661,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1707 + //line php5/php5.y:1733 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4639,7 +4669,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1713 + //line php5/php5.y:1739 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4647,7 +4677,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1719 + //line php5/php5.y:1745 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -4655,7 +4685,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1724 + //line php5/php5.y:1750 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -4663,7 +4693,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1733 + //line php5/php5.y:1759 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4675,233 +4705,233 @@ yydefault: } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1745 + //line php5/php5.y:1771 { } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1749 + //line php5/php5.y:1775 { } case 393: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1750 + //line php5/php5.y:1776 { } case 394: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1751 + //line php5/php5.y:1777 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1752 + //line php5/php5.y:1778 { } case 396: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1753 + //line php5/php5.y:1779 { } case 397: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1754 + //line php5/php5.y:1780 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1755 + //line php5/php5.y:1781 { } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1756 + //line php5/php5.y:1782 { } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1757 + //line php5/php5.y:1783 { } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1758 + //line php5/php5.y:1784 { } case 402: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1762 + //line php5/php5.y:1788 { } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1763 + //line php5/php5.y:1789 { } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1764 + //line php5/php5.y:1790 { } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1765 + //line php5/php5.y:1791 { } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1766 + //line php5/php5.y:1792 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1767 + //line php5/php5.y:1793 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1794 { } case 409: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1769 + //line php5/php5.y:1795 { } case 410: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1770 + //line php5/php5.y:1796 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1771 + //line php5/php5.y:1797 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1772 + //line php5/php5.y:1798 { } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1773 + //line php5/php5.y:1799 { } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1774 + //line php5/php5.y:1800 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1775 + //line php5/php5.y:1801 { } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1776 + //line php5/php5.y:1802 { } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1777 + //line php5/php5.y:1803 { } case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1778 + //line php5/php5.y:1804 { } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1779 + //line php5/php5.y:1805 { } case 420: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1780 + //line php5/php5.y:1806 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1781 + //line php5/php5.y:1807 { } case 422: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1782 + //line php5/php5.y:1808 { } case 423: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1783 + //line php5/php5.y:1809 { } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1784 + //line php5/php5.y:1810 { } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1785 + //line php5/php5.y:1811 { } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1786 + //line php5/php5.y:1812 { } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1787 + //line php5/php5.y:1813 { } case 428: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1788 + //line php5/php5.y:1814 { } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1789 + //line php5/php5.y:1815 { } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1790 + //line php5/php5.y:1816 { } case 431: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1791 + //line php5/php5.y:1817 { } case 432: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1818 { } case 433: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1793 + //line php5/php5.y:1819 { } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1794 + //line php5/php5.y:1820 { } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1799 + //line php5/php5.y:1825 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1801 + //line php5/php5.y:1827 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4909,7 +4939,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1807 + //line php5/php5.y:1833 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4917,7 +4947,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1813 + //line php5/php5.y:1839 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4925,7 +4955,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1822 + //line php5/php5.y:1848 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4937,25 +4967,25 @@ yydefault: } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1832 + //line php5/php5.y:1858 { yyVAL.node = yyDollar[1].node } case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1834 + //line php5/php5.y:1860 { yyVAL.node = yyDollar[1].node } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1836 + //line php5/php5.y:1862 { yyVAL.node = yyDollar[1].node } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1838 + //line php5/php5.y:1864 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4963,7 +4993,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1844 + //line php5/php5.y:1870 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4971,7 +5001,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1850 + //line php5/php5.y:1876 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4979,151 +5009,151 @@ yydefault: } case 446: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1858 + //line php5/php5.y:1884 { } case 447: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1859 + //line php5/php5.y:1885 { } case 450: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1868 + //line php5/php5.y:1894 { } case 451: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1869 + //line php5/php5.y:1895 { } case 452: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1870 + //line php5/php5.y:1896 { } case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1871 + //line php5/php5.y:1897 { } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1876 + //line php5/php5.y:1902 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1878 + //line php5/php5.y:1904 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1883 + //line php5/php5.y:1909 { yyVAL.node = yyDollar[2].node } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1885 + //line php5/php5.y:1911 { yyVAL.node = yyDollar[2].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1891 + //line php5/php5.y:1917 { yyVAL.node = yyDollar[1].node } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1899 + //line php5/php5.y:1925 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1906 + //line php5/php5.y:1932 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1913 + //line php5/php5.y:1939 { } case 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1915 + //line php5/php5.y:1941 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1919 + //line php5/php5.y:1945 { } case 464: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1920 + //line php5/php5.y:1946 { } case 465: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1925 + //line php5/php5.y:1951 { } case 466: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1925 + //line php5/php5.y:1951 { } case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1929 + //line php5/php5.y:1955 { } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1930 + //line php5/php5.y:1956 { } case 469: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1934 + //line php5/php5.y:1960 { } case 470: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:1961 { } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1939 + //line php5/php5.y:1965 { } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1940 + //line php5/php5.y:1966 { } case 473: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1941 + //line php5/php5.y:1967 { } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1946 + //line php5/php5.y:1972 { yyVAL.node = yyDollar[1].node } case 475: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1948 + //line php5/php5.y:1974 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5135,7 +5165,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1961 + //line php5/php5.y:1987 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5143,7 +5173,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:1993 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5151,47 +5181,47 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1977 + //line php5/php5.y:2003 { yyVAL.node = yyDollar[1].node } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1982 + //line php5/php5.y:2008 { } case 480: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1984 + //line php5/php5.y:2010 { } case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:2014 { yyVAL.node = yyDollar[1].node } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1989 + //line php5/php5.y:2015 { yyVAL.node = yyDollar[1].node } case 483: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1990 + //line php5/php5.y:2016 { yyVAL.node = yyDollar[1].node } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1996 + //line php5/php5.y:2022 { yyVAL.node = yyDollar[1].node } case 485: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1998 + //line php5/php5.y:2024 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5203,13 +5233,13 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2008 + //line php5/php5.y:2034 { yyVAL.node = yyDollar[1].node } case 487: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2013 + //line php5/php5.y:2039 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5217,7 +5247,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2019 + //line php5/php5.y:2045 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5225,13 +5255,13 @@ yydefault: } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2025 + //line php5/php5.y:2051 { yyVAL.node = yyDollar[1].node } case 490: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2031 + //line php5/php5.y:2057 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5243,7 +5273,7 @@ yydefault: } case 491: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2041 + //line php5/php5.y:2067 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5251,53 +5281,53 @@ yydefault: } case 492: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2049 + //line php5/php5.y:2075 { yyVAL.node = nil } case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2050 + //line php5/php5.y:2076 { yyVAL.node = yyDollar[1].node } case 494: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2056 + //line php5/php5.y:2082 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2058 + //line php5/php5.y:2084 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2066 + //line php5/php5.y:2092 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2071 + //line php5/php5.y:2097 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 498: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2076 + //line php5/php5.y:2102 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2084 + //line php5/php5.y:2110 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5305,13 +5335,13 @@ yydefault: } case 500: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2090 + //line php5/php5.y:2116 { yyVAL.node = yyDollar[2].node } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2095 + //line php5/php5.y:2121 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5321,7 +5351,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2103 + //line php5/php5.y:2129 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5335,25 +5365,25 @@ yydefault: } case 503: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2118 + //line php5/php5.y:2144 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 504: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2120 + //line php5/php5.y:2146 { yyVAL.list = []node.Node{yyDollar[1].node} } case 505: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2126 + //line php5/php5.y:2152 { yyVAL.node = yyDollar[1].node } case 506: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2128 + //line php5/php5.y:2154 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5361,25 +5391,25 @@ yydefault: } case 507: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2134 + //line php5/php5.y:2160 { yyVAL.node = nil } case 508: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2140 + //line php5/php5.y:2166 { yyVAL.list = nil } case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2142 + //line php5/php5.y:2168 { yyVAL.list = yyDollar[1].list } case 510: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2147 + //line php5/php5.y:2173 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5389,7 +5419,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2155 + //line php5/php5.y:2181 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5399,7 +5429,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2163 + //line php5/php5.y:2189 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5409,7 +5439,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2171 + //line php5/php5.y:2197 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5419,7 +5449,7 @@ yydefault: } case 514: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2179 + //line php5/php5.y:2205 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5429,7 +5459,7 @@ yydefault: } case 515: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2187 + //line php5/php5.y:2213 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5439,7 +5469,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2195 + //line php5/php5.y:2221 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5449,7 +5479,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2203 + //line php5/php5.y:2229 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5459,13 +5489,13 @@ yydefault: } case 518: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2214 + //line php5/php5.y:2240 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 519: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2216 + //line php5/php5.y:2242 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5474,13 +5504,13 @@ yydefault: } case 520: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2223 + //line php5/php5.y:2249 { yyVAL.list = []node.Node{yyDollar[1].node} } case 521: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2225 + //line php5/php5.y:2251 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5489,7 +5519,7 @@ yydefault: } case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2235 + //line php5/php5.y:2261 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5501,7 +5531,7 @@ yydefault: } case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2245 + //line php5/php5.y:2271 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5516,7 +5546,7 @@ yydefault: } case 524: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2258 + //line php5/php5.y:2284 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5534,7 +5564,7 @@ yydefault: } case 525: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2274 + //line php5/php5.y:2300 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5542,7 +5572,7 @@ yydefault: } case 526: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2280 + //line php5/php5.y:2306 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5557,13 +5587,13 @@ yydefault: } case 527: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2294 + //line php5/php5.y:2320 { yyVAL.node = yyDollar[2].node } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2299 + //line php5/php5.y:2325 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5571,7 +5601,7 @@ yydefault: } case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2305 + //line php5/php5.y:2331 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5585,7 +5615,7 @@ yydefault: } case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2317 + //line php5/php5.y:2343 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5597,7 +5627,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2330 + //line php5/php5.y:2356 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5605,7 +5635,7 @@ yydefault: } case 532: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2336 + //line php5/php5.y:2362 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5613,7 +5643,7 @@ yydefault: } case 533: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2342 + //line php5/php5.y:2368 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5621,7 +5651,7 @@ yydefault: } case 534: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2348 + //line php5/php5.y:2374 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5629,7 +5659,7 @@ yydefault: } case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2354 + //line php5/php5.y:2380 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5637,7 +5667,7 @@ yydefault: } case 536: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2360 + //line php5/php5.y:2386 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5645,7 +5675,7 @@ yydefault: } case 537: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2366 + //line php5/php5.y:2392 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5653,7 +5683,7 @@ yydefault: } case 538: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2372 + //line php5/php5.y:2398 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5661,31 +5691,31 @@ yydefault: } case 539: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2381 + //line php5/php5.y:2407 { yyVAL.list = []node.Node{yyDollar[1].node} } case 540: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2383 + //line php5/php5.y:2409 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 541: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2387 + //line php5/php5.y:2413 { yyVAL.node = yyDollar[1].node } case 542: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2388 + //line php5/php5.y:2414 { yyVAL.node = yyDollar[1].node } case 543: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2393 + //line php5/php5.y:2419 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5697,7 +5727,7 @@ yydefault: } case 544: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2403 + //line php5/php5.y:2429 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5709,7 +5739,7 @@ yydefault: } case 545: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2416 + //line php5/php5.y:2442 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5721,7 +5751,7 @@ yydefault: } case 546: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2429 + //line php5/php5.y:2455 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 20757e0..8c37bd7 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -205,7 +205,7 @@ import ( %type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member %type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr %type exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration -%type else_single new_else_single while_statement for_statement unset_variable +%type else_single new_else_single while_statement for_statement unset_variable foreach_statement %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -213,7 +213,7 @@ import ( %type for_expr case_list echo_expr_list unset_variables %type simple_indirect_reference -%type foreach_variable +%type foreach_variable foreach_optional_arg %type object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property %type ctor_arguments function_call_parameter_list switch_case_list @@ -689,8 +689,26 @@ unticked_statement: positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) comments.AddComments($$, $1.Comments()) } - | T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } - | T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } + | T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement + { + if $6.node == nil { + $$ = stmt.NewForeach($3, nil, $5.node, $8, $5.byRef) + } else { + $$ = stmt.NewForeach($3, $5.node, $6.node, $8, $6.byRef) + } + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $8)) + comments.AddComments($$, $1.Comments()) + } + | T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement + { + if $6.node == nil { + $$ = stmt.NewForeach($3, nil, $5.node, $8, $5.byRef) + } else { + $$ = stmt.NewForeach($3, $5.node, $6.node, $8, $6.byRef) + } + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $8)) + comments.AddComments($$, $1.Comments()) + } | T_DECLARE { } '(' declare_list ')' declare_statement { } | ';' /* empty statement */ { } | T_TRY '{' inner_statement_list '}' catch_statement finally_statement { } @@ -809,8 +827,10 @@ interface_list: ; foreach_optional_arg: - /* empty */ { } - | T_DOUBLE_ARROW foreach_variable { } + /* empty */ + { $$ = foreachVariable{nil, false} } + | T_DOUBLE_ARROW foreach_variable + { $$ = $2 } ; foreach_variable: @@ -841,7 +861,13 @@ for_statement: foreach_statement: statement + { $$ = $1; } | ':' inner_statement_list T_ENDFOREACH ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; From ccfa3988be921aa1938be5137a16733086b7c5f3 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sat, 3 Feb 2018 15:24:00 +0200 Subject: [PATCH 21/31] php5 syntax --- php5/php5.go | 4640 +++++++++++++++++++++++++------------------------- php5/php5.y | 145 +- 2 files changed, 2464 insertions(+), 2321 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 4eb75e8..0029169 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2466 +//line php5/php5.y:2567 //line yacctab:1 var yyExca = [...]int{ @@ -355,487 +355,444 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 460, - 105, 460, - -2, 458, + 104, 452, + 105, 452, + -2, 450, -1, 101, - 78, 357, - -2, 436, + 78, 349, + -2, 428, -1, 113, - 78, 478, - 123, 474, - -2, 484, + 78, 470, + 123, 466, + -2, 476, -1, 153, - 104, 460, - 105, 460, - -2, 458, + 104, 452, + 105, 452, + -2, 450, -1, 203, - 121, 331, - 124, 331, - -2, 455, + 121, 323, + 124, 323, + -2, 447, -1, 204, - 104, 460, - 105, 460, - 121, 332, - 124, 332, - -2, 458, + 104, 452, + 105, 452, + 121, 324, + 124, 324, + -2, 450, -1, 270, - 78, 478, - -2, 484, + 78, 470, + -2, 476, -1, 297, - 78, 359, - -2, 438, + 78, 351, + -2, 430, -1, 301, - 123, 475, - -2, 485, + 123, 467, + -2, 477, -1, 310, - 78, 358, - -2, 437, + 78, 350, + -2, 429, -1, 376, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 292, + -2, 284, -1, 377, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 293, + -2, 285, -1, 378, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 294, + -2, 286, -1, 379, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 295, + -2, 287, -1, 380, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 296, + -2, 288, -1, 381, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 297, + -2, 289, -1, 382, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 298, + -2, 290, -1, 383, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 299, + -2, 291, -1, 390, - 104, 460, - 105, 460, - -2, 458, - -1, 441, - 123, 469, - -2, 473, - -1, 459, - 104, 460, - 105, 460, - 124, 541, - 135, 541, - -2, 458, + 104, 452, + 105, 452, + -2, 450, + -1, 442, + 123, 461, + -2, 465, -1, 460, - 124, 542, - 135, 542, - -2, 455, + 104, 452, + 105, 452, + 124, 533, + 135, 533, + -2, 450, -1, 461, - 104, 460, - 105, 460, - -2, 458, - -1, 483, - 124, 165, - 135, 165, - -2, 455, + 124, 534, + 135, 534, + -2, 447, + -1, 462, + 104, 452, + 105, 452, + -2, 450, -1, 484, - 104, 460, - 105, 460, - 124, 166, - 135, 166, - -2, 458, - -1, 490, - 123, 499, - -2, 543, - -1, 496, - 123, 499, - -2, 544, - -1, 518, - 78, 357, - -2, 394, - -1, 565, - 124, 151, - -2, 156, - -1, 573, - 121, 333, - 124, 333, - -2, 455, - -1, 574, - 104, 460, - 105, 460, - 121, 334, - 124, 334, - -2, 458, - -1, 581, - 57, 242, - 125, 242, - -2, 241, - -1, 667, - 78, 359, - -2, 396, - -1, 696, - 124, 151, - -2, 156, - -1, 711, - 124, 151, - -2, 156, - -1, 767, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 422, - -1, 768, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 423, - -1, 769, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 424, - -1, 770, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 425, + 124, 157, + 135, 157, + -2, 447, + -1, 485, + 104, 452, + 105, 452, + 124, 158, + 135, 158, + -2, 450, + -1, 491, + 123, 491, + -2, 535, + -1, 497, + 123, 491, + -2, 536, + -1, 519, + 78, 349, + -2, 386, + -1, 567, + 124, 143, + -2, 148, + -1, 575, + 121, 325, + 124, 325, + -2, 447, + -1, 576, + 104, 452, + 105, 452, + 121, 326, + 124, 326, + -2, 450, + -1, 583, + 57, 234, + 125, 234, + -2, 233, + -1, 669, + 78, 351, + -2, 388, + -1, 698, + 124, 143, + -2, 148, + -1, 715, + 124, 143, + -2, 148, -1, 771, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 426, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 414, -1, 772, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 427, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 415, -1, 773, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 428, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 416, -1, 774, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 417, + -1, 775, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 429, + -2, 418, + -1, 776, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 419, -1, 777, - 78, 358, - -2, 395, - -1, 830, - 57, 237, - -2, 239, - -1, 882, - 37, 212, - -2, 209, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 420, + -1, 778, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 421, + -1, 781, + 78, 350, + -2, 387, + -1, 831, + 57, 229, + -2, 231, + -1, 883, + 37, 204, + -2, 201, -1, 938, - 123, 469, - -2, 473, - -1, 992, - 29, 200, + 123, 461, + -2, 465, + -1, 990, + 29, 192, -2, 4, - -1, 1014, - 124, 151, - -2, 156, - -1, 1018, - 121, 204, - -2, 206, + -1, 1012, + 124, 143, + -2, 148, + -1, 1016, + 121, 196, + -2, 198, } const yyPrivate = 57344 -const yyLast = 8511 +const yyLast = 8461 var yyAct = [...]int{ - 101, 886, 1036, 712, 986, 913, 831, 441, 870, 122, - 130, 718, 592, 824, 714, 416, 449, 833, 429, 199, - 724, 701, 795, 117, 60, 338, 669, 804, 471, 458, - 417, 97, 129, 263, 388, 318, 329, 327, 541, 6, - 4, 514, 137, 139, 113, 314, 144, 157, 482, 328, - 288, 639, 5, 639, 25, 227, 227, 140, 257, 474, - 2, 191, 178, 1013, 444, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 42, 980, - 266, 43, 963, 979, 962, 977, 973, 959, 954, 191, - 642, 644, 645, 643, 928, 643, 250, 974, 961, 978, - 1023, 916, 866, 297, 828, 727, 152, 447, 929, 120, - 708, 269, 578, 507, 695, 578, 639, 240, 665, 647, - 641, 640, 706, 203, 270, 310, 513, 508, 315, 319, - 295, 356, 322, 707, 141, 200, 324, 38, 178, 114, - 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, - 662, 664, 649, 650, 651, 642, 644, 645, 643, 301, - 227, 337, 161, 177, 179, 180, 178, 825, 819, 639, - 781, 503, 647, 641, 640, 331, 496, 334, 120, 618, - 604, 355, 136, 540, 309, 504, 120, 120, 158, 472, - 619, 605, 266, 240, 227, 646, 648, 659, 660, 657, - 658, 661, 663, 662, 664, 649, 650, 651, 642, 644, - 645, 643, 997, 639, 952, 577, 448, 641, 640, 271, - 191, 357, 227, 269, 639, 384, 578, 353, 641, 640, - 421, 119, 557, 348, 834, 358, 270, 964, 350, 937, - 490, 354, 120, 558, 311, 902, 901, 349, 304, 649, - 650, 651, 642, 644, 645, 643, 132, 839, 312, 176, - 175, 227, 651, 642, 644, 645, 643, 779, 300, 453, - 133, 38, 431, 732, 299, 895, 391, 625, 617, 616, - 103, 610, 491, 161, 609, 448, 443, 583, 582, 470, - 437, 1044, 227, 174, 177, 179, 180, 178, 736, 464, - 119, 125, 832, 120, 240, 468, 735, 445, 119, 302, - 159, 476, 477, 130, 433, 434, 455, 506, 492, 590, - 293, 510, 489, 597, 125, 518, 120, 495, 998, 596, - 953, 271, 292, 286, 280, 230, 230, 253, 469, 252, - 434, 433, 433, 445, 434, 502, 6, 4, 445, 448, - 704, 481, 1026, 996, 294, 460, 462, 518, 436, 5, - 264, 538, 910, 488, 119, 869, 864, 861, 494, 499, - 228, 859, 848, 229, 818, 679, 620, 611, 483, 393, - 607, 426, 543, 191, 424, 306, 1040, 1014, 924, 232, - 296, 138, 816, 228, 450, 296, 229, 545, 549, 807, - 568, 125, 446, 120, 227, 576, 797, 796, 1003, 711, - 696, 567, 232, 668, 874, 579, 900, 565, 534, 703, - 392, 580, 176, 175, 342, 119, 294, 343, 487, 287, - 277, 274, 273, 249, 125, 221, 120, 908, 446, 194, - 230, 501, 193, 446, 38, 143, 489, 495, 119, 121, - 419, 854, 386, 601, 181, 182, 174, 177, 179, 180, - 178, 134, 602, 308, 1031, 307, 1030, 445, 445, 1010, - 228, 1006, 264, 229, 230, 600, 689, 690, 443, 125, - 603, 120, 1005, 573, 995, 946, 227, 488, 494, 232, - 907, 598, 858, 799, 793, 792, 445, 689, 690, 445, - 786, 445, 230, 228, 699, 315, 229, 685, 544, 319, - 542, 539, 1046, 498, 518, 536, 395, 346, 537, 155, - 591, 667, 232, 518, 258, 119, 1020, 944, 38, 435, - 518, 518, 518, 518, 518, 923, 6, 4, 922, 920, - 821, 230, 723, 351, 634, 621, 305, 196, 228, 5, - 631, 229, 487, 432, 852, 638, 223, 224, 119, 227, - 227, 227, 446, 446, 798, 686, 568, 232, 790, 791, - 636, 722, 230, 568, 681, 682, 294, 266, 633, 227, - 227, 691, 705, 693, 725, 688, 512, 721, 259, 260, - 256, 446, 666, 700, 446, 729, 446, 452, 125, 420, - 124, 1009, 673, 119, 456, 528, 451, 423, 269, 728, - 726, 422, 303, 125, 227, 738, 227, 298, 466, 623, - 624, 270, 90, 294, 805, 627, 628, 834, 842, 465, - 125, 294, 454, 509, 38, 742, 125, 528, 120, 294, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 777, 746, 518, - 124, 38, 38, 744, 125, 745, 890, 891, 892, 889, - 888, 887, 281, 285, 230, 320, 294, 460, 61, 125, - 125, 125, 262, 515, 505, 778, 518, 568, 992, 780, - 802, 483, 316, 321, 227, 267, 787, 123, 268, 518, - 720, 501, 568, 672, 258, 817, 271, 127, 128, 435, - 788, 568, 823, 572, 232, 884, 737, 399, 258, 207, - 783, 885, 725, 808, 883, 820, 884, 801, 206, 716, - 717, 822, 885, 569, 810, 883, 570, 294, 1007, 53, - 813, 238, 836, 871, 837, 838, 294, 258, 569, 815, - 119, 570, 131, 131, 258, 1037, 230, 569, 258, 435, - 570, 284, 784, 283, 710, 44, 518, 467, 259, 260, - 1008, 336, 518, 518, 162, 890, 891, 892, 889, 888, - 887, 466, 259, 260, 528, 560, 890, 891, 892, 889, - 888, 887, 1043, 528, 225, 233, 227, 926, 227, 44, - 528, 528, 528, 528, 528, 853, 1012, 856, 876, 855, - 568, 259, 260, 863, 999, 851, 568, 862, 259, 260, - 975, 284, 259, 260, 872, 875, 970, 893, 956, 230, - 230, 230, 899, 894, 925, 227, 547, 258, 518, 897, - 903, 898, 282, 800, 689, 690, 1024, 264, 443, 230, - 230, 692, 689, 690, 1019, 981, 443, 518, 912, 568, - 917, 585, 957, 587, 586, 932, 125, 812, 748, 445, - 921, 747, 637, 635, 931, 632, 568, 445, 258, 588, - 562, 511, 478, 255, 230, 396, 230, 934, 323, 914, - 202, 201, 914, 936, 904, 198, 135, 518, 919, 595, - 593, 259, 260, 594, 935, 938, 734, 670, 525, 548, - 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, - 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, - 528, 528, 528, 528, 528, 528, 528, 516, 942, 528, - 958, 965, 259, 260, 897, 518, 397, 450, 254, 251, - 518, 556, 568, 803, 568, 385, 581, 362, 361, 360, - 359, 826, 731, 983, 446, 991, 528, 730, 857, 516, - 518, 518, 446, 896, 230, 829, 568, 830, 882, 528, - 1004, 1017, 38, 990, 865, 1015, 976, 991, 989, 988, - 38, 982, 987, 985, 984, 960, 933, 1029, 568, 1002, - 1018, 881, 880, 879, 518, 568, 930, 955, 1022, 1016, - 927, 1000, 1001, 878, 568, 877, 480, 715, 713, 571, - 400, 40, 719, 566, 398, 1027, 39, 909, 1039, 911, - 564, 568, 873, 14, 38, 13, 38, 1045, 1042, 1035, - 867, 1034, 1041, 1032, 1011, 1021, 528, 948, 868, 814, - 709, 809, 528, 528, 561, 195, 1, 341, 841, 741, - 442, 387, 163, 339, 683, 38, 535, 951, 289, 457, - 38, 160, 38, 156, 38, 38, 230, 317, 230, 313, - 126, 940, 941, 333, 789, 606, 680, 10, 945, 248, - 74, 38, 38, 947, 75, 949, 950, 208, 209, 210, + 101, 716, 1020, 594, 834, 475, 430, 199, 887, 122, + 130, 984, 832, 450, 442, 718, 825, 472, 703, 417, + 914, 799, 808, 515, 671, 338, 459, 327, 871, 728, + 4, 418, 97, 388, 263, 60, 445, 318, 314, 542, + 157, 129, 329, 288, 2, 6, 257, 140, 483, 328, + 641, 178, 5, 137, 139, 227, 227, 144, 25, 42, + 641, 975, 1011, 962, 978, 961, 191, 191, 977, 43, + 958, 928, 971, 953, 814, 976, 1024, 641, 191, 960, + 266, 643, 642, 972, 917, 929, 448, 731, 120, 644, + 646, 647, 645, 113, 152, 580, 508, 497, 141, 120, + 697, 38, 645, 297, 564, 176, 175, 250, 514, 356, + 509, 203, 269, 504, 136, 653, 644, 646, 647, 645, + 50, 240, 491, 324, 120, 310, 161, 505, 315, 319, + 826, 820, 322, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 178, 153, 641, 829, 620, 337, + 643, 642, 177, 179, 180, 178, 357, 353, 580, 621, + 227, 785, 204, 606, 492, 331, 579, 334, 309, 355, + 358, 354, 117, 270, 607, 226, 226, 580, 663, 665, + 664, 666, 651, 652, 653, 644, 646, 647, 645, 348, + 562, 558, 266, 311, 227, 449, 125, 240, 120, 722, + 641, 563, 559, 349, 643, 642, 449, 312, 301, 132, + 119, 995, 541, 473, 200, 963, 937, 103, 295, 350, + 903, 119, 227, 133, 269, 120, 384, 120, 158, 902, + 422, 449, 840, 835, 783, 38, 651, 652, 653, 644, + 646, 647, 645, 300, 736, 420, 119, 161, 627, 299, + 125, 619, 120, 618, 612, 611, 599, 951, 585, 584, + 432, 227, 598, 896, 391, 228, 471, 740, 229, 454, + 739, 438, 230, 230, 592, 293, 125, 292, 120, 286, + 352, 280, 253, 252, 232, 270, 1036, 465, 1028, 947, + 911, 870, 227, 469, 191, 865, 862, 264, 860, 477, + 478, 833, 434, 435, 849, 819, 493, 681, 240, 622, + 125, 394, 120, 130, 389, 390, 613, 507, 609, 228, + 119, 511, 229, 909, 427, 519, 425, 996, 435, 434, + 434, 470, 435, 176, 175, 489, 304, 4, 232, 437, + 495, 306, 419, 461, 463, 228, 294, 119, 229, 302, + 159, 1027, 6, 500, 503, 482, 446, 519, 1012, 5, + 125, 924, 120, 855, 232, 456, 484, 174, 177, 179, + 180, 178, 539, 952, 119, 296, 138, 230, 817, 267, + 550, 441, 268, 544, 811, 351, 715, 296, 801, 800, + 546, 191, 446, 698, 460, 462, 670, 446, 232, 581, + 119, 570, 567, 535, 342, 227, 287, 343, 38, 264, + 277, 230, 476, 274, 294, 273, 249, 485, 221, 195, + 194, 193, 582, 691, 692, 143, 121, 386, 134, 228, + 176, 175, 229, 1008, 119, 444, 1033, 885, 1032, 230, + 1004, 578, 1003, 886, 993, 919, 884, 537, 232, 908, + 538, 308, 859, 307, 603, 803, 90, 691, 692, 797, + 489, 495, 181, 182, 174, 177, 179, 180, 178, 796, + 604, 490, 575, 790, 701, 687, 496, 545, 230, 543, + 540, 499, 451, 396, 119, 346, 155, 227, 1001, 258, + 901, 593, 623, 38, 436, 125, 1038, 891, 892, 893, + 890, 889, 888, 968, 944, 923, 315, 922, 868, 230, + 319, 802, 822, 727, 305, 519, 488, 446, 446, 926, + 196, 433, 669, 576, 519, 577, 223, 224, 4, 502, + 853, 519, 519, 519, 519, 519, 794, 795, 640, 683, + 684, 600, 529, 6, 633, 690, 446, 636, 125, 446, + 5, 446, 875, 259, 260, 638, 635, 990, 294, 125, + 227, 227, 227, 125, 725, 519, 688, 124, 570, 668, + 453, 421, 124, 726, 529, 570, 1007, 675, 457, 266, + 707, 227, 227, 693, 452, 695, 256, 513, 712, 424, + 709, 423, 303, 702, 466, 298, 490, 496, 467, 38, + 569, 733, 809, 835, 123, 742, 724, 476, 294, 294, + 574, 269, 732, 730, 843, 674, 227, 571, 227, 455, + 572, 748, 230, 749, 125, 602, 571, 262, 444, 572, + 605, 320, 400, 125, 746, 316, 38, 38, 207, 510, + 294, 488, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 781, + 750, 519, 270, 284, 720, 721, 787, 461, 281, 285, + 389, 704, 704, 891, 892, 893, 890, 889, 888, 206, + 784, 484, 294, 571, 1005, 782, 572, 872, 519, 570, + 806, 419, 419, 506, 230, 131, 227, 816, 625, 626, + 1021, 714, 792, 61, 629, 630, 570, 818, 788, 791, + 258, 805, 321, 44, 1006, 570, 824, 821, 460, 641, + 812, 561, 529, 643, 642, 53, 476, 336, 476, 258, + 1034, 529, 485, 837, 436, 125, 838, 839, 529, 529, + 529, 529, 529, 1010, 823, 997, 294, 661, 662, 659, + 660, 663, 665, 664, 666, 651, 652, 653, 644, 646, + 647, 645, 127, 128, 729, 294, 238, 230, 230, 230, + 519, 517, 529, 467, 259, 260, 519, 519, 973, 258, + 225, 233, 258, 955, 283, 925, 264, 436, 230, 230, + 921, 502, 468, 259, 260, 548, 587, 162, 589, 588, + 227, 1025, 227, 517, 1017, 519, 741, 131, 570, 852, + 857, 570, 597, 856, 979, 813, 810, 570, 863, 956, + 854, 864, 44, 230, 258, 230, 873, 898, 867, 876, + 899, 895, 258, 804, 691, 692, 227, 282, 932, 519, + 900, 905, 284, 259, 260, 125, 259, 260, 904, 529, + 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, + 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, + 529, 529, 529, 529, 529, 529, 918, 570, 529, 913, + 915, 258, 931, 915, 752, 751, 255, 711, 259, 260, + 694, 691, 692, 935, 639, 637, 259, 260, 519, 634, + 936, 590, 38, 512, 858, 529, 479, 397, 393, 323, + 202, 201, 198, 230, 729, 135, 595, 596, 938, 446, + 704, 738, 419, 672, 526, 549, 398, 446, 957, 942, + 254, 898, 964, 251, 557, 807, 385, 583, 362, 361, + 114, 360, 359, 827, 519, 259, 260, 38, 735, 519, + 734, 570, 897, 570, 830, 831, 476, 883, 1015, 988, + 910, 517, 912, 1013, 987, 986, 985, 974, 519, 519, + 517, 930, 980, 920, 570, 983, 982, 517, 517, 517, + 517, 517, 959, 933, 1031, 1002, 1000, 529, 882, 881, + 880, 998, 999, 529, 529, 954, 570, 927, 444, 38, + 879, 38, 519, 570, 1023, 1016, 444, 869, 878, 38, + 481, 517, 1026, 719, 940, 570, 894, 230, 570, 230, + 271, 945, 529, 717, 573, 1022, 401, 948, 949, 38, + 40, 723, 568, 399, 38, 39, 451, 38, 38, 566, + 874, 14, 13, 1, 341, 608, 516, 842, 965, 966, + 745, 443, 1019, 230, 38, 38, 529, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 115, 265, 63, 88, 584, 230, 966, 967, 528, 89, - 517, 100, 73, 11, 325, 99, 516, 98, 78, 118, - 523, 3, 0, 0, 0, 516, 0, 528, 0, 0, - 906, 0, 516, 516, 516, 516, 516, 639, 0, 0, - 38, 641, 640, 0, 0, 0, 0, 0, 38, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, - 652, 653, 38, 0, 0, 0, 0, 528, 559, 661, - 663, 662, 664, 649, 650, 651, 642, 644, 645, 643, - 0, 0, 0, 1025, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1033, 0, 671, 639, 0, 665, - 647, 641, 640, 674, 675, 676, 677, 678, 0, 1047, - 0, 0, 0, 0, 0, 528, 0, 0, 0, 0, - 528, 656, 655, 646, 648, 659, 660, 657, 658, 661, - 663, 662, 664, 649, 650, 651, 642, 644, 645, 643, - 528, 528, 516, 516, 516, 516, 516, 516, 516, 516, - 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, - 516, 516, 516, 516, 516, 516, 516, 516, 516, 0, - 0, 516, 0, 0, 528, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 0, 0, - 0, 0, 116, 0, 0, 0, 0, 0, 516, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 516, 0, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 776, - 0, 0, 671, 347, 0, 0, 0, 231, 231, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 208, 209, - 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, - 212, 0, 272, 0, 0, 0, 0, 0, 516, 0, - 146, 150, 154, 0, 516, 516, 164, 0, 0, 0, - 0, 0, 0, 0, 197, 0, 0, 0, 0, 205, - 0, 0, 0, 0, 0, 50, 191, 0, 0, 0, - 222, 0, 0, 0, 234, 235, 236, 237, 0, 0, - 239, 0, 241, 242, 243, 244, 245, 246, 247, 0, - 153, 0, 0, 0, 0, 261, 0, 0, 0, 0, - 275, 276, 0, 278, 279, 176, 175, 204, 0, 846, - 516, 0, 231, 0, 290, 849, 850, 0, 0, 0, - 226, 226, 0, 0, 0, 0, 0, 0, 0, 516, - 0, 0, 0, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 272, 0, 231, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 516, - 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, - 0, 905, 0, 0, 0, 0, 0, 0, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 0, - 0, 0, 154, 231, 0, 0, 0, 516, 0, 0, - 0, 0, 516, 0, 0, 352, 402, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, - 939, 0, 516, 516, 231, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, - 390, 0, 0, 0, 0, 0, 0, 239, 0, 428, - 430, 430, 0, 0, 0, 0, 516, 438, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, - 0, 154, 154, 0, 0, 463, 0, 0, 430, 0, - 0, 0, 0, 0, 430, 290, 0, 0, 0, 0, - 430, 430, 0, 0, 154, 0, 0, 430, 493, 0, - 0, 0, 0, 497, 0, 0, 440, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, - 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 231, 475, 0, 0, - 639, 0, 484, 647, 641, 640, 0, 0, 0, 546, - 0, 0, 0, 0, 0, 0, 550, 551, 552, 553, - 554, 168, 170, 169, 191, 655, 646, 648, 659, 660, - 657, 658, 661, 663, 662, 664, 649, 650, 651, 642, - 644, 645, 643, 555, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 797, 796, 0, 0, 154, - 0, 192, 172, 176, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 0, 0, 599, 574, 0, 575, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 612, 614, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 622, 639, 0, 0, 647, 641, - 640, 231, 231, 231, 0, 0, 0, 0, 0, 0, - 0, 654, 652, 653, 0, 0, 0, 0, 0, 272, - 0, 231, 231, 659, 660, 657, 658, 661, 663, 662, - 664, 649, 650, 651, 642, 644, 645, 643, 0, 0, - 0, 475, 0, 0, 0, 0, 847, 340, 687, 639, - 0, 665, 647, 641, 640, 0, 231, 0, 231, 0, - 0, 0, 0, 0, 698, 0, 0, 0, 0, 0, - 0, 0, 0, 656, 655, 646, 648, 659, 660, 657, - 658, 661, 663, 662, 664, 649, 650, 651, 642, 644, - 645, 643, 0, 0, 0, 0, 0, 0, 733, 0, - 0, 0, 0, 0, 430, 739, 0, 0, 0, 0, - 0, 0, 0, 154, 389, 702, 702, 0, 0, 191, - 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, - 0, 0, 0, 0, 418, 418, 0, 0, 654, 652, - 653, 0, 0, 0, 0, 0, 231, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 176, 175, - 0, 459, 0, 0, 0, 0, 0, 0, 0, 475, - 0, 475, 0, 0, 0, 484, 639, 845, 665, 647, - 641, 640, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 794, 0, 0, - 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, - 662, 664, 649, 650, 651, 642, 644, 645, 643, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 827, 639, 0, 0, 647, - 641, 640, 0, 430, 430, 0, 0, 0, 231, 0, - 231, 843, 168, 170, 169, 191, 0, 0, 0, 806, - 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, - 662, 664, 649, 650, 651, 642, 644, 645, 643, 0, - 0, 0, 0, 0, 0, 840, 0, 231, 0, 0, + 125, 1018, 120, 994, 713, 392, 934, 387, 163, 339, + 685, 536, 950, 38, 289, 458, 160, 156, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 529, 885, 517, 317, 706, + 313, 126, 886, 815, 38, 884, 708, 941, 38, 333, + 793, 682, 271, 10, 248, 74, 75, 115, 1035, 228, + 265, 63, 229, 1039, 517, 88, 586, 89, 518, 100, + 981, 73, 989, 11, 325, 99, 98, 78, 232, 118, + 524, 529, 3, 0, 0, 0, 529, 0, 0, 0, + 0, 0, 0, 989, 0, 0, 891, 892, 893, 890, + 889, 888, 0, 0, 0, 529, 529, 0, 705, 0, + 0, 0, 0, 0, 119, 1014, 0, 0, 877, 30, + 0, 0, 0, 447, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1029, 0, 0, 1030, 560, 529, + 0, 0, 146, 150, 154, 0, 517, 0, 164, 0, + 0, 0, 517, 517, 0, 0, 197, 0, 0, 447, + 655, 205, 0, 116, 447, 0, 0, 0, 0, 0, + 0, 0, 222, 0, 0, 0, 234, 235, 236, 237, + 0, 517, 239, 0, 241, 242, 243, 244, 245, 246, + 247, 0, 0, 0, 0, 0, 641, 261, 667, 649, + 643, 642, 275, 276, 0, 278, 279, 0, 0, 0, + 0, 0, 0, 0, 0, 517, 290, 0, 231, 231, + 658, 657, 648, 650, 661, 662, 659, 660, 663, 665, + 664, 666, 651, 652, 653, 644, 646, 647, 645, 0, + 0, 0, 0, 272, 0, 208, 209, 210, 211, 213, + 214, 215, 216, 217, 218, 219, 220, 212, 239, 0, + 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 517, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 447, 447, 0, 0, 0, 0, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 0, 0, 447, 154, 0, 447, 0, 447, 0, + 517, 0, 0, 231, 0, 517, 0, 0, 403, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 0, 0, 0, 517, 517, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 272, 0, 231, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, + 0, 429, 431, 431, 0, 0, 0, 0, 517, 439, + 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, + 0, 0, 0, 154, 154, 0, 0, 464, 0, 0, + 431, 0, 0, 0, 0, 0, 431, 290, 0, 0, + 0, 0, 431, 431, 0, 0, 154, 0, 0, 431, + 494, 0, 0, 0, 231, 498, 347, 0, 641, 0, + 0, 649, 643, 642, 0, 0, 0, 0, 0, 271, + 0, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 212, 0, 231, 661, 662, 659, 660, + 663, 665, 664, 666, 651, 652, 653, 644, 646, 647, + 645, 547, 168, 170, 169, 191, 0, 0, 551, 552, + 553, 554, 555, 0, 0, 0, 0, 0, 0, 0, + 673, 0, 0, 0, 0, 0, 0, 676, 677, 678, + 679, 680, 0, 0, 0, 556, 801, 800, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 860, 0, 0, 166, 167, 171, 173, 185, 186, + 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 0, 0, 0, 0, 0, 0, - 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 180, 178, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 0, 0, 231, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 702, 0, 418, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 475, 21, 0, 430, 0, 22, 23, 37, 44, 15, - 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, - 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 630, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, - 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 500, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 614, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 624, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 775, 776, 777, 778, 780, 0, 0, 673, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 340, 689, 0, 907, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 700, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 656, 654, 655, 0, 447, 0, 0, 0, + 0, 0, 0, 0, 447, 0, 0, 0, 0, 0, + 0, 0, 737, 0, 0, 0, 0, 0, 431, 743, + 0, 0, 0, 231, 231, 231, 0, 154, 0, 0, + 641, 0, 667, 649, 643, 642, 0, 0, 0, 0, + 0, 154, 272, 0, 231, 231, 847, 0, 0, 0, + 0, 0, 850, 851, 658, 657, 648, 650, 661, 662, + 659, 660, 663, 665, 664, 666, 651, 652, 653, 644, + 646, 647, 645, 0, 0, 0, 0, 0, 0, 231, + 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 641, 0, 667, 649, 643, 642, 0, 0, + 0, 798, 0, 0, 0, 906, 0, 0, 0, 0, + 0, 0, 0, 656, 654, 655, 658, 657, 648, 650, + 661, 662, 659, 660, 663, 665, 664, 666, 651, 652, + 653, 644, 646, 647, 645, 0, 0, 0, 0, 0, + 0, 828, 0, 0, 0, 0, 0, 0, 848, 431, + 431, 641, 0, 667, 649, 643, 642, 844, 0, 231, + 656, 654, 655, 0, 939, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 658, 657, 648, 650, 661, + 662, 659, 660, 663, 665, 664, 666, 651, 652, 653, + 644, 646, 647, 645, 0, 0, 0, 0, 641, 846, + 667, 649, 643, 642, 0, 0, 0, 340, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, + 0, 0, 658, 657, 648, 650, 661, 662, 659, 660, + 663, 665, 664, 666, 651, 652, 653, 644, 646, 647, + 645, 0, 0, 431, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 231, 0, 231, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, - 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 231, + 33, 0, 0, 21, 0, 0, 431, 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, @@ -844,6 +801,137 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 632, 34, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, + 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 501, 34, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, + 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 1040, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 1037, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 1009, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 992, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 991, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 970, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 969, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 967, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, @@ -857,11 +945,11 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 1048, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 946, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 32, 0, 33, 866, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, @@ -870,10 +958,10 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 1038, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 29, 0, 0, 0, 94, 28, 19, 18, 686, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, @@ -883,7 +971,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 1028, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -896,11 +984,11 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 994, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 565, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 993, 32, 0, 33, 0, 0, 21, 0, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, @@ -909,7 +997,7 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, @@ -922,139 +1010,8 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 972, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, - 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 971, 34, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 969, 34, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 968, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, - 33, 918, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 684, 20, 0, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 563, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 326, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 943, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 915, 62, 0, 96, 0, 0, 0, 57, 56, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, @@ -1067,7 +1024,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 811, 62, 0, 96, 0, 0, 0, 57, + 0, 34, 943, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -1080,7 +1037,7 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 335, 62, 0, 96, 0, 0, 0, + 16, 0, 34, 916, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, @@ -1093,7 +1050,7 @@ var yyAct = [...]int{ 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 332, 62, 0, 96, 0, 0, + 76, 16, 0, 34, 710, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, @@ -1104,164 +1061,202 @@ var yyAct = [...]int{ 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 168, 170, 169, 191, 0, 54, 55, 0, + 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, - 0, 835, 192, 172, 176, 175, 654, 652, 653, 0, + 91, 76, 16, 0, 34, 335, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 0, 34, 332, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, + 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, + 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 0, 0, 841, 0, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 782, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 785, 639, 0, 665, 647, 641, 640, - 654, 652, 653, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 743, 0, 0, 656, 655, - 646, 648, 659, 660, 657, 658, 661, 663, 662, 664, - 649, 650, 651, 642, 644, 645, 643, 0, 639, 0, - 665, 647, 641, 640, 168, 170, 169, 191, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 0, 0, 836, 192, 172, 176, 175, 656, 654, + 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 786, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 789, 641, 0, 667, 649, + 643, 642, 656, 654, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, + 658, 657, 648, 650, 661, 662, 659, 660, 663, 665, + 664, 666, 651, 652, 653, 644, 646, 647, 645, 0, + 641, 0, 667, 649, 643, 642, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 656, 655, 646, 648, 659, 660, 657, 658, - 661, 663, 662, 664, 649, 650, 651, 642, 644, 645, - 643, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 658, 657, 648, 650, 661, 662, + 659, 660, 663, 665, 664, 666, 651, 652, 653, 644, + 646, 647, 645, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 744, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 740, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 168, 170, + 174, 177, 179, 180, 178, 699, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 697, 0, 0, 0, 0, 192, 172, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 696, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 694, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 631, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 629, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 628, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 626, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, + 174, 177, 179, 180, 178, 610, 0, 0, 192, 172, + 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 608, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 591, + 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 589, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 0, 0, 0, 0, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 401, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 425, 0, 0, 192, - 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 394, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, + 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 345, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 402, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 344, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 654, 652, 653, 0, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 426, 0, + 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 639, 0, 665, 647, 641, 640, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 656, 655, 646, - 648, 659, 660, 657, 658, 661, 663, 662, 664, 649, - 650, 651, 642, 644, 645, 643, 0, 0, 0, 192, - 172, 176, 175, 652, 653, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 639, 0, 665, 647, 641, 640, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 656, 655, 646, 648, 659, 660, - 657, 658, 661, 663, 662, 664, 649, 650, 651, 642, - 644, 645, 643, 0, 0, 192, 172, 176, 175, 0, - 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 180, 178, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 639, 0, 665, 647, - 641, 640, 169, 191, 0, 0, 0, 0, 0, 0, + 182, 174, 177, 179, 180, 178, 395, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 345, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 656, 655, 646, 648, 659, 660, 657, 658, 661, 663, - 662, 664, 649, 650, 651, 642, 644, 645, 643, 0, - 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 344, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 656, 654, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 192, 172, 176, 175, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 0, 641, 0, 667, 649, 643, + 642, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, + 657, 648, 650, 661, 662, 659, 660, 663, 665, 664, + 666, 651, 652, 653, 644, 646, 647, 645, 0, 0, + 0, 192, 172, 176, 175, 654, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 172, 176, 175, 191, 0, 0, 0, + 180, 178, 641, 0, 667, 649, 643, 642, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 658, 657, 648, 650, + 661, 662, 659, 660, 663, 665, 664, 666, 651, 652, + 653, 644, 646, 647, 645, 0, 0, 192, 172, 176, + 175, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 192, + 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 172, 176, 175, 0, 0, 0, - 0, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, - 486, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 639, - 62, 479, 96, 641, 640, 485, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 659, 660, 657, - 658, 661, 663, 662, 664, 649, 650, 651, 642, 644, - 645, 643, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 641, 0, 0, 649, 643, 642, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, + 0, 0, 649, 643, 642, 658, 657, 648, 650, 661, + 662, 659, 660, 663, 665, 664, 666, 651, 652, 653, + 644, 646, 647, 645, 657, 648, 650, 661, 662, 659, + 660, 663, 665, 664, 666, 651, 652, 653, 644, 646, + 647, 645, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 176, 175, 0, 0, 0, 0, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 142, 112, 108, 102, 487, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 641, + 91, 76, 649, 643, 642, 0, 62, 480, 96, 0, + 0, 486, 57, 56, 58, 59, 72, 119, 0, 0, + 0, 0, 0, 0, 0, 648, 650, 661, 662, 659, + 660, 663, 665, 664, 666, 651, 652, 653, 644, 646, + 647, 645, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, 142, 112, 108, - 102, 486, 84, 85, 86, 0, 0, 0, 0, 79, + 102, 487, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 0, 0, 485, 57, 56, 58, + 0, 62, 0, 96, 0, 0, 486, 57, 56, 58, 59, 72, 119, 0, 0, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 639, 0, 0, 647, 641, 640, 0, 0, + 180, 178, 641, 0, 0, 649, 643, 642, 0, 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 648, - 659, 660, 657, 658, 661, 663, 662, 664, 649, 650, - 651, 642, 644, 645, 643, 44, 0, 0, 0, 0, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 650, + 661, 662, 659, 660, 663, 665, 664, 666, 651, 652, + 653, 644, 646, 647, 645, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, @@ -1270,7 +1265,7 @@ var yyAct = [...]int{ 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 176, 175, 844, 57, 56, 58, + 0, 62, 0, 96, 176, 175, 845, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, @@ -1283,7 +1278,7 @@ var yyAct = [...]int{ 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 615, 57, 56, + 0, 0, 62, 0, 96, 0, 0, 617, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1296,7 +1291,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, 0, - 0, 0, 0, 62, 0, 96, 0, 0, 613, 57, + 0, 0, 0, 62, 0, 96, 0, 0, 615, 57, 56, 58, 59, 72, 119, 0, 0, 0, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, @@ -1320,15 +1315,15 @@ var yyAct = [...]int{ 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 427, 96, 0, 0, 0, + 0, 0, 0, 0, 62, 428, 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 94, 0, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, @@ -1338,7 +1333,7 @@ var yyAct = [...]int{ 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 403, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 404, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1391,7 +1386,7 @@ var yyAct = [...]int{ 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 439, 120, + 119, 82, 83, 71, 0, 104, 105, 125, 440, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, @@ -1414,214 +1409,212 @@ var yyAct = [...]int{ 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 104, 105, 125, 77, 41, 148, 0, 0, 0, - 0, 526, 54, 55, 0, 64, 65, 66, 67, 68, + 0, 527, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 521, 0, 524, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 527, 0, 0, - 0, 0, 519, 112, 108, 520, 104, 105, 125, 0, - 0, 0, 0, 0, 0, 0, 526, 0, 0, 0, + 0, 0, 0, 522, 0, 525, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 528, 0, 0, + 0, 0, 520, 112, 108, 521, 104, 105, 125, 0, + 0, 0, 0, 0, 0, 0, 527, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 775, 533, 0, 522, 0, - 0, 0, 532, 531, 529, 530, 0, 0, 521, 0, - 524, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 527, 0, 0, 0, 0, 519, 112, 108, - 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 779, 534, 0, 523, 0, + 0, 0, 533, 532, 530, 531, 0, 0, 522, 0, + 525, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 528, 0, 0, 0, 0, 520, 112, 108, + 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 533, 0, 522, 0, 0, 0, 532, 531, 529, - 530, + 0, 534, 0, 523, 0, 0, 0, 533, 532, 530, + 531, } var yyPact = [...]int{ - -1000, -1000, 2503, -1000, -1000, -1000, -1000, 326, 588, 680, - 135, -1000, 339, -1000, -1000, 896, -1000, 268, 268, 5123, - 322, 268, 7825, 7694, 7563, 398, 176, 772, 7956, -1000, - 5954, 319, 316, -1000, -1000, 428, 7956, 895, 7, 891, - 890, 7956, -1000, -1000, -1000, -1000, 686, -1000, 677, -1000, - -71, 312, 7956, 452, 469, 469, 7956, 7956, 7956, 7956, - -1000, -1000, 8218, -1000, 7956, 7956, 7956, 7956, 7956, 7956, - 7956, 310, -1000, -1000, 214, 212, 876, 7956, 635, 626, - 309, 308, 7956, 7956, 307, 7956, 7956, -1000, 209, -1000, - -1000, 835, 756, -1000, 208, 306, 7170, -1000, 207, 195, - -1000, 272, 866, 539, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 149, 175, -1000, 534, 267, -1000, 427, - -1000, 261, 344, -1000, 866, -1000, 123, 620, 603, -1000, - 674, 866, -1000, 888, -1000, 0, 4206, 4992, 8218, 4861, - 760, 7, 518, 7956, 305, -1000, 5907, -1000, 738, -1000, - 5860, -1000, 396, 1242, 6042, -1000, 112, -1000, -1000, 424, - 106, 7, -5, 100, 6042, -1000, -1000, -1000, -1000, -1000, - 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, - 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, - 7956, 626, 330, 469, 7956, 297, -1000, 5813, 395, 885, - -1000, 672, -1000, -1000, -71, 5766, -1000, -1000, 7432, 7956, - 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, 7956, - 7956, 391, -1000, -1000, -1000, -1000, -1000, 272, 517, 866, - 533, 529, -1000, -1000, -105, -105, -29, -105, 260, 5722, - 257, -105, -105, -105, -105, -105, -105, -105, -1000, 7301, - -1000, 7956, 7956, 7956, 435, 745, 752, -1000, 233, 8087, - 469, 6254, 97, 267, 528, -1000, 494, 515, 866, 575, - 149, 175, 526, 7956, 7956, 6042, 6042, 7956, 6042, 6042, - 7956, 512, 745, 716, -1000, 702, 7956, 7170, 163, 54, - 5678, 469, 7956, 7956, 882, -1000, 6467, 272, 230, 7956, - 7956, 149, 427, 166, -1000, 7956, 392, -1000, -1000, 2372, - 272, -1000, 681, 50, -1000, 665, 866, -8, -1000, 604, - 866, 881, 557, -10, 8378, -1000, -1000, -1000, -1000, -1000, - 295, -1000, -1000, -1000, -1000, -1000, 268, -1000, 390, 48, - 6042, -1000, 389, 387, -1000, -1000, -1000, -1000, -1000, 176, - -1000, 7956, -1000, -1000, 834, -1000, 8378, -1000, 7956, 7956, - 7956, 7956, 7956, 6213, 7006, 6755, 1899, -1, -1, -1, - -29, -105, -29, -29, 130, 130, 1336, 1336, 1336, 1336, - 293, 293, 293, 293, -1000, 7956, -1000, 108, -1000, -1000, - 1159, 766, 880, 4075, -1000, -1000, -1000, 294, -1000, 664, - 668, 7956, 6254, 314, 6254, 6254, 6254, 6254, 6254, 6254, - 6254, 6254, 6254, 6254, 6254, 6254, 91, -1000, -1000, 292, - 866, 272, 97, 97, -1000, -1000, -1000, -1000, -105, 162, - 6042, 161, -1000, -1000, -1000, -1000, 861, 879, 5597, 194, - 400, -1000, 204, -1000, -1000, 149, 175, -1000, 7956, -1000, - -1000, 174, 866, 494, 97, 149, 174, 56, -1000, -71, - -1000, 971, 256, 5549, 158, -1000, -1000, -1000, 155, 253, - -1000, -1000, 7020, 6889, -1000, -1000, 153, 152, -1000, -1000, - 55, 252, -1000, -1000, -71, 469, 7956, -1000, 267, 267, - -1000, -1000, 151, 5505, 267, 267, -1000, 5457, -1000, 2241, - -1000, -1000, -1000, -1000, 620, 875, 549, -1000, 603, 873, - 541, -1000, 872, 8378, -1000, 5998, -1000, -1000, 494, 510, - 866, 290, 8378, -1000, -1000, -1000, -1000, 696, 524, 8378, - 8378, 8378, 8378, 8378, 251, 481, 4337, 3944, 386, 7956, - 7956, 465, -1000, 830, -1000, -1000, 5409, -22, 287, -1000, - 6042, 6336, 6584, 6128, 6254, 5361, 7956, 383, 469, 291, - 291, -2, -26, 733, 286, 679, 654, -1000, 494, 505, - 866, 423, 664, -1000, -71, -1000, 626, -31, 391, 391, - 272, -1000, -1000, -1000, 147, -1000, -1000, -1000, -1000, -1000, - 7956, -1000, -1000, 181, 173, 267, 7956, 7956, 149, 5315, - -1000, 494, -1000, -1000, -1000, 7956, -1000, -1000, -1000, -1000, - -1000, -1000, 5267, 469, 6042, 469, -1000, -1000, -1000, 6598, - -1000, -1000, 6042, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 871, -1000, -1000, 868, -1000, -1000, 8378, - 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, - 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, 8378, - 8378, 8378, 8378, 8378, 8378, 8303, 866, 494, 8378, 141, - 35, 5223, 543, 720, -72, -72, -74, -74, 5179, 379, - -1000, 268, 5123, 475, 374, -1000, 373, 6042, -1000, 7956, - 285, 444, 372, 822, -1000, 8378, 679, -1000, 6295, -1000, - -1000, 566, -1000, 469, 276, 566, 4730, 867, 8378, 717, - 269, 679, 250, 33, -1000, 7, -1000, -1000, -1000, 421, - 664, 866, 494, -1000, 32, -1000, -1000, 7956, -1000, -20, - -1000, 177, -1000, 5135, 570, 7956, 7956, -1000, 131, 2035, - -1000, 571, -1000, 6758, -1000, -1000, -1000, -1000, -1000, 1921, - -74, -74, -72, -72, -72, -72, 6627, 6464, 1740, 99, - 99, -74, 6171, -9, 6085, 44, 1595, 1032, 1032, 1032, - 1032, 88, 88, 88, 88, 8378, 1794, 494, 248, -1000, - -1000, 8378, 8378, -1000, -1000, -1000, -1000, 5123, -1000, 459, - 268, 329, -1000, 7956, 1654, -1000, -1000, -1000, -1000, -1000, - 371, -1000, 247, 7956, 243, 291, -1000, 391, 242, -1000, - -1000, -1000, -34, -1000, -1000, -1000, -1000, 241, 709, 679, - 331, -1000, 32, 494, 698, 664, 267, 6254, -1000, -1000, - 150, 570, 7956, -1000, 97, 296, -1000, 120, 119, -1000, - -1000, -1000, 97, 6042, 469, -1000, 1981, 8378, -1000, 1092, - 5998, -1000, 369, 315, -1000, 238, -1000, 4337, -1000, 709, - 6295, 4599, -1000, -23, 4599, 3813, 8378, 420, 664, 419, - 416, 265, -1000, 832, -1000, 687, -1000, -1000, -1000, -27, - -1000, 738, 578, -1000, 865, 664, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 7956, 570, -1000, 113, -1000, - -1000, -1000, -1000, -1000, -1000, 1981, 8378, -1000, -1000, 4337, - 4468, 4337, 408, -1000, -1000, -1000, -1000, -1000, 364, -1000, - -1000, -1000, -1000, -1000, 202, -48, -1000, 826, -1000, 862, - 7, -1000, -49, -37, -1000, 111, 570, -1000, -1000, 5998, - 4337, -1000, -1000, -1000, -1000, 3682, -1000, 3551, 824, 3420, - 3289, -38, -1000, 818, 8378, -36, -53, -57, 855, 8378, - -1000, 664, -1000, 688, -1000, -1000, 3158, 3027, 363, -1000, - 229, -1000, -1000, -1000, 200, -1000, -1000, -1000, 812, 8378, - 8378, -1000, -1000, -1000, 288, 688, -1000, 361, 350, 703, - 751, 523, -1000, 348, -1000, -1000, -1000, -1000, 804, -73, - -1000, -1000, 264, -1000, -1000, -1000, -1000, 664, 578, 854, - -1000, 407, -1000, 8378, 679, -35, -1000, 846, -1000, -1000, - -1000, -1000, 228, 664, -1000, 2896, 345, -1000, -1000, -1000, - -1000, -1000, 724, 2765, -1000, 724, -1000, 263, -1000, -1000, - 664, -1000, 790, 167, -1000, 393, -1000, 2634, -1000, + -1000, -1000, 2335, -1000, -1000, -1000, -1000, 303, 485, 735, + 88, -1000, 306, -1000, -1000, 915, -1000, 253, 253, 4955, + 302, 253, 7775, 7644, 7513, 365, 216, 795, 7906, -1000, + 5866, 298, 297, 296, -1000, 401, 7906, 912, 86, 911, + 910, 7906, -1000, -1000, -1000, -1000, 637, -1000, 586, -1000, + 1507, 295, 7906, 422, 240, 240, 7906, 7906, 7906, 7906, + -1000, -1000, 8168, -1000, 7906, 7906, 7906, 7906, 7906, 7906, + 7906, 293, -1000, -1000, 158, 157, 879, 7906, 570, 300, + 292, 290, 7906, 7906, 287, 7906, 7906, -1000, 156, -1000, + -1000, 830, 777, -1000, 154, 283, 7120, -1000, 152, 150, + -1000, 264, 845, 517, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 124, 215, -1000, 514, 252, -1000, 395, + -1000, 217, 332, -1000, 845, -1000, 72, 553, 549, -1000, + 693, 845, -1000, 909, -1000, -13, 4038, 4824, 8168, 4693, + 716, 86, 490, 7906, 285, -1000, 5819, -1000, 686, -1000, + 5772, -1000, 364, 1395, 5954, -1000, 68, -1000, -1000, 266, + 36, 86, -27, 35, 5954, -1000, -1000, -1000, -1000, -1000, + 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, + 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, + 7906, 300, 305, 240, 7906, 908, -1000, 5725, 362, 907, + -1000, 577, -1000, -1000, 1507, 5678, -1000, -1000, 7382, 7906, + 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, + 7906, 186, -1000, -1000, -1000, -1000, -1000, 264, 489, 845, + 513, 511, -1000, -1000, -116, -116, -23, -116, 202, 5634, + 200, -116, -116, -116, -116, -116, -116, -116, -1000, 7251, + -1000, 7906, 7906, 7906, 403, 822, 780, -1000, 214, 8037, + 240, 6123, 76, 252, 506, -1000, 476, 488, 845, 562, + 124, 215, 500, 7906, 7906, 5954, 5954, 7906, 5954, 5954, + 7906, 477, 822, 708, -1000, 727, 7906, 7120, 140, 78, + 5590, 240, 7906, 7906, 906, -1000, 6393, 264, 112, 7906, + 7906, 124, 395, 87, -1000, 7906, 360, -1000, -1000, 2204, + 264, -1000, 623, -8, -1000, 674, 845, -25, -1000, 610, + 845, 903, 558, -28, 8328, -1000, -1000, -1000, -1000, -1000, + 280, -1000, -1000, -1000, -1000, -1000, 253, -1000, 359, 77, + 5954, -1000, 358, 356, -1000, -1000, -1000, -1000, -1000, 216, + -1000, 7906, -1000, -1000, 793, -1000, 8328, -1000, 7906, 7906, + 7906, 7906, 7906, 6082, 6956, 6705, 7249, -12, -12, -12, + -23, -116, -23, -23, 204, 204, -24, -24, -24, -24, + 301, 301, 301, 301, -1000, 7906, -1000, 67, -1000, -1000, + 1199, 702, 66, -32, 3907, -1000, -1000, -1000, 279, -1000, + 538, 555, 7906, 6123, 350, 6123, 6123, 6123, 6123, 6123, + 6123, 6123, 6123, 6123, 6123, 6123, 6123, 42, -1000, -1000, + 276, 845, 264, 76, 76, -1000, -1000, -1000, -1000, -116, + 133, 5954, 132, -1000, -1000, -1000, -1000, 796, 901, 5509, + 149, 371, -1000, 137, -1000, -1000, 124, 215, -1000, 7906, + -1000, -1000, 213, 845, 476, 76, 124, 213, 39, -1000, + 1507, -1000, 931, 194, 5461, 129, -1000, -1000, -1000, 128, + 192, -1000, -1000, 6970, 6839, -1000, -1000, 127, 125, -1000, + -1000, 24, 185, -1000, -1000, 1507, 240, 7906, -1000, 252, + 252, -1000, -1000, 122, 5417, 252, 252, -1000, 5369, -1000, + 2073, -1000, -1000, -1000, -1000, 553, 899, 527, -1000, 549, + 895, 526, -1000, 894, 8328, -1000, 5910, -1000, -1000, 476, + 487, 845, 273, 8328, -1000, -1000, -1000, -1000, 598, 499, + 8328, 8328, 8328, 8328, 8328, 183, 446, 4169, 3776, 354, + 7906, 7906, 425, -1000, 869, -1000, -1000, 5321, -36, 270, + -1000, 5954, 6262, 6534, 6040, 6123, 5273, 7906, 353, 240, + 1070, 1070, 4562, 887, 8328, 670, 263, 614, 550, -1000, + 476, 482, 845, 394, 538, -1000, 1507, -1000, 300, -49, + 186, 186, 264, -1000, -1000, -1000, 118, -1000, -1000, -1000, + -1000, -1000, 7906, -1000, -1000, 145, 142, 252, 7906, 7906, + 124, 5227, -1000, 476, -1000, -1000, -1000, 7906, -1000, -1000, + -1000, -1000, -1000, -1000, 5179, 240, 5954, 240, -1000, -1000, + -1000, 6548, -1000, -1000, 5954, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 885, -1000, -1000, 884, -1000, + -1000, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, + 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, + 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8253, 845, 476, + 8328, 108, 26, 5135, 523, 666, -65, -65, -75, -75, + 5091, 352, -1000, 253, 4955, 443, 348, -1000, 338, 5954, + -1000, 7906, 267, 391, 334, 812, -1000, 8328, 614, -1000, + 4953, -1000, -1000, 544, -1000, 240, 261, 544, -1000, -1000, + -1000, -62, -1000, 665, 255, 614, 181, -4, -1000, 86, + -1000, -1000, -1000, 393, 538, 845, 476, -1000, -5, -1000, + -1000, 7906, -1000, 23, -1000, 176, -1000, 5047, 546, 7906, + 7906, -1000, 106, 5003, -1000, 557, -1000, 6708, -1000, -1000, + -1000, -1000, -1000, 1873, -75, -75, -65, -65, -65, -65, + 6577, 604, 1393, -48, -48, -75, 1161, 1767, 5997, 6384, + 6184, 21, 21, 21, 21, 75, 75, 75, 75, 8328, + 1826, 476, 180, -1000, -1000, 8328, 8328, -1000, -1000, -1000, + -1000, 4955, -1000, 435, 253, 241, -1000, 7906, 1475, -1000, + -1000, -1000, -1000, -1000, 331, -1000, 174, 7906, 172, 1070, + -1000, 186, 171, 3645, 8328, -1000, 389, 538, 167, 653, + 614, 469, -1000, -5, 476, 1088, 538, 252, 6123, -1000, + -1000, 138, 546, 7906, -1000, 76, 370, -1000, 103, 94, + -1000, -1000, -1000, 76, 5954, 240, -1000, 6166, 8328, -1000, + 1695, 5910, -1000, 328, 201, -1000, 166, -1000, 4169, -1000, + 653, 4953, 4431, -1000, -40, 4431, 324, -1000, -1000, 788, + 388, 386, 238, -1000, 783, -1000, 399, -1000, -1000, -1000, + -50, -1000, 686, 585, -1000, 838, 538, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 7906, 546, -1000, 90, + -1000, -1000, -1000, -1000, -1000, -1000, 6166, 8328, -1000, -1000, + 4169, 4300, 4169, 385, -1000, -1000, -1000, -1000, -1000, -1000, + 3514, 165, -1000, -1000, 245, -63, -1000, 781, -1000, 819, + 86, -1000, -66, -56, -1000, 89, 546, -1000, -1000, 5910, + 4169, -1000, -1000, -1000, -1000, 3383, -1000, 384, 3252, 3121, + -52, -1000, 776, 8328, -60, -68, -72, 814, 8328, -1000, + 538, -1000, 547, -1000, -1000, 2990, 2859, 323, -1000, -1000, + -1000, -1000, 199, -1000, -1000, -1000, 743, 8328, 8328, -1000, + -1000, -1000, 368, 547, -1000, 321, 319, 649, 695, 498, + -1000, 312, -1000, -1000, 2728, -1000, 741, -74, -1000, -1000, + 235, -1000, -1000, -1000, -1000, 538, 585, 804, -1000, 669, + -1000, 8328, 614, -59, -1000, 801, -1000, -1000, -1000, 669, + -1000, 228, -1000, 164, 538, -1000, -1000, 538, 317, -1000, + 728, -1000, -1000, -1000, 162, 2597, 377, -1000, -1000, 2466, + -1000, } var yyPgo = [...]int{ - 0, 134, 1141, 32, 45, 35, 622, 1140, 1139, 44, - 280, 1312, 18, 1377, 81, 78, 59, 749, 1425, 1138, - 31, 1137, 1135, 1134, 37, 1133, 47, 41, 1132, 1131, - 1130, 1129, 58, 1124, 1123, 29, 1122, 30, 64, 23, - 1121, 688, 33, 1120, 11, 1104, 1100, 24, 1099, 54, - 49, 36, 1097, 1096, 1094, 1093, 1092, 34, 5, 60, - 0, 1090, 1089, 1087, 182, 1083, 1081, 590, 1079, 1078, - 50, 15, 1077, 8, 1076, 1074, 1073, 25, 38, 1072, - 1071, 139, 21, 27, 7, 1070, 1069, 1068, 16, 130, - 1067, 1066, 1065, 1064, 1061, 1060, 1059, 1058, 1057, 1054, - 1053, 1051, 1050, 1049, 2, 1048, 1047, 1045, 1043, 19, - 1042, 1040, 3, 1036, 1034, 1033, 1032, 13, 1031, 1030, - 1029, 20, 22, 1028, 14, 1027, 1026, 48, 1025, 1023, - 1020, 1017, 1013, 1012, 1011, 1009, 1007, 1006, 1005, 1004, - 1003, 4, 1002, 999, 998, 995, 993, 991, 1, 988, - 6, 17, 987, 985, 983, 977, 972, 971, 970, 969, - 968, 967, 966, 965, 963, 961, 959, 958, 956, 919, - 693, 26, 918, 917, 28, 12, 916, 915, 913, 910, - 909, + 0, 98, 1172, 41, 38, 37, 456, 1170, 1169, 93, + 217, 1253, 6, 1209, 69, 59, 5, 735, 120, 1167, + 32, 1166, 1165, 1164, 27, 1163, 40, 23, 1161, 1159, + 1158, 1157, 46, 1156, 1155, 26, 1151, 31, 36, 172, + 1150, 713, 34, 1147, 199, 1146, 1145, 35, 1144, 58, + 49, 42, 1143, 1141, 1140, 1139, 1137, 33, 20, 1136, + 1133, 2, 44, 0, 1131, 1130, 1128, 114, 1097, 1096, + 586, 1095, 1094, 43, 19, 1092, 28, 1091, 1090, 1089, + 25, 39, 1088, 1087, 1085, 1084, 1081, 1062, 950, 18, + 22, 14, 1061, 1060, 1057, 13, 218, 1054, 1053, 1052, + 1051, 7, 1050, 1049, 1, 1045, 1043, 1042, 1041, 16, + 1040, 1036, 1034, 29, 21, 1033, 15, 1023, 1020, 48, + 1018, 1010, 1007, 1005, 1000, 999, 998, 996, 994, 993, + 992, 986, 985, 11, 976, 975, 974, 973, 969, 968, + 8, 967, 12, 4, 965, 964, 962, 960, 958, 953, + 952, 951, 949, 948, 947, 946, 945, 944, 943, 940, + 936, 935, 1056, 24, 934, 933, 17, 3, 931, 928, + 927, 926, 822, } var yyR1 = [...]int{ - 0, 91, 59, 59, 60, 60, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 61, 61, 3, - 3, 3, 3, 62, 62, 4, 4, 4, 4, 63, - 63, 5, 5, 5, 5, 52, 52, 64, 64, 23, + 0, 98, 62, 62, 63, 63, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 64, 64, 3, + 3, 3, 3, 65, 65, 4, 4, 4, 4, 66, + 66, 5, 5, 5, 5, 52, 52, 67, 67, 23, 23, 23, 23, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 92, 25, - 25, 25, 25, 25, 95, 97, 98, 99, 100, 95, - 96, 102, 96, 101, 101, 103, 103, 105, 106, 104, - 80, 80, 57, 50, 51, 109, 109, 110, 110, 111, - 107, 115, 108, 119, 108, 113, 113, 113, 113, 114, - 114, 118, 120, 120, 116, 116, 121, 121, 83, 83, - 82, 82, 82, 56, 56, 58, 58, 94, 94, 93, - 93, 90, 90, 90, 90, 78, 78, 78, 122, 122, - 55, 55, 74, 74, 75, 75, 53, 53, 54, 54, - 112, 112, 123, 123, 124, 124, 125, 125, 125, 125, - 89, 89, 89, 126, 126, 127, 127, 127, 127, 65, - 65, 26, 26, 26, 66, 66, 66, 66, 117, 117, - 130, 128, 128, 128, 135, 128, 133, 137, 137, 138, - 138, 139, 139, 140, 140, 141, 141, 142, 145, 145, - 146, 146, 144, 143, 143, 147, 147, 136, 136, 129, - 129, 134, 134, 149, 149, 148, 148, 148, 148, 148, - 148, 131, 131, 131, 131, 132, 132, 79, 79, 77, - 77, 76, 76, 150, 150, 152, 152, 154, 153, 153, - 153, 155, 156, 155, 41, 14, 14, 14, 157, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 158, 14, 159, - 14, 160, 14, 161, 14, 14, 14, 14, 14, 14, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 85, 85, 60, 60, 86, 86, 87, + 87, 61, 83, 83, 57, 50, 51, 101, 101, 102, + 102, 103, 99, 107, 100, 111, 100, 105, 105, 105, + 105, 106, 106, 110, 112, 112, 108, 108, 113, 113, + 90, 90, 89, 89, 89, 56, 56, 58, 58, 59, + 59, 84, 84, 97, 97, 97, 97, 81, 81, 81, + 114, 114, 55, 55, 77, 77, 78, 78, 53, 53, + 54, 54, 104, 104, 115, 115, 116, 116, 117, 117, + 117, 117, 96, 96, 96, 118, 118, 119, 119, 119, + 119, 68, 68, 26, 26, 26, 69, 69, 69, 69, + 109, 109, 122, 120, 120, 120, 127, 120, 125, 129, + 129, 130, 130, 131, 131, 132, 132, 133, 133, 134, + 137, 137, 138, 138, 136, 135, 135, 139, 139, 128, + 128, 121, 121, 126, 126, 141, 141, 140, 140, 140, + 140, 140, 140, 123, 123, 123, 123, 124, 124, 82, + 82, 80, 80, 79, 79, 142, 142, 144, 144, 146, + 145, 145, 145, 147, 148, 147, 41, 14, 14, 14, + 149, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 150, + 14, 151, 14, 152, 14, 153, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 162, 14, 163, 164, 14, 165, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 166, - 14, 14, 14, 14, 14, 14, 14, 168, 14, 169, - 14, 49, 49, 49, 49, 46, 46, 46, 46, 45, - 45, 1, 73, 73, 72, 72, 72, 72, 22, 22, - 22, 22, 22, 22, 22, 22, 10, 10, 10, 10, - 44, 44, 44, 42, 42, 40, 40, 86, 86, 87, - 48, 48, 48, 167, 167, 167, 88, 88, 6, 6, + 14, 14, 14, 14, 14, 154, 14, 155, 156, 14, + 157, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 158, 14, 14, 14, 14, 14, 14, 14, 160, + 14, 161, 14, 49, 49, 49, 49, 46, 46, 46, + 46, 45, 45, 1, 76, 76, 75, 75, 75, 75, + 22, 22, 22, 22, 22, 22, 22, 22, 10, 10, + 10, 10, 44, 44, 44, 42, 42, 40, 40, 93, + 93, 94, 48, 48, 48, 159, 159, 159, 95, 95, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 27, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 34, 34, 34, 34, 28, - 28, 28, 28, 28, 28, 28, 171, 171, 174, 174, - 173, 173, 173, 173, 13, 13, 47, 47, 15, 16, - 17, 18, 18, 176, 176, 177, 151, 178, 178, 180, - 179, 175, 175, 175, 39, 39, 43, 43, 11, 21, - 21, 19, 19, 19, 20, 20, 20, 9, 9, 9, - 8, 8, 12, 12, 84, 84, 85, 85, 85, 38, - 38, 81, 81, 71, 71, 37, 37, 37, 70, 70, - 69, 69, 69, 69, 69, 69, 69, 69, 67, 67, - 67, 67, 32, 32, 32, 32, 32, 32, 33, 33, - 33, 36, 36, 36, 36, 36, 36, 36, 36, 68, - 68, 35, 35, 29, 29, 30, 31, + 6, 6, 7, 27, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 34, 34, 34, + 34, 28, 28, 28, 28, 28, 28, 28, 163, 163, + 166, 166, 165, 165, 165, 165, 13, 13, 47, 47, + 15, 16, 17, 18, 18, 168, 168, 169, 143, 170, + 170, 172, 171, 167, 167, 167, 39, 39, 43, 43, + 11, 21, 21, 19, 19, 19, 20, 20, 20, 9, + 9, 9, 8, 8, 12, 12, 91, 91, 92, 92, + 92, 38, 38, 88, 88, 74, 74, 37, 37, 37, + 73, 73, 72, 72, 72, 72, 72, 72, 72, 72, + 70, 70, 70, 70, 32, 32, 32, 32, 32, 32, + 33, 33, 33, 36, 36, 36, 36, 36, 36, 36, + 36, 71, 71, 35, 35, 29, 29, 30, 31, } var yyR2 = [...]int{ @@ -1631,271 +1624,270 @@ var yyR2 = [...]int{ 1, 1, 3, 2, 4, 5, 4, 2, 0, 1, 1, 1, 4, 1, 2, 3, 5, 8, 3, 5, 9, 3, 2, 3, 2, 3, 2, 3, 3, 2, - 3, 3, 3, 1, 2, 5, 8, 8, 0, 6, - 1, 6, 3, 3, 0, 0, 0, 0, 0, 13, - 0, 0, 5, 1, 0, 1, 2, 0, 0, 10, - 1, 3, 1, 1, 1, 0, 1, 0, 1, 0, - 10, 0, 8, 0, 7, 1, 2, 1, 2, 0, - 2, 1, 0, 2, 0, 2, 1, 3, 0, 2, - 1, 2, 4, 1, 4, 1, 4, 1, 4, 3, - 5, 3, 4, 4, 5, 0, 5, 4, 1, 1, - 1, 4, 0, 4, 0, 5, 0, 2, 0, 3, - 1, 0, 1, 3, 4, 6, 0, 1, 1, 1, - 2, 3, 3, 1, 3, 1, 1, 2, 2, 3, - 1, 1, 2, 4, 3, 5, 1, 3, 2, 0, - 0, 4, 2, 1, 0, 9, 3, 1, 3, 1, - 3, 0, 1, 1, 2, 2, 2, 3, 1, 3, - 1, 1, 3, 4, 3, 0, 1, 1, 3, 1, - 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, - 1, 3, 1, 2, 1, 4, 3, 0, 3, 1, - 1, 0, 0, 2, 3, 6, 3, 4, 0, 7, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 0, 4, 0, - 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 1, 1, 0, 5, 0, 0, 7, 0, 5, - 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, - 3, 1, 1, 1, 3, 2, 1, 0, 10, 0, - 11, 2, 2, 4, 4, 4, 4, 4, 4, 4, - 3, 1, 0, 4, 3, 4, 1, 2, 2, 4, - 3, 4, 4, 4, 4, 2, 1, 1, 3, 2, - 1, 3, 2, 1, 1, 4, 1, 2, 0, 2, - 0, 2, 1, 0, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, - 3, 1, 1, 1, 1, 3, 2, 4, 3, 1, - 1, 1, 4, 3, 3, 3, 3, 3, 3, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 1, 2, 5, 8, 8, 5, 1, + 6, 3, 3, 0, 9, 0, 4, 1, 0, 1, + 2, 8, 1, 3, 1, 1, 1, 0, 1, 0, + 1, 0, 10, 0, 8, 0, 7, 1, 2, 1, + 2, 0, 2, 1, 0, 2, 0, 2, 1, 3, + 0, 2, 1, 2, 4, 1, 4, 1, 4, 1, + 4, 3, 5, 3, 4, 4, 5, 0, 5, 4, + 1, 1, 1, 4, 0, 4, 0, 5, 0, 2, + 0, 3, 1, 0, 1, 3, 4, 6, 0, 1, + 1, 1, 2, 3, 3, 1, 3, 1, 1, 2, + 2, 3, 1, 1, 2, 4, 3, 5, 1, 3, + 2, 0, 0, 4, 2, 1, 0, 9, 3, 1, + 3, 1, 3, 0, 1, 1, 2, 2, 2, 3, + 1, 3, 1, 1, 3, 4, 3, 0, 1, 1, + 3, 1, 1, 0, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, + 1, 0, 1, 3, 1, 2, 1, 4, 3, 0, + 3, 1, 1, 0, 0, 2, 3, 6, 3, 4, + 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 2, 2, 2, 2, 0, + 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 4, 5, 2, 2, 3, 1, 1, 3, 2, 1, - 1, 1, 1, 3, 3, 1, 0, 2, 0, 1, - 5, 3, 3, 1, 1, 1, 3, 3, 1, 1, - 1, 5, 1, 2, 0, 0, 4, 4, 4, 0, - 2, 1, 1, 0, 1, 2, 3, 3, 1, 4, - 4, 1, 1, 1, 1, 2, 1, 4, 4, 1, - 1, 4, 0, 1, 1, 1, 4, 4, 1, 1, - 3, 1, 2, 3, 1, 1, 4, 0, 0, 2, - 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, - 1, 2, 1, 4, 3, 3, 6, 3, 1, 1, - 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, - 3, 1, 1, 3, 3, 3, 3, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 1, 1, 0, 5, 0, 0, 7, + 0, 5, 1, 2, 2, 2, 2, 2, 2, 2, + 2, 0, 3, 1, 1, 1, 3, 2, 1, 0, + 10, 0, 11, 2, 2, 4, 4, 4, 4, 4, + 4, 4, 3, 1, 0, 4, 3, 4, 1, 2, + 2, 4, 3, 4, 4, 4, 4, 2, 1, 1, + 3, 2, 1, 3, 2, 1, 1, 4, 1, 2, + 0, 2, 0, 2, 1, 0, 1, 1, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 2, 3, 1, 1, 1, 1, 3, 2, 4, + 3, 1, 1, 1, 4, 3, 3, 3, 3, 3, + 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 4, 5, 2, 2, 3, 1, 1, 3, + 2, 1, 1, 1, 1, 3, 3, 1, 0, 2, + 0, 1, 5, 3, 3, 1, 1, 1, 3, 3, + 1, 1, 1, 5, 1, 2, 0, 0, 4, 4, + 4, 0, 2, 1, 1, 0, 1, 2, 3, 3, + 1, 4, 4, 1, 1, 1, 1, 2, 1, 4, + 4, 1, 1, 4, 0, 1, 1, 1, 4, 4, + 1, 1, 3, 1, 2, 3, 1, 1, 4, 0, + 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, + 2, 2, 1, 2, 1, 4, 3, 3, 6, 3, + 1, 1, 1, 4, 4, 4, 2, 2, 4, 2, + 2, 1, 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -91, -59, -2, -24, -50, -51, 51, 79, 44, - -52, -25, 10, -107, -108, 38, 119, 7, 21, 20, + -1000, -98, -62, -2, -24, -50, -51, 51, 79, 44, + -52, -25, 10, -99, -100, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, - -13, 48, 25, 27, 121, 40, 43, 36, -1, -113, - -118, 97, -15, -14, 37, 52, 99, 53, 100, 54, + -13, 48, 25, 27, 121, 40, 43, 36, -1, -105, + -110, 97, -15, -14, 37, 52, 99, 53, 100, 54, -18, 59, 92, -17, 104, 105, 130, 129, 131, 132, -47, -41, 123, -36, 107, 108, 109, 110, 111, 112, 113, 6, 133, -28, -46, -45, 118, 96, -19, 91, 49, 50, 4, 5, 84, 85, 86, 11, -34, -31, -6, 117, 74, 62, 18, 60, 125, -20, -21, -22, - -29, -60, 82, -10, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -9, -81, -43, -11, -39, -8, 134, - 12, 123, -60, 119, 82, 10, -61, 37, 38, -3, - -60, 82, 121, 135, 122, 10, -64, -47, 123, -47, + -29, -63, 82, -10, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -9, -88, -43, -11, -39, -8, 134, + 12, 123, -63, 119, 82, 10, -64, 37, 38, -3, + -63, 82, 121, 135, 122, 10, -67, -47, 123, -47, -24, -1, 79, 123, -47, 121, -13, 97, 98, 121, - -13, 121, -14, -18, -13, 121, -65, -26, 12, 134, - -66, -1, 12, -79, -13, 121, 149, 150, 87, 89, + -13, 121, -14, -18, -13, 121, -68, -26, 12, 134, + -69, -1, 12, -82, -13, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -92, 119, -13, 10, -109, + 160, 90, 127, 123, 123, 123, 119, -13, 10, -101, 128, 10, 10, -14, -18, -13, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -13, 104, 105, -17, -18, -60, 79, 82, + 147, 123, -13, 104, 105, -17, -18, -63, 79, 82, -10, -11, 98, -17, -13, -13, -13, -13, -41, -13, -49, -13, -13, -13, -13, -13, -13, -13, -48, 123, - -47, -166, 125, 125, -167, 17, -67, -32, 12, 76, - 77, -13, 57, -42, -10, -40, -60, 79, 82, -20, - -9, -81, -11, 123, 123, -13, -13, 123, -13, -13, - 125, -67, 17, 17, 75, -67, 125, 123, -70, -69, - -13, 128, 125, 125, 82, -89, 123, -60, 78, 125, - 119, -9, 134, 78, -89, 119, 124, 121, 119, -59, - -60, 121, 135, -62, -4, -60, 82, -63, -5, -60, - 82, 29, -60, 10, 136, -23, 120, -24, -50, -51, - 51, -24, 122, -55, -24, 122, 21, -109, -77, -76, - -13, -90, 119, 122, 121, 121, 121, 121, 121, 135, - -15, 119, -18, 121, 135, -109, 136, 121, 135, -158, - -159, -160, -161, -13, -13, -13, -13, -13, -13, -13, + -47, -158, 125, 125, -159, 17, -70, -32, 12, 76, + 77, -13, 57, -42, -10, -40, -63, 79, 82, -20, + -9, -88, -11, 123, 123, -13, -13, 123, -13, -13, + 125, -70, 17, 17, 75, -70, 125, 123, -73, -72, + -13, 128, 125, 125, 82, -96, 123, -63, 78, 125, + 119, -9, 134, 78, -96, 119, 124, 121, 119, -62, + -63, 121, 135, -65, -4, -63, 82, -66, -5, -63, + 82, 29, -63, 10, 136, -23, 120, -24, -50, -51, + 51, -24, 122, -55, -24, 122, 21, -101, -80, -79, + -13, -97, 119, 122, 121, 121, 121, 121, 121, 135, + -15, 119, -18, 121, 135, -101, 136, 121, 135, -150, + -151, -152, -153, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -42, -163, 122, -80, -57, -18, - -18, -14, 123, -64, 121, 121, 10, -168, -114, 55, - -119, 58, -13, 128, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -71, -37, -18, 59, - 82, -60, 78, 78, 124, 124, 124, 124, -13, -12, - -13, -12, 118, -32, -32, 17, 125, 57, -13, 11, - -18, -84, -85, -39, -38, -9, -81, 10, 119, -88, - -89, 78, 82, -60, 57, -9, 78, -68, -35, -18, - -14, -18, -14, -13, -12, 117, 75, 75, -12, -70, - 126, -174, 135, 58, -16, -18, -12, -12, 10, 124, - -126, -49, -127, -14, -18, 128, 83, -89, -38, -39, - 10, 52, -12, -13, -38, -39, 10, -13, 121, -59, - 120, -89, -3, 121, 135, 29, -60, 121, 135, 29, - -60, 10, 29, 136, -27, -170, -6, -30, -60, 79, - 82, 60, 125, -7, 62, -172, 18, 74, -10, 131, - 132, 130, 129, 123, 123, -74, -64, -64, -47, 121, - 135, -78, 121, -78, 121, -26, -13, 12, -169, -27, - -13, -13, -13, -13, -13, -13, -165, 124, 135, 29, - 29, -93, 10, 120, -111, 123, -115, -44, -60, 79, - 82, -120, 55, -14, -18, -18, 91, 124, 135, 123, - -60, -162, 126, 126, -33, 10, 13, 12, 10, 120, - 125, 120, -175, -179, -178, -180, 125, 119, -9, -13, - -39, -60, -84, -39, 124, 135, 124, 124, 124, 126, - 126, 124, -13, 128, -13, 128, 126, 126, 124, 135, - 124, -16, -13, -89, -89, 126, 120, -89, -89, 120, - 120, -4, 10, 29, -5, 10, 29, 10, -27, 125, - 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, - 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, - 154, 157, 159, 158, 160, 127, 82, -60, 123, -171, - -173, -170, 17, 78, -170, -170, -170, -170, -170, 124, - -53, 93, 94, -75, 22, 121, -77, -13, 120, 32, - 33, -78, 31, -78, 120, 136, 123, 122, -13, 121, - -57, -82, -18, 128, 59, -82, 124, 135, 136, -95, - 41, 123, -112, -123, -124, -125, 60, 61, -44, -116, - 56, 82, -60, 119, -121, -44, -42, 136, -37, -71, - -155, -156, 126, -13, -176, 125, 125, -89, -12, -13, - 120, -86, -35, 58, -16, -16, -127, 10, 10, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, 122, -170, -60, -171, 126, - -174, 135, 58, 10, 52, 124, 121, -47, -24, -54, - 93, 94, 121, 121, -13, -122, 122, 121, 120, 121, - 31, -27, -112, -164, -83, 58, -18, 123, -83, -94, - -24, 122, 10, -27, -96, 42, 123, -112, 124, 135, - -109, 119, -121, -60, -117, 135, -157, -13, 124, -153, - -152, -150, 125, -151, 57, 126, -151, -12, -12, 126, - 120, -87, 57, -13, 128, 126, -170, 122, 124, -170, - -170, -24, 95, -47, 122, -77, -122, -64, 121, 124, - -13, 124, -82, -71, 124, -64, 136, -102, -97, 124, - -73, 44, -124, -110, 83, -117, 120, -128, -129, -132, - -133, -134, -149, 47, 38, 44, -148, 103, 102, 101, - 98, 99, 100, -44, -88, 125, -154, -151, -12, -84, - 120, 126, 126, -84, -16, -170, 58, 121, 122, -64, - 124, -64, -73, -58, -24, 122, 124, -58, 28, -27, - 119, -44, 119, 119, 123, 12, 120, -130, 121, 135, - -1, -148, 10, -137, -44, -12, -150, 126, -177, -170, - -64, -56, -24, 122, 119, -64, 121, -64, -98, -64, - -64, -72, 12, 128, 136, -131, 12, 10, -109, 136, - -138, 135, 121, 119, 126, -175, -64, -64, 26, 120, - 12, 120, 120, 124, 135, 12, -27, 121, 135, 136, - 136, 10, -27, -44, -139, -140, -141, -142, -143, -144, - -146, -44, 10, 24, 120, 121, 124, 12, 128, 12, - -27, -27, -135, 120, -141, 121, 121, 45, 29, 78, - 121, -99, 12, 136, 123, -145, -44, -147, -148, 10, - 119, -27, -112, 135, 10, -64, 124, -44, 120, -136, - 121, 119, -100, -64, -101, -103, -104, 41, 120, -104, - 123, -44, -105, 12, 124, -106, 119, -64, 120, + -13, -13, -13, -13, -42, -155, 122, -83, -57, -18, + -18, -14, -84, 10, -67, 121, 121, 10, -160, -106, + 55, -111, 58, -13, 128, -13, -13, -13, -13, -13, + -13, -13, -13, -13, -13, -13, -13, -74, -37, -18, + 59, 82, -63, 78, 78, 124, 124, 124, 124, -13, + -12, -13, -12, 118, -32, -32, 17, 125, 57, -13, + 11, -18, -91, -92, -39, -38, -9, -88, 10, 119, + -95, -96, 78, 82, -63, 57, -9, 78, -71, -35, + -18, -14, -18, -14, -13, -12, 117, 75, 75, -12, + -73, 126, -166, 135, 58, -16, -18, -12, -12, 10, + 124, -118, -49, -119, -14, -18, 128, 83, -96, -38, + -39, 10, 52, -12, -13, -38, -39, 10, -13, 121, + -62, 120, -96, -3, 121, 135, 29, -63, 121, 135, + 29, -63, 10, 29, 136, -27, -162, -6, -30, -63, + 79, 82, 60, 125, -7, 62, -164, 18, 74, -10, + 131, 132, 130, 129, 123, 123, -77, -67, -67, -47, + 121, 135, -81, 121, -81, 121, -26, -13, 12, -161, + -27, -13, -13, -13, -13, -13, -13, -157, 124, 135, + 29, 29, 124, 135, 136, 120, -103, 123, -107, -44, + -63, 79, 82, -112, 55, -14, -18, -18, 91, 124, + 135, 123, -63, -154, 126, 126, -33, 10, 13, 12, + 10, 120, 125, 120, -167, -171, -170, -172, 125, 119, + -9, -13, -39, -63, -91, -39, 124, 135, 124, 124, + 124, 126, 126, 124, -13, 128, -13, 128, 126, 126, + 124, 135, 124, -16, -13, -96, -96, 126, 120, -96, + -96, 120, 120, -4, 10, 29, -5, 10, 29, 10, + -27, 125, 130, 129, 164, 167, 165, 166, 151, 128, + 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -63, + 123, -163, -165, -162, 17, 78, -162, -162, -162, -162, + -162, 124, -53, 93, 94, -78, 22, 121, -80, -13, + 120, 32, 33, -81, 31, -81, 120, 136, 123, 122, + -13, 121, -57, -89, -18, 128, 59, -89, -59, -24, + 122, 10, -27, -85, 41, 123, -104, -115, -116, -117, + 60, 61, -44, -108, 56, 82, -63, 119, -113, -44, + -42, 136, -37, -74, -147, -148, 126, -13, -168, 125, + 125, -96, -12, -13, 120, -93, -35, 58, -16, -16, + -119, 10, 10, -162, -162, -162, -162, -162, -162, -162, + -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, + -162, -162, -162, -162, -162, -162, -162, -162, -162, 122, + -162, -63, -163, 126, -166, 135, 58, 10, 52, 124, + 121, -47, -24, -54, 93, 94, 121, 121, -13, -114, + 122, 121, 120, 121, 31, -27, -104, -156, -90, 58, + -18, 123, -90, -67, 136, -60, 42, 123, -104, 124, + 135, -101, 119, -113, -63, -109, 135, -149, -13, 124, + -145, -144, -142, 125, -143, 57, 126, -143, -12, -12, + 126, 120, -94, 57, -13, 128, 126, -162, 122, 124, + -162, -162, -24, 95, -47, 122, -80, -114, -67, 121, + 124, -13, 124, -89, -74, 124, 28, -27, 119, -44, + 124, -76, 44, -116, -102, 83, -109, 120, -120, -121, + -124, -125, -126, -141, 47, 38, 44, -140, 103, 102, + 101, 98, 99, 100, -44, -95, 125, -146, -143, -12, + -91, 120, 126, 126, -91, -16, -162, 58, 121, 122, + -67, 124, -67, -76, -58, -24, 122, 124, -58, 121, + -67, 12, 119, 119, 123, 12, 120, -122, 121, 135, + -1, -140, 10, -129, -44, -12, -142, 126, -169, -162, + -67, -56, -24, 122, 119, -67, 120, 124, -67, -67, + -75, 12, 128, 136, -123, 12, 10, -101, 136, -130, + 135, 121, 119, 126, -167, -67, -67, 26, 119, 120, + 120, 124, 135, 12, -27, 121, 135, 136, 136, 10, + -27, -44, -131, -132, -133, -134, -135, -136, -138, -44, + 10, 24, 120, 121, -67, 12, 128, 12, -27, -27, + -127, 120, -133, 121, 121, 45, 29, 78, 121, 120, + 12, 136, 123, -137, -44, -139, -140, 10, -86, -87, + -61, 41, -27, -104, 135, 10, -61, 123, 124, -44, + -44, -128, 121, 119, 12, -67, 124, 120, 119, -67, + 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, - 0, 43, 4, 93, 94, 0, 38, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 356, 0, 63, - 0, 0, 0, 68, 70, 0, 0, 0, 95, 0, - 0, 326, 454, 455, 341, 105, 0, 107, 0, 111, + 0, 43, 4, 85, 86, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 348, 0, 63, + 0, 0, 0, 0, 69, 0, 0, 0, 87, 0, + 0, 318, 446, 447, 333, 97, 0, 99, 0, 103, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 0, 310, 0, 0, 0, 0, 0, 0, - 0, 370, 319, 321, 322, 323, 373, 0, 462, 0, - 0, 0, 0, 0, 0, 0, 0, 439, 440, 441, - 442, 0, 0, 445, 380, 0, 508, 481, 482, 483, - 435, -2, 0, 0, 378, 379, 381, 382, 383, 384, - 385, 386, 387, -2, 0, 486, 0, 0, 489, 501, - 490, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 293, 294, 0, 302, 0, 0, 0, 0, 0, 0, + 0, 362, 311, 313, 314, 315, 365, 0, 454, 0, + 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, + 434, 0, 0, 437, 372, 0, 500, 473, 474, 475, + 427, -2, 0, 0, 370, 371, 373, 374, 375, 376, + 377, 378, 379, -2, 0, 478, 0, 0, 481, 493, + 482, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 0, 0, 0, - 0, 95, 0, 229, 0, 52, 0, 326, 356, 54, - 0, 56, 455, -2, 0, 59, 0, 170, 171, 0, - 0, 95, 176, 0, 228, 64, 267, 269, 271, 273, + 0, 87, 0, 221, 0, 52, 0, 318, 348, 54, + 0, 56, 447, -2, 0, 59, 0, 162, 163, 0, + 0, 87, 168, 0, 220, 64, 259, 261, 263, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 305, 0, 0, 0, 38, 0, 0, 327, - 96, 109, 103, -2, -2, 0, 106, 108, 0, 0, + 0, 0, 297, 0, 0, 0, 38, 0, 0, 319, + 88, 101, 95, -2, -2, 0, 98, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 507, 250, 263, 265, 264, 460, 357, 0, 0, - 0, 0, 356, 266, 288, 289, 290, 291, 302, 0, - 0, 311, 312, 313, 314, 315, 316, 317, 318, 0, - 372, 0, 492, 492, 0, 374, 375, 520, 522, 0, - 0, 325, 0, 376, 363, 364, 357, 0, 0, 366, - -2, 0, 0, 0, 0, 534, 535, 0, 537, 538, - 492, 0, 0, 0, 389, 0, 492, 508, 0, 448, - 513, 0, 492, 492, 0, 348, 0, -2, 0, 492, - 0, -2, 502, 0, 355, 0, 0, 10, 3, 0, + 0, 499, 242, 255, 257, 256, 452, 349, 0, 0, + 0, 0, 348, 258, 280, 281, 282, 283, 294, 0, + 0, 303, 304, 305, 306, 307, 308, 309, 310, 0, + 364, 0, 484, 484, 0, 366, 367, 512, 514, 0, + 0, 317, 0, 368, 355, 356, 349, 0, 0, 358, + -2, 0, 0, 0, 0, 526, 527, 0, 529, 530, + 484, 0, 0, 0, 381, 0, 484, 500, 0, 440, + 505, 0, 484, 484, 0, 340, 0, -2, 0, 484, + 0, -2, 494, 0, 347, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 142, 38, 48, 140, 38, 0, 327, 0, 230, - 232, 51, 135, 135, 53, 55, 57, 58, 60, 0, - 172, 0, 458, 61, 0, 329, 0, 62, 0, 0, - 0, 0, 0, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, -2, -2, -2, -2, - -2, -2, -2, -2, 300, 0, 308, 0, 90, 92, - -2, 455, 0, 0, 72, 73, 99, 0, 101, 0, - 112, 0, 246, 0, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 0, 504, 505, 0, - 0, 359, 0, 0, 303, 456, 457, 371, 320, 0, - 493, 0, 324, 521, 518, 519, 0, 0, 0, 439, - 0, -2, 494, 495, 498, 474, 0, 499, 0, 244, - 377, 0, 0, 359, 0, 485, 0, 0, 539, -2, - -2, -2, 455, 0, 0, 443, 388, 444, 0, 0, - 340, 509, 449, 0, 517, 459, 0, 0, 5, 160, - 0, 0, 163, -2, -2, 0, 0, 350, 0, 476, - -2, 546, 0, 0, 0, 477, -2, 0, 9, 0, - 12, 349, 17, 14, 0, 0, 27, 15, 0, 0, - 33, 20, 0, 0, 36, 391, 392, 393, -2, 0, - 0, 0, 446, 399, 400, 401, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 146, 144, 0, 0, 229, - 0, 0, 135, 0, 135, 169, 0, 174, 0, 177, - 227, 268, 270, 272, 274, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 0, -2, 114, 110, 360, 0, - 0, 0, 0, -2, -2, 247, 0, 0, 507, 507, - 358, -2, 336, 335, 0, 528, 529, 530, 524, 525, - 0, 527, 464, 471, 472, 0, 492, 0, 475, 0, - 476, 358, 368, 477, 531, 0, 532, 533, 536, 338, - 337, 339, 511, 0, 512, 0, 479, 480, 161, 0, - 162, 167, 168, 351, 352, 487, 488, 353, 354, 491, - 11, 23, 26, 0, 29, 32, 0, 22, 35, 0, + 0, 134, 38, 48, 132, 38, 0, 319, 0, 222, + 224, 51, 127, 127, 53, 55, 57, 58, 60, 0, + 164, 0, 450, 61, 0, 321, 0, 62, 0, 0, + 0, 0, 0, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, -2, -2, -2, -2, + -2, -2, -2, -2, 292, 0, 300, 0, 82, 84, + -2, 447, 0, 0, 0, 71, 72, 91, 0, 93, + 0, 104, 0, 238, 0, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 0, 496, 497, + 0, 0, 351, 0, 0, 295, 448, 449, 363, 312, + 0, 485, 0, 316, 513, 510, 511, 0, 0, 0, + 431, 0, -2, 486, 487, 490, 466, 0, 491, 0, + 236, 369, 0, 0, 351, 0, 477, 0, 0, 531, + -2, -2, -2, 447, 0, 0, 435, 380, 436, 0, + 0, 332, 501, 441, 0, 509, 451, 0, 0, 5, + 152, 0, 0, 155, -2, -2, 0, 0, 342, 0, + 468, -2, 538, 0, 0, 0, 469, -2, 0, 9, + 0, 12, 341, 17, 14, 0, 0, 27, 15, 0, + 0, 33, 20, 0, 0, 36, 383, 384, 385, -2, + 0, 0, 0, 438, 391, 392, 393, 372, 0, 0, + 0, 0, 0, 0, 0, 0, 138, 136, 0, 0, + 221, 0, 0, 127, 0, 127, 161, 0, 166, 0, + 169, 219, 260, 262, 264, 266, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 73, 0, -2, 106, 102, + 352, 0, 0, 0, 0, -2, -2, 239, 0, 0, + 499, 499, 350, -2, 328, 327, 0, 520, 521, 522, + 516, 517, 0, 519, 456, 463, 464, 0, 484, 0, + 467, 0, 468, 350, 360, 469, 523, 0, 524, 525, + 528, 330, 329, 331, 503, 0, 504, 0, 471, 472, + 153, 0, 154, 159, 160, 343, 344, 479, 480, 345, + 346, 483, 11, 23, 26, 0, 29, 32, 0, 22, + 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -2, 446, 0, - 448, 453, 0, 0, 409, 410, 432, 433, 0, 0, - 46, 0, 0, 148, 0, 49, 0, 231, 131, 0, - 0, 0, 0, 0, 173, 0, -2, 306, 309, 65, - 91, 118, 120, 0, 0, 118, 0, 0, 0, 80, - 0, -2, 0, 150, 152, 95, 157, 158, 159, 0, - 0, 0, 362, 179, 113, 116, 248, 0, 503, 0, - 304, 0, 523, 0, 461, 492, 492, 470, 0, 0, - 500, 365, 540, 0, 515, 516, 164, 28, 34, 0, - 403, 404, 405, 406, 407, 408, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, -2, -2, -2, - -2, -2, -2, -2, -2, 0, 0, -2, 0, 398, - 447, 449, 0, 390, 545, 434, 42, 0, 147, 0, - 0, 0, 141, 229, 0, 38, 138, 139, 132, 133, - 0, 175, 0, 0, 0, 0, 121, 507, 0, 69, - 127, 38, 0, 129, 71, 81, 75, 0, 342, 156, - 97, 179, 115, 361, 211, 0, 376, 245, 506, 243, - -2, 240, 492, 234, 0, 0, 463, 0, 0, 496, - 497, 367, 0, 510, 0, 402, 430, 0, 397, 451, - 452, 143, 0, 0, 38, 0, 38, 137, 134, 342, - 307, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 153, 0, 98, 211, 104, 178, 180, 0, - 183, 0, -2, 210, 0, 0, 213, 215, 216, 217, - 218, 219, 220, 117, 249, 492, 0, 233, 0, 465, - 526, 468, 467, 369, 514, 431, 0, 47, 38, 149, - 0, 136, 0, 66, 125, 38, 122, 67, 0, 130, - 38, 76, 38, 38, 0, 154, 102, 0, 182, 0, - 95, 214, 0, 0, 187, 0, 238, 236, -2, 450, - 145, 50, 123, 38, 38, 0, 128, 0, 0, 0, - 0, 0, 346, 0, 0, 0, 223, 0, 0, 0, - 186, 0, 189, 191, 235, 466, 0, 0, 0, 82, - 0, 100, 328, 343, 0, 347, 155, 181, 0, 0, - 0, 184, 226, 188, 0, 192, 193, 0, 0, 201, - 0, 0, -2, 0, 330, 126, 77, 344, 0, 221, - 224, 225, 0, 190, 194, 195, 196, 0, 205, 0, - 124, 0, 345, 0, -2, 197, 198, 0, -2, 202, - 38, 222, 0, 0, 203, 0, 0, 199, 78, 185, - 207, 38, 84, 0, 79, 83, 85, 0, 208, 86, - 0, 87, 0, 0, 88, 0, 38, 0, 89, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, + 438, 0, 440, 445, 0, 0, 401, 402, 424, 425, + 0, 0, 46, 0, 0, 140, 0, 49, 0, 223, + 123, 0, 0, 0, 0, 0, 165, 0, -2, 298, + 301, 65, 83, 110, 112, 0, 0, 110, 68, 119, + 38, 0, 121, 75, 0, -2, 0, 142, 144, 87, + 149, 150, 151, 0, 0, 0, 354, 171, 105, 108, + 240, 0, 495, 0, 296, 0, 515, 0, 453, 484, + 484, 462, 0, 0, 492, 357, 532, 0, 507, 508, + 156, 28, 34, 0, 395, 396, 397, 398, 399, 400, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, -2, -2, -2, -2, -2, -2, -2, -2, 0, + 0, -2, 0, 390, 439, 441, 0, 382, 537, 426, + 42, 0, 139, 0, 0, 0, 133, 221, 0, 38, + 130, 131, 124, 125, 0, 167, 0, 0, 0, 0, + 113, 499, 0, 0, 0, 70, 0, 0, 0, 334, + 148, 89, 171, 107, 353, 203, 0, 368, 237, 498, + 235, -2, 232, 484, 226, 0, 0, 455, 0, 0, + 488, 489, 359, 0, 502, 0, 394, 422, 0, 389, + 443, 444, 135, 0, 0, 38, 0, 38, 129, 126, + 334, 299, 0, 111, 0, 0, 0, 122, 38, 0, + 0, 0, 0, 145, 0, 90, 203, 96, 170, 172, + 0, 175, 0, -2, 202, 0, 0, 205, 207, 208, + 209, 210, 211, 212, 109, 241, 484, 0, 225, 0, + 457, 518, 460, 459, 361, 506, 423, 0, 47, 38, + 141, 0, 128, 0, 66, 117, 38, 114, 67, 120, + 0, 0, 38, 38, 0, 146, 94, 0, 174, 0, + 87, 206, 0, 0, 179, 0, 230, 228, -2, 442, + 137, 50, 115, 38, 38, 0, 76, 0, 0, 0, + 0, 338, 0, 0, 0, 215, 0, 0, 0, 178, + 0, 181, 183, 227, 458, 0, 0, 0, 38, 92, + 320, 335, 0, 339, 147, 173, 0, 0, 0, 176, + 218, 180, 0, 184, 185, 0, 0, 193, 0, 0, + -2, 0, 322, 118, 0, 336, 0, 213, 216, 217, + 0, 182, 186, 187, 188, 0, 197, 0, 116, 78, + 337, 0, -2, 189, 190, 0, -2, 194, 74, 77, + 79, 0, 214, 0, 0, 195, 80, 0, 0, 191, + 0, 177, 199, 38, 0, 0, 0, 200, 38, 0, + 81, } var yyTok1 = [...]int{ @@ -2273,25 +2265,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:224 + //line php5/php5.y:227 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:230 + //line php5/php5.y:233 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:231 + //line php5/php5.y:234 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:236 + //line php5/php5.y:239 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2300,7 +2292,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:243 + //line php5/php5.y:246 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2309,25 +2301,25 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:253 + //line php5/php5.y:256 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:255 + //line php5/php5.y:258 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:257 + //line php5/php5.y:260 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:259 + //line php5/php5.y:262 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2335,7 +2327,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:265 + //line php5/php5.y:268 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2347,7 +2339,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:275 + //line php5/php5.y:278 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2359,7 +2351,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:285 + //line php5/php5.y:288 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2367,7 +2359,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:291 + //line php5/php5.y:294 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2375,7 +2367,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:297 + //line php5/php5.y:300 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2387,7 +2379,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:307 + //line php5/php5.y:310 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2399,25 +2391,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:317 + //line php5/php5.y:320 { yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:322 + //line php5/php5.y:325 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:324 + //line php5/php5.y:327 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:329 + //line php5/php5.y:332 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2429,7 +2421,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:339 + //line php5/php5.y:342 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2444,7 +2436,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:352 + //line php5/php5.y:355 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2456,7 +2448,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:362 + //line php5/php5.y:365 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2471,19 +2463,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:378 + //line php5/php5.y:381 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:380 + //line php5/php5.y:383 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:385 + //line php5/php5.y:388 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2495,7 +2487,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:395 + //line php5/php5.y:398 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2510,7 +2502,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:408 + //line php5/php5.y:411 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2522,7 +2514,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:418 + //line php5/php5.y:421 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2537,19 +2529,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:434 + //line php5/php5.y:437 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:436 + //line php5/php5.y:439 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:441 + //line php5/php5.y:444 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2561,7 +2553,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:451 + //line php5/php5.y:454 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2576,7 +2568,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:464 + //line php5/php5.y:467 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2588,7 +2580,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:474 + //line php5/php5.y:477 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2603,7 +2595,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:493 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2621,7 +2613,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:509 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2639,37 +2631,37 @@ yydefault: } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:525 + //line php5/php5.y:528 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:527 + //line php5/php5.y:530 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:536 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:538 { yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:540 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:542 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2677,13 +2669,13 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:552 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:551 + //line php5/php5.y:554 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2695,7 +2687,7 @@ yydefault: } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:564 + //line php5/php5.y:567 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2703,7 +2695,7 @@ yydefault: } case 46: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:570 + //line php5/php5.y:573 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2719,7 +2711,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:584 + //line php5/php5.y:587 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2730,7 +2722,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:593 + //line php5/php5.y:596 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[2].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -2738,7 +2730,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:599 + //line php5/php5.y:602 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2746,7 +2738,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:605 + //line php5/php5.y:608 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2754,7 +2746,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:611 + //line php5/php5.y:614 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -2762,7 +2754,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:617 + //line php5/php5.y:620 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2770,7 +2762,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:623 + //line php5/php5.y:626 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2778,7 +2770,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:629 + //line php5/php5.y:632 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2786,7 +2778,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:635 + //line php5/php5.y:638 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2794,7 +2786,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:641 + //line php5/php5.y:644 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2802,7 +2794,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:647 + //line php5/php5.y:650 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2810,7 +2802,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:653 + //line php5/php5.y:656 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2818,13 +2810,13 @@ yydefault: } case 59: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:659 + //line php5/php5.y:662 { yyVAL.node = yyDollar[1].node } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:661 + //line php5/php5.y:664 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2832,7 +2824,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:667 + //line php5/php5.y:670 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2840,7 +2832,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:673 + //line php5/php5.y:676 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2848,7 +2840,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:679 + //line php5/php5.y:682 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2856,13 +2848,13 @@ yydefault: } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:685 + //line php5/php5.y:688 { yyVAL.node = yyDollar[1].node } case 65: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:690 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2870,7 +2862,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:693 + //line php5/php5.y:696 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2882,7 +2874,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:703 + //line php5/php5.y:706 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2893,379 +2885,429 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 68: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:712 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:716 { + yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 69: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:712 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:722 { + yyVAL.node = stmt.NewNop() + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 70: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:713 + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:728 { + yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) + + if yyDollar[6].node == nil { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list)) + } else { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) + } + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 71: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:714 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:740 { + yyVAL.node = stmt.NewThrow(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:715 + //line php5/php5.y:746 { + label := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) + yyVAL.node = stmt.NewGoto(label) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + + comments.AddComments(label, yyDollar[2].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 73: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:716 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:759 { + yyVAL.list = []node.Node{} } case 74: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:720 + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:761 { + identifier := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(identifier, yyDollar[4].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(variable, yyDollar[4].token.Comments()) + + catch := stmt.NewCatch([]node.Node{yyDollar[3].node}, variable, yyDollar[7].list) + positions.AddPosition(catch, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) + comments.AddComments(catch, yyDollar[1].token.Comments()) + + yyVAL.list = append([]node.Node{catch}, yyDollar[9].list...) } case 75: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:721 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:779 { + yyVAL.node = nil } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:722 + //line php5/php5.y:781 { + yyVAL.node = stmt.NewFinally(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 77: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:723 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:790 { + yyVAL.list = yyDollar[1].list } case 78: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:724 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:792 { + yyVAL.list = []node.Node{} } case 79: - yyDollar = yyS[yypt-13 : yypt+1] - //line php5/php5.y:725 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:797 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 80: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:728 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:799 { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 81: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:729 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:804 { + identifier := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(identifier, yyDollar[4].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(variable, yyDollar[4].token.Comments()) + + yyVAL.node = stmt.NewCatch([]node.Node{yyDollar[3].node}, variable, yyDollar[7].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 82: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:729 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:821 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 83: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:733 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:823 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 84: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:734 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:828 { + yyVAL.node = yyDollar[1].node } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:738 + //line php5/php5.y:832 { } case 86: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:739 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:836 { } case 87: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:743 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:840 { } case 88: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:743 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:841 { } case 89: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:743 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:845 { } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:748 + //line php5/php5.y:846 { - yyVAL.list = []node.Node{yyDollar[1].node} } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:750 + //line php5/php5.y:850 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 92: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:755 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:852 { - yyVAL.node = yyDollar[1].node } case 93: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:759 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:857 { } case 94: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:763 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:861 { } case 95: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:767 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:863 { } case 96: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:768 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:867 { } case 97: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:772 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:872 { } case 98: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:773 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:873 { } case 99: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:777 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:874 { } case 100: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:779 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:875 { } case 101: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:784 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:879 { } case 102: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:788 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:880 { } case 103: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:790 - { - } - case 104: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:794 - { - } - case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:799 - { - } - case 106: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:800 - { - } - case 107: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:801 + //line php5/php5.y:884 { } case 108: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:802 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:898 { } case 109: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:806 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:899 { } case 110: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:807 - { - } - case 111: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:811 - { - } - case 116: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:825 - { - } - case 117: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:826 - { - } - case 118: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:831 + //line php5/php5.y:904 { yyVAL.foreachVariable = foreachVariable{nil, false} } - case 119: + case 111: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:833 + //line php5/php5.y:906 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } - case 120: + case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:838 + //line php5/php5.y:911 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } - case 121: + case 113: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:840 + //line php5/php5.y:913 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } - case 122: + case 114: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:842 + //line php5/php5.y:915 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } - case 123: + case 115: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:852 + //line php5/php5.y:925 { yyVAL.node = yyDollar[1].node } - case 124: + case 116: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:854 + //line php5/php5.y:927 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 125: + case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:864 + //line php5/php5.y:937 { yyVAL.node = yyDollar[1].node } - case 126: + case 118: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:866 + //line php5/php5.y:939 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 129: + case 119: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:949 + { + yyVAL.node = yyDollar[1].node + } + case 120: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:951 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 121: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:881 + //line php5/php5.y:961 { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(name, yyDollar[1].token.Comments()) + + constant := stmt.NewConstant(name, yyDollar[3].node, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + comments.AddComments(constant, yyDollar[1].token.Comments()) + + yyVAL.list = []node.Node{constant} } - case 130: + case 122: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:882 + //line php5/php5.y:973 { + name := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(name, yyDollar[3].token.Comments()) + + constant := stmt.NewConstant(name, yyDollar[5].node, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node)) + comments.AddComments(constant, yyDollar[3].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, constant) } - case 131: + case 123: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:888 + //line php5/php5.y:989 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 132: + case 124: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:890 + //line php5/php5.y:991 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } - case 133: + case 125: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:892 + //line php5/php5.y:993 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } - case 134: + case 126: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:894 + //line php5/php5.y:995 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } - case 135: + case 127: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:900 + //line php5/php5.y:1001 { yyVAL.list = []node.Node{} } - case 136: + case 128: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:902 + //line php5/php5.y:1003 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) yyVAL.list = append(yyDollar[1].list, _case) comments.AddComments(_case, yyDollar[2].token.Comments()) } - case 137: + case 129: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:909 + //line php5/php5.y:1010 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) yyVAL.list = append(yyDollar[1].list, _default) comments.AddComments(_default, yyDollar[2].token.Comments()) } - case 140: + case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:926 + //line php5/php5.y:1027 { yyVAL.node = yyDollar[1].node } - case 141: + case 133: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:928 + //line php5/php5.y:1029 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 142: + case 134: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:938 + //line php5/php5.y:1039 { yyVAL.list = []node.Node{} } - case 143: + case 135: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:940 + //line php5/php5.y:1041 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3273,15 +3315,15 @@ yydefault: yyVAL.list = append(yyDollar[1].list, _elseIf) } - case 144: + case 136: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:952 + //line php5/php5.y:1053 { yyVAL.list = []node.Node{} } - case 145: + case 137: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:954 + //line php5/php5.y:1055 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3292,29 +3334,29 @@ yydefault: yyVAL.list = append(yyDollar[1].list, _elseIf) } - case 146: + case 138: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:1070 { yyVAL.node = nil } - case 147: + case 139: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:971 + //line php5/php5.y:1072 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 148: + case 140: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:1082 { yyVAL.node = nil } - case 149: + case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:1084 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3323,87 +3365,87 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 154: + case 146: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1007 + //line php5/php5.y:1108 { } - case 155: + case 147: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1009 + //line php5/php5.y:1110 { } - case 156: + case 148: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1014 + //line php5/php5.y:1115 + { + } + case 149: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1116 + { + } + case 150: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1117 + { + } + case 151: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1118 + { + } + case 152: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1124 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} + } + case 153: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1125 + { + } + case 154: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1126 { } case 157: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1015 + //line php5/php5.y:1136 { } case 158: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1137 { } case 159: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1017 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1138 { } case 160: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1023 + //line php5/php5.y:1139 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 161: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1024 - { - } - case 162: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1025 - { - } - case 165: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1035 - { - } - case 166: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1036 - { - } - case 167: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1037 - { - } - case 168: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1038 - { - } - case 169: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1043 + //line php5/php5.y:1144 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 170: + case 162: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1045 + //line php5/php5.y:1146 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 171: + case 163: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1152 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3413,25 +3455,25 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 172: + case 164: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1061 + //line php5/php5.y:1162 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 173: + case 165: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1168 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 174: + case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1178 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3448,9 +3490,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 175: + case 167: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1195 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3467,9 +3509,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 176: + case 168: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1111 + //line php5/php5.y:1212 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3486,9 +3528,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 177: + case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1128 + //line php5/php5.y:1229 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3505,275 +3547,275 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 180: + case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1155 + //line php5/php5.y:1256 { } - case 184: + case 176: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1259 { } - case 185: + case 177: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1261 { } - case 187: + case 179: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1168 + //line php5/php5.y:1269 { } - case 188: + case 180: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1169 + //line php5/php5.y:1270 + { + } + case 189: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1294 + { + } + case 190: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1298 + { + } + case 191: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1299 + { + } + case 192: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1303 + { + } + case 193: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1304 + { + } + case 194: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1308 + { + } + case 195: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1312 + { + } + case 196: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1313 { } case 197: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1193 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1317 { } case 198: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1197 + //line php5/php5.y:1318 { } case 199: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1198 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1322 { } case 200: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1202 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1323 { } case 201: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1203 + //line php5/php5.y:1327 { } case 202: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1207 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1328 { } case 203: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1211 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1332 { } case 204: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1212 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1333 { } case 205: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1216 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1337 { } case 206: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1217 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1338 { } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1221 + //line php5/php5.y:1342 { } case 208: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1222 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1343 { } case 209: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1226 + //line php5/php5.y:1344 { } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1227 + //line php5/php5.y:1345 { } case 211: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1231 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1346 { } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1232 + //line php5/php5.y:1347 { } case 213: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1236 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1351 { } case 214: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1237 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1352 { } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1241 + //line php5/php5.y:1353 { } case 216: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1242 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1354 { } case 217: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1243 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1358 { } case 218: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1244 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1359 { } case 219: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1245 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1364 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1246 - { - } - case 221: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1250 - { - } - case 222: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1251 - { - } - case 223: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1252 - { - } - case 224: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1253 - { - } - case 225: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1257 - { - } - case 226: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1258 - { - } - case 227: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1263 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 228: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1366 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 229: + case 221: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1271 + //line php5/php5.y:1372 { yyVAL.list = nil } - case 230: + case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1273 + //line php5/php5.y:1374 { yyVAL.list = yyDollar[1].list } - case 231: + case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1278 + //line php5/php5.y:1379 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 232: + case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1280 + //line php5/php5.y:1381 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 233: + case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1284 + //line php5/php5.y:1385 + { + } + case 226: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1386 + { + } + case 227: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1390 + { + } + case 228: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1391 + { + } + case 229: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1395 + { + } + case 230: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1395 + { + } + case 231: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1396 + { + } + case 232: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1397 + { + } + case 233: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1401 { } case 234: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1285 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1402 { } case 235: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1289 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1403 { } case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1290 - { - } - case 237: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1294 - { - } - case 238: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1294 - { - } - case 239: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1295 - { - } - case 240: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1296 - { - } - case 241: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1300 - { - } - case 242: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1301 - { - } - case 243: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1302 - { - } - case 244: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1307 + //line php5/php5.y:1408 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3785,9 +3827,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 245: + case 237: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1423 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3797,472 +3839,472 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 238: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1432 + { + } + case 239: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1433 + { + } + case 240: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1434 + { + } + case 241: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1434 + { + } + case 242: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1435 + { + } + case 243: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1436 + { + } + case 244: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1437 + { + } + case 245: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1438 + { + } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1331 + //line php5/php5.y:1439 { } case 247: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1332 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1440 { } case 248: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1333 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1441 { } case 249: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1333 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1442 { } case 250: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1334 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1443 { } case 251: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1335 + //line php5/php5.y:1444 { } case 252: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1336 + //line php5/php5.y:1445 { } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1337 + //line php5/php5.y:1446 { } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1447 { } case 255: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1339 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1448 { } case 256: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1340 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1449 { } case 257: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1341 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1450 { } case 258: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1342 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1451 { } case 259: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1343 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1452 { } case 260: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1344 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1452 { } case 261: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1345 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1453 { } case 262: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1346 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1453 { } case 263: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1347 + //line php5/php5.y:1454 { } case 264: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1348 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1454 { } case 265: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1349 + //line php5/php5.y:1455 { } case 266: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1350 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1455 { } case 267: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1351 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1456 { } case 268: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1351 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1457 { } case 269: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1352 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1458 { } case 270: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1352 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1459 { } case 271: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1353 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1460 { } case 272: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1353 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1461 { } case 273: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1354 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1462 { } case 274: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1354 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1463 { } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1355 + //line php5/php5.y:1464 { } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1356 + //line php5/php5.y:1465 { } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1357 + //line php5/php5.y:1466 { } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1358 + //line php5/php5.y:1467 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1468 { } case 280: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1360 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1469 { } case 281: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1361 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1470 { } case 282: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1362 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1471 { } case 283: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1363 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1472 { } case 284: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1364 + //line php5/php5.y:1473 { } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1474 { } case 286: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1366 + //line php5/php5.y:1475 { } case 287: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1367 + //line php5/php5.y:1476 { } case 288: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1368 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1477 { } case 289: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1369 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1478 { } case 290: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1370 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1479 { } case 291: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1371 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1480 { } case 292: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1372 + //line php5/php5.y:1481 { } case 293: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1373 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1482 { } case 294: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1374 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1484 { + yyVAL.node = yyDollar[1].node } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1375 + //line php5/php5.y:1485 { } case 296: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1376 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1485 { } case 297: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1377 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1486 { } case 298: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1378 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1487 { } case 299: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1379 + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1488 { } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1380 + //line php5/php5.y:1489 { } case 301: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1381 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1490 { } case 302: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1491 { - yyVAL.node = yyDollar[1].node } case 303: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1384 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1492 { } case 304: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1384 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1493 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1385 + //line php5/php5.y:1494 { } case 306: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1386 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1495 { } case 307: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1387 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1496 { } case 308: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1388 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1497 { } case 309: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1389 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1498 { } case 310: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1390 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1499 { } case 311: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1391 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1500 { } case 312: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1392 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1500 { } case 313: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1393 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1501 { + yyVAL.node = yyDollar[1].node } case 314: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1394 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1502 { } case 315: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1395 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1503 { } case 316: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1396 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1504 { } case 317: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1397 + //line php5/php5.y:1505 { } case 318: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1398 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1506 { } case 319: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1399 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1507 { } case 320: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1399 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1509 { } case 321: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1400 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1510 { - yyVAL.node = yyDollar[1].node } case 322: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1401 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1512 { } case 323: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1402 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1516 { } case 324: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1403 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1517 { } case 325: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1404 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1518 { } case 326: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1405 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1519 { } case 327: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1406 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1524 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 328: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1408 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1530 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 329: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1409 - { - } - case 330: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1411 - { - } - case 331: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1415 - { - } - case 332: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1416 - { - } - case 333: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1417 - { - } - case 334: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1418 - { - } - case 335: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1423 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 336: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1429 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 337: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1435 + //line php5/php5.y:1536 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4272,51 +4314,51 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[str]) } - case 338: + case 330: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1546 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 339: + case 331: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1454 + //line php5/php5.y:1555 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 340: + case 332: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1460 + //line php5/php5.y:1561 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 341: + case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1469 + //line php5/php5.y:1570 { yyVAL.token = yyDollar[1].token } - case 342: + case 334: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1474 + //line php5/php5.y:1575 { yyVAL.list = []node.Node{} } - case 343: + case 335: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1577 { yyVAL.list = yyDollar[3].list } - case 344: + case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1481 + //line php5/php5.y:1582 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4332,9 +4374,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 345: + case 337: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1497 + //line php5/php5.y:1598 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4350,9 +4392,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 346: + case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1513 + //line php5/php5.y:1614 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4368,9 +4410,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 347: + case 339: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1529 + //line php5/php5.y:1630 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4386,117 +4428,117 @@ yydefault: yyVAL.list = []node.Node{use} } - case 348: + case 340: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1547 + //line php5/php5.y:1648 { } - case 349: + case 341: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1548 + //line php5/php5.y:1649 { } - case 350: + case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1650 { } - case 351: + case 343: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1550 + //line php5/php5.y:1651 { } - case 352: + case 344: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1551 + //line php5/php5.y:1652 { } - case 353: + case 345: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1552 + //line php5/php5.y:1653 { } - case 354: + case 346: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1553 + //line php5/php5.y:1654 { } - case 355: + case 347: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1554 + //line php5/php5.y:1655 { } - case 356: + case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1559 + //line php5/php5.y:1660 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 349: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1666 + { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 350: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1672 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 351: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1678 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 352: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1687 + { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 353: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1693 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 354: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1699 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 355: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1708 + { + yyVAL.node = yyDollar[1].node + } + case 356: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1710 + { + yyVAL.node = yyDollar[1].node + } case 357: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1565 - { - yyVAL.node = name.NewName(yyDollar[1].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) - } - case 358: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1571 - { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 359: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1577 - { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 360: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1586 - { - yyVAL.node = name.NewName(yyDollar[1].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) - } - case 361: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1592 - { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 362: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1598 - { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 363: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1607 - { - yyVAL.node = yyDollar[1].node - } - case 364: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1609 - { - yyVAL.node = yyDollar[1].node - } - case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1614 + //line php5/php5.y:1715 { yyVAL.node = yyDollar[1].node @@ -4526,174 +4568,174 @@ yydefault: } } } - case 366: + case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1644 + //line php5/php5.y:1745 { yyVAL.node = yyDollar[1].node } - case 367: + case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1650 + //line php5/php5.y:1751 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } - case 368: + case 360: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:1753 { yyVAL.objectPropertyList = []objectProperty{} } - case 369: + case 361: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1658 + //line php5/php5.y:1759 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } - case 370: + case 362: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1663 + //line php5/php5.y:1764 { yyVAL.node = nil } - case 371: + case 363: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1665 + //line php5/php5.y:1766 { yyVAL.node = nil } - case 372: + case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1667 + //line php5/php5.y:1768 { yyVAL.node = yyDollar[1].node } - case 373: + case 365: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1772 { } - case 374: + case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1672 + //line php5/php5.y:1773 { } - case 375: + case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1673 + //line php5/php5.y:1774 { } - case 376: + case 368: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1678 + //line php5/php5.y:1779 { yyVAL.nodesWithEndToken = nil } - case 377: + case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1680 + //line php5/php5.y:1781 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 378: + case 370: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1685 + //line php5/php5.y:1786 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 379: + case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1691 + //line php5/php5.y:1792 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 380: + case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1697 + //line php5/php5.y:1798 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 381: + case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1703 + //line php5/php5.y:1804 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 382: + case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1709 + //line php5/php5.y:1810 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 383: + case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1715 + //line php5/php5.y:1816 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 384: + case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1721 + //line php5/php5.y:1822 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 385: + case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1727 + //line php5/php5.y:1828 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 386: + case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1733 + //line php5/php5.y:1834 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 387: + case 379: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1739 + //line php5/php5.y:1840 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 388: + case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1745 + //line php5/php5.y:1846 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 389: + case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1750 + //line php5/php5.y:1851 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 390: + case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1759 + //line php5/php5.y:1860 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4703,259 +4745,259 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 383: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1872 + { + } + case 384: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1876 + { + } + case 385: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1877 + { + } + case 386: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1878 + { + } + case 387: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1879 + { + } + case 388: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1880 + { + } + case 389: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1881 + { + } + case 390: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1882 + { + } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1771 + //line php5/php5.y:1883 { } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1775 + //line php5/php5.y:1884 { } case 393: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1776 + //line php5/php5.y:1885 { } case 394: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1777 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1889 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1778 + //line php5/php5.y:1890 { } case 396: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1779 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1891 { } case 397: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1780 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1892 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1781 + //line php5/php5.y:1893 { } case 399: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1782 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1894 { } case 400: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1783 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1895 { } case 401: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1784 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1896 { } case 402: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1788 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1897 { } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1789 + //line php5/php5.y:1898 { } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1790 + //line php5/php5.y:1899 { } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1791 + //line php5/php5.y:1900 { } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1901 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1793 + //line php5/php5.y:1902 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1794 + //line php5/php5.y:1903 { } case 409: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1795 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1904 { } case 410: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1796 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1905 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1797 + //line php5/php5.y:1906 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1798 + //line php5/php5.y:1907 { } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1799 + //line php5/php5.y:1908 { } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1800 + //line php5/php5.y:1909 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1801 + //line php5/php5.y:1910 { } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1802 + //line php5/php5.y:1911 { } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1803 + //line php5/php5.y:1912 { } case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1804 + //line php5/php5.y:1913 { } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1805 + //line php5/php5.y:1914 { } case 420: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1806 + //line php5/php5.y:1915 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1807 + //line php5/php5.y:1916 { } case 422: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1808 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1917 { } case 423: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1809 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1918 { } case 424: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1810 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1919 { } case 425: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1811 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1920 { } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1812 + //line php5/php5.y:1921 { } case 427: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1813 - { - } - case 428: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1814 - { - } - case 429: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1815 - { - } - case 430: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1816 - { - } - case 431: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1817 - { - } - case 432: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1818 - { - } - case 433: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1819 - { - } - case 434: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1820 - { - } - case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1825 + //line php5/php5.y:1926 { yyVAL.node = yyDollar[1].node } - case 436: + case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1827 + //line php5/php5.y:1928 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 437: + case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1833 + //line php5/php5.y:1934 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 438: + case 430: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1839 + //line php5/php5.y:1940 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 439: + case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1848 + //line php5/php5.y:1949 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4965,263 +5007,195 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 440: + case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1858 + //line php5/php5.y:1959 { yyVAL.node = yyDollar[1].node } - case 441: + case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1860 + //line php5/php5.y:1961 { yyVAL.node = yyDollar[1].node } - case 442: + case 434: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1862 + //line php5/php5.y:1963 { yyVAL.node = yyDollar[1].node } - case 443: + case 435: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1864 + //line php5/php5.y:1965 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 444: + case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1870 + //line php5/php5.y:1971 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 445: + case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1876 + //line php5/php5.y:1977 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 438: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1985 + { + } + case 439: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1986 + { + } + case 442: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1995 + { + } + case 443: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1996 + { + } + case 444: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1997 + { + } + case 445: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1998 + { + } case 446: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1884 - { - } - case 447: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1885 - { - } - case 450: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1894 - { - } - case 451: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1895 - { - } - case 452: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1896 - { - } - case 453: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1897 - { - } - case 454: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1902 - { - yyVAL.node = yyDollar[1].node - } - case 455: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1904 - { - yyVAL.node = yyDollar[1].node - } - case 456: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1909 - { - yyVAL.node = yyDollar[2].node - } - case 457: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1911 - { - yyVAL.node = yyDollar[2].node - } - case 458: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1917 - { - yyVAL.node = yyDollar[1].node - } - case 459: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1925 - { - yyVAL.node = yyDollar[1].node - } - case 460: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1932 - { - yyVAL.node = yyDollar[1].node - } - case 461: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1939 - { - } - case 462: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1941 - { - yyVAL.node = yyDollar[1].node - } - case 463: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1945 - { - } - case 464: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1946 - { - } - case 465: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1951 - { - } - case 466: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1951 - { - } - case 467: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1955 - { - } - case 468: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1956 - { - } - case 469: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1960 - { - } - case 470: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1961 - { - } - case 471: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1965 - { - } - case 472: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1966 - { - } - case 473: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1967 - { - } - case 474: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1972 - { - yyVAL.node = yyDollar[1].node - } - case 475: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1974 - { - yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) - - for _, n := range yyDollar[1].simpleIndirectReference.all { - positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) - } - - yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] - } - case 476: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1987 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 477: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1993 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 478: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:2003 { yyVAL.node = yyDollar[1].node } - case 479: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2008 + case 447: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2005 { + yyVAL.node = yyDollar[1].node } - case 480: - yyDollar = yyS[yypt-4 : yypt+1] + case 448: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:2010 { + yyVAL.node = yyDollar[2].node } - case 481: + case 449: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2012 + { + yyVAL.node = yyDollar[2].node + } + case 450: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2014 + //line php5/php5.y:2018 { yyVAL.node = yyDollar[1].node } - case 482: + case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2015 + //line php5/php5.y:2026 { yyVAL.node = yyDollar[1].node } - case 483: + case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2016 + //line php5/php5.y:2033 { yyVAL.node = yyDollar[1].node } - case 484: + case 453: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2040 + { + } + case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2022 + //line php5/php5.y:2042 { yyVAL.node = yyDollar[1].node } - case 485: + case 455: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2024 + //line php5/php5.y:2046 + { + } + case 456: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2047 + { + } + case 457: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2052 + { + } + case 458: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2052 + { + } + case 459: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2056 + { + } + case 460: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2057 + { + } + case 461: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2061 + { + } + case 462: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2062 + { + } + case 463: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2066 + { + } + case 464: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2067 + { + } + case 465: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2068 + { + } + case 466: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2073 + { + yyVAL.node = yyDollar[1].node + } + case 467: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2075 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5231,37 +5205,105 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 486: + case 468: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2088 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 469: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2094 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2034 + //line php5/php5.y:2104 { yyVAL.node = yyDollar[1].node } - case 487: + case 471: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2039 + //line php5/php5.y:2109 + { + } + case 472: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2111 + { + } + case 473: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2115 + { + yyVAL.node = yyDollar[1].node + } + case 474: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2116 + { + yyVAL.node = yyDollar[1].node + } + case 475: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2117 + { + yyVAL.node = yyDollar[1].node + } + case 476: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2123 + { + yyVAL.node = yyDollar[1].node + } + case 477: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2125 + { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 478: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2135 + { + yyVAL.node = yyDollar[1].node + } + case 479: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2140 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 488: + case 480: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2045 + //line php5/php5.y:2146 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 489: + case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2051 + //line php5/php5.y:2152 { yyVAL.node = yyDollar[1].node } - case 490: + case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2057 + //line php5/php5.y:2158 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5271,77 +5313,77 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 491: + case 483: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2067 + //line php5/php5.y:2168 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 492: + case 484: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2075 + //line php5/php5.y:2176 { yyVAL.node = nil } - case 493: + case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2076 + //line php5/php5.y:2177 { yyVAL.node = yyDollar[1].node } - case 494: + case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2082 + //line php5/php5.y:2183 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } - case 495: + case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2084 + //line php5/php5.y:2185 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } - case 496: + case 488: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2092 + //line php5/php5.y:2193 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } - case 497: + case 489: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2097 + //line php5/php5.y:2198 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } - case 498: + case 490: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2102 + //line php5/php5.y:2203 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } - case 499: + case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2110 + //line php5/php5.y:2211 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 500: + case 492: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2116 + //line php5/php5.y:2217 { yyVAL.node = yyDollar[2].node } - case 501: + case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2121 + //line php5/php5.y:2222 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5349,9 +5391,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 502: + case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2129 + //line php5/php5.y:2230 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5363,53 +5405,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 503: + case 495: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2144 + //line php5/php5.y:2245 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 504: + case 496: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2146 + //line php5/php5.y:2247 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 505: + case 497: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2152 + //line php5/php5.y:2253 { yyVAL.node = yyDollar[1].node } - case 506: + case 498: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2154 + //line php5/php5.y:2255 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 507: + case 499: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2160 + //line php5/php5.y:2261 { yyVAL.node = nil } - case 508: + case 500: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2166 + //line php5/php5.y:2267 { yyVAL.list = nil } - case 509: + case 501: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2168 + //line php5/php5.y:2269 { yyVAL.list = yyDollar[1].list } - case 510: + case 502: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2173 + //line php5/php5.y:2274 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5417,9 +5459,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 511: + case 503: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2181 + //line php5/php5.y:2282 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5427,9 +5469,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 512: + case 504: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2189 + //line php5/php5.y:2290 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5437,9 +5479,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 513: + case 505: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2197 + //line php5/php5.y:2298 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5447,9 +5489,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 514: + case 506: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2205 + //line php5/php5.y:2306 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5457,9 +5499,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 515: + case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2213 + //line php5/php5.y:2314 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5467,9 +5509,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 516: + case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2221 + //line php5/php5.y:2322 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5477,9 +5519,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 517: + case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2229 + //line php5/php5.y:2330 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5487,39 +5529,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 518: + case 510: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2240 + //line php5/php5.y:2341 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 519: + case 511: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2242 + //line php5/php5.y:2343 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 520: + case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2249 + //line php5/php5.y:2350 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 521: + case 513: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2251 + //line php5/php5.y:2352 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 522: + case 514: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2261 + //line php5/php5.y:2362 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5529,9 +5571,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 523: + case 515: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2271 + //line php5/php5.y:2372 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5544,9 +5586,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 524: + case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2284 + //line php5/php5.y:2385 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5562,17 +5604,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 525: + case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2300 + //line php5/php5.y:2401 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 526: + case 518: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2306 + //line php5/php5.y:2407 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5585,23 +5627,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 527: + case 519: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2320 + //line php5/php5.y:2421 { yyVAL.node = yyDollar[2].node } - case 528: + case 520: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2325 + //line php5/php5.y:2426 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 529: + case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2331 + //line php5/php5.y:2432 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5613,9 +5655,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 530: + case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2343 + //line php5/php5.y:2444 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5625,97 +5667,97 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 531: + case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2356 + //line php5/php5.y:2457 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 532: + case 524: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2362 + //line php5/php5.y:2463 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 533: + case 525: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2368 + //line php5/php5.y:2469 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 534: + case 526: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2374 + //line php5/php5.y:2475 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 535: + case 527: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2380 + //line php5/php5.y:2481 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 536: + case 528: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2386 + //line php5/php5.y:2487 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 537: + case 529: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2392 + //line php5/php5.y:2493 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 538: + case 530: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2398 + //line php5/php5.y:2499 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 539: + case 531: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2407 + //line php5/php5.y:2508 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 540: + case 532: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2409 + //line php5/php5.y:2510 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 541: + case 533: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2413 + //line php5/php5.y:2514 { yyVAL.node = yyDollar[1].node } - case 542: + case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2414 + //line php5/php5.y:2515 { yyVAL.node = yyDollar[1].node } - case 543: + case 535: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2419 + //line php5/php5.y:2520 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5725,9 +5767,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 544: + case 536: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2429 + //line php5/php5.y:2530 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5737,9 +5779,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 545: + case 537: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2442 + //line php5/php5.y:2543 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5749,9 +5791,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 546: + case 538: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2455 + //line php5/php5.y:2556 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 8c37bd7..68c7e63 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -205,12 +205,15 @@ import ( %type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member %type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr %type exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration -%type else_single new_else_single while_statement for_statement unset_variable foreach_statement +%type else_single new_else_single while_statement for_statement unset_variable foreach_statement declare_statement +%type finally_statement additional_catch %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list %type array_pair_list assignment_list lexical_var_list lexical_vars elseif_list new_elseif_list non_empty_for_expr -%type for_expr case_list echo_expr_list unset_variables +%type for_expr case_list echo_expr_list unset_variables declare_list catch_statement additional_catches +%type non_empty_additional_catches + %type simple_indirect_reference %type foreach_variable foreach_optional_arg @@ -709,38 +712,108 @@ unticked_statement: positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $8)) comments.AddComments($$, $1.Comments()) } - | T_DECLARE { } '(' declare_list ')' declare_statement { } - | ';' /* empty statement */ { } - | T_TRY '{' inner_statement_list '}' catch_statement finally_statement { } - | T_THROW expr ';' { } - | T_GOTO T_STRING ';' { } + | T_DECLARE '(' declare_list ')' declare_statement + { + $$ = stmt.NewDeclare($3, $5) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) + comments.AddComments($$, $1.Comments()) + } + | ';' + { + $$ = stmt.NewNop() + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_TRY '{' inner_statement_list '}' catch_statement finally_statement + { + $$ = stmt.NewTry($3, $5, $6) + + if $6 == nil { + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $5)) + } else { + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) + } + + comments.AddComments($$, $1.Comments()) + } + | T_THROW expr ';' + { + $$ = stmt.NewThrow($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_GOTO T_STRING ';' + { + label := node.NewIdentifier($2.Value) + positions.AddPosition(label, positionBuilder.NewTokenPosition($2)) + $$ = stmt.NewGoto(label) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + + comments.AddComments(label, $2.Comments()) + comments.AddComments($$, $1.Comments()) + } ; catch_statement: - /* empty */ { } - | T_CATCH '(' { } - fully_qualified_class_name { } - T_VARIABLE ')' { } - '{' inner_statement_list '}' { } - additional_catches { } + /* empty */ + { $$ = []node.Node{} } + | T_CATCH '(' fully_qualified_class_name T_VARIABLE ')' '{' inner_statement_list '}' additional_catches + { + identifier := node.NewIdentifier($4.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) + comments.AddComments(identifier, $4.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) + comments.AddComments(variable, $4.Comments()) + + catch := stmt.NewCatch([]node.Node{$3}, variable, $7) + positions.AddPosition(catch, positionBuilder.NewTokensPosition($1, $8)) + comments.AddComments(catch, $1.Comments()) + + $$ = append([]node.Node{catch}, $9...) + } finally_statement: - /* empty */ { } - | T_FINALLY { } '{' inner_statement_list '}' { } + /* empty */ + { $$ = nil } + | T_FINALLY '{' inner_statement_list '}' + { + $$ = stmt.NewFinally($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; additional_catches: - non_empty_additional_catches { } - | /* empty */ { } + non_empty_additional_catches + { $$ = $1 } + | /* empty */ + { $$ = []node.Node{} } ; non_empty_additional_catches: - additional_catch { } - | non_empty_additional_catches additional_catch { } + additional_catch + { $$ = []node.Node{$1} } + | non_empty_additional_catches additional_catch + { $$ = append($1, $2) } ; additional_catch: - T_CATCH '(' fully_qualified_class_name { } T_VARIABLE ')' { } '{' inner_statement_list '}' { } + T_CATCH '(' fully_qualified_class_name T_VARIABLE ')' '{' inner_statement_list '}' + { + identifier := node.NewIdentifier($4.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) + comments.AddComments(identifier, $4.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) + comments.AddComments(variable, $4.Comments()) + + $$ = stmt.NewCatch([]node.Node{$3}, variable, $7) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) + comments.AddComments($$, $1.Comments()) + } ; unset_variables: @@ -873,13 +946,41 @@ foreach_statement: declare_statement: statement + { $$ = $1; } | ':' inner_statement_list T_ENDDECLARE ';' + { + $$ = stmt.NewStmtList($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; declare_list: - T_STRING '=' static_scalar { } - | declare_list ',' T_STRING '=' static_scalar { } + T_STRING '=' static_scalar + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + comments.AddComments(name, $1.Comments()) + + constant := stmt.NewConstant(name, $3, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition($1, $3)) + comments.AddComments(constant, $1.Comments()) + + $$ = []node.Node{constant} + } + | declare_list ',' T_STRING '=' static_scalar + { + name := node.NewIdentifier($3.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) + comments.AddComments(name, $3.Comments()) + + constant := stmt.NewConstant(name, $5, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition($3, $5)) + comments.AddComments(constant, $3.Comments()) + + $$ = append($1, constant) + } ; From f1908571dda8533aadb111cbf13beb91b3df4f79 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sat, 3 Feb 2018 19:33:22 +0200 Subject: [PATCH 22/31] php5 syntax --- php5/php5.go | 5052 ++++++++++++++++++++++++++------------------------ php5/php5.y | 246 ++- 2 files changed, 2814 insertions(+), 2484 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 0029169..0ff315e 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -23,10 +23,10 @@ import ( //line php5/php5.y:22 type yySymType struct { - yys int - node node.Node - token token.Token - // boolWithToken boolWithToken + yys int + node node.Node + token token.Token + boolWithToken boolWithToken list []node.Node foreachVariable foreachVariable nodesWithEndToken *nodesWithEndToken @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2567 +//line php5/php5.y:2721 //line yacctab:1 var yyExca = [...]int{ @@ -355,483 +355,568 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 452, - 105, 452, - -2, 450, + 104, 447, + 105, 447, + -2, 445, -1, 101, - 78, 349, - -2, 428, + 78, 344, + -2, 423, -1, 113, - 78, 470, - 123, 466, - -2, 476, + 78, 465, + 123, 461, + -2, 471, -1, 153, - 104, 452, - 105, 452, - -2, 450, + 104, 447, + 105, 447, + -2, 445, -1, 203, - 121, 323, - 124, 323, - -2, 447, + 121, 318, + 124, 318, + -2, 442, -1, 204, - 104, 452, - 105, 452, - 121, 324, - 124, 324, - -2, 450, + 104, 447, + 105, 447, + 121, 319, + 124, 319, + -2, 445, -1, 270, - 78, 470, - -2, 476, + 78, 465, + -2, 471, -1, 297, - 78, 351, - -2, 430, + 78, 346, + -2, 425, -1, 301, - 123, 467, - -2, 477, + 123, 462, + -2, 472, -1, 310, - 78, 350, - -2, 429, + 78, 345, + -2, 424, -1, 376, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 284, + -2, 279, -1, 377, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 285, + -2, 280, -1, 378, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 286, + -2, 281, -1, 379, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 287, + -2, 282, -1, 380, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 288, + -2, 283, -1, 381, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 289, + -2, 284, -1, 382, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 290, + -2, 285, -1, 383, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 291, + -2, 286, -1, 390, - 104, 452, - 105, 452, - -2, 450, - -1, 442, - 123, 461, - -2, 465, - -1, 460, - 104, 452, - 105, 452, - 124, 533, - 135, 533, - -2, 450, + 104, 447, + 105, 447, + -2, 445, + -1, 443, + 123, 456, + -2, 460, -1, 461, - 124, 534, - 135, 534, - -2, 447, + 104, 447, + 105, 447, + 124, 528, + 135, 528, + -2, 445, -1, 462, - 104, 452, - 105, 452, - -2, 450, - -1, 484, - 124, 157, - 135, 157, - -2, 447, + 124, 529, + 135, 529, + -2, 442, + -1, 463, + 104, 447, + 105, 447, + -2, 445, -1, 485, - 104, 452, - 105, 452, - 124, 158, - 135, 158, - -2, 450, - -1, 491, - 123, 491, - -2, 535, - -1, 497, - 123, 491, - -2, 536, - -1, 519, - 78, 349, - -2, 386, + 124, 154, + 135, 154, + -2, 442, + -1, 486, + 104, 447, + 105, 447, + 124, 155, + 135, 155, + -2, 445, + -1, 492, + 123, 486, + -2, 530, + -1, 498, + 123, 486, + -2, 531, + -1, 520, + 78, 344, + -2, 381, -1, 567, - 124, 143, - -2, 148, - -1, 575, - 121, 325, - 124, 325, - -2, 447, - -1, 576, - 104, 452, - 105, 452, - 121, 326, - 124, 326, - -2, 450, - -1, 583, - 57, 234, - 125, 234, - -2, 233, - -1, 669, - 78, 351, - -2, 388, - -1, 698, - 124, 143, - -2, 148, - -1, 715, - 124, 143, - -2, 148, - -1, 771, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 414, - -1, 772, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 415, + 124, 140, + -2, 145, + -1, 568, + 124, 140, + -2, 145, + -1, 578, + 121, 320, + 124, 320, + -2, 442, + -1, 579, + 104, 447, + 105, 447, + 121, 321, + 124, 321, + -2, 445, + -1, 586, + 57, 229, + 125, 229, + -2, 228, + -1, 672, + 78, 346, + -2, 383, + -1, 701, + 124, 140, + -2, 145, -1, 773, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 416, + -2, 409, -1, 774, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 417, + -2, 410, -1, 775, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 418, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 411, -1, 776, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 419, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 412, -1, 777, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 420, + -2, 413, -1, 778, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 421, - -1, 781, - 78, 350, - -2, 387, - -1, 831, - 57, 229, - -2, 231, - -1, 883, - 37, 204, - -2, 201, - -1, 938, - 123, 461, - -2, 465, - -1, 990, - 29, 192, + -2, 414, + -1, 779, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 415, + -1, 780, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 416, + -1, 783, + 78, 345, + -2, 382, + -1, 832, + 37, 199, + -2, 196, + -1, 848, + 57, 224, + -2, 226, + -1, 947, + 123, 456, + -2, 460, + -1, 977, + 29, 187, -2, 4, - -1, 1012, - 124, 143, - -2, 148, - -1, 1016, - 121, 196, - -2, 198, + -1, 991, + 124, 140, + -2, 145, + -1, 1010, + 121, 191, + -2, 193, } const yyPrivate = 57344 -const yyLast = 8461 +const yyLast = 8422 var yyAct = [...]int{ - 101, 716, 1020, 594, 834, 475, 430, 199, 887, 122, - 130, 984, 832, 450, 442, 718, 825, 472, 703, 417, - 914, 799, 808, 515, 671, 338, 459, 327, 871, 728, - 4, 418, 97, 388, 263, 60, 445, 318, 314, 542, - 157, 129, 329, 288, 2, 6, 257, 140, 483, 328, - 641, 178, 5, 137, 139, 227, 227, 144, 25, 42, - 641, 975, 1011, 962, 978, 961, 191, 191, 977, 43, - 958, 928, 971, 953, 814, 976, 1024, 641, 191, 960, - 266, 643, 642, 972, 917, 929, 448, 731, 120, 644, - 646, 647, 645, 113, 152, 580, 508, 497, 141, 120, - 697, 38, 645, 297, 564, 176, 175, 250, 514, 356, - 509, 203, 269, 504, 136, 653, 644, 646, 647, 645, - 50, 240, 491, 324, 120, 310, 161, 505, 315, 319, - 826, 820, 322, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 178, 153, 641, 829, 620, 337, - 643, 642, 177, 179, 180, 178, 357, 353, 580, 621, - 227, 785, 204, 606, 492, 331, 579, 334, 309, 355, - 358, 354, 117, 270, 607, 226, 226, 580, 663, 665, - 664, 666, 651, 652, 653, 644, 646, 647, 645, 348, - 562, 558, 266, 311, 227, 449, 125, 240, 120, 722, - 641, 563, 559, 349, 643, 642, 449, 312, 301, 132, - 119, 995, 541, 473, 200, 963, 937, 103, 295, 350, - 903, 119, 227, 133, 269, 120, 384, 120, 158, 902, - 422, 449, 840, 835, 783, 38, 651, 652, 653, 644, - 646, 647, 645, 300, 736, 420, 119, 161, 627, 299, - 125, 619, 120, 618, 612, 611, 599, 951, 585, 584, - 432, 227, 598, 896, 391, 228, 471, 740, 229, 454, - 739, 438, 230, 230, 592, 293, 125, 292, 120, 286, - 352, 280, 253, 252, 232, 270, 1036, 465, 1028, 947, - 911, 870, 227, 469, 191, 865, 862, 264, 860, 477, - 478, 833, 434, 435, 849, 819, 493, 681, 240, 622, - 125, 394, 120, 130, 389, 390, 613, 507, 609, 228, - 119, 511, 229, 909, 427, 519, 425, 996, 435, 434, - 434, 470, 435, 176, 175, 489, 304, 4, 232, 437, - 495, 306, 419, 461, 463, 228, 294, 119, 229, 302, - 159, 1027, 6, 500, 503, 482, 446, 519, 1012, 5, - 125, 924, 120, 855, 232, 456, 484, 174, 177, 179, - 180, 178, 539, 952, 119, 296, 138, 230, 817, 267, - 550, 441, 268, 544, 811, 351, 715, 296, 801, 800, - 546, 191, 446, 698, 460, 462, 670, 446, 232, 581, - 119, 570, 567, 535, 342, 227, 287, 343, 38, 264, - 277, 230, 476, 274, 294, 273, 249, 485, 221, 195, - 194, 193, 582, 691, 692, 143, 121, 386, 134, 228, - 176, 175, 229, 1008, 119, 444, 1033, 885, 1032, 230, - 1004, 578, 1003, 886, 993, 919, 884, 537, 232, 908, - 538, 308, 859, 307, 603, 803, 90, 691, 692, 797, - 489, 495, 181, 182, 174, 177, 179, 180, 178, 796, - 604, 490, 575, 790, 701, 687, 496, 545, 230, 543, - 540, 499, 451, 396, 119, 346, 155, 227, 1001, 258, - 901, 593, 623, 38, 436, 125, 1038, 891, 892, 893, - 890, 889, 888, 968, 944, 923, 315, 922, 868, 230, - 319, 802, 822, 727, 305, 519, 488, 446, 446, 926, - 196, 433, 669, 576, 519, 577, 223, 224, 4, 502, - 853, 519, 519, 519, 519, 519, 794, 795, 640, 683, - 684, 600, 529, 6, 633, 690, 446, 636, 125, 446, - 5, 446, 875, 259, 260, 638, 635, 990, 294, 125, - 227, 227, 227, 125, 725, 519, 688, 124, 570, 668, - 453, 421, 124, 726, 529, 570, 1007, 675, 457, 266, - 707, 227, 227, 693, 452, 695, 256, 513, 712, 424, - 709, 423, 303, 702, 466, 298, 490, 496, 467, 38, - 569, 733, 809, 835, 123, 742, 724, 476, 294, 294, - 574, 269, 732, 730, 843, 674, 227, 571, 227, 455, - 572, 748, 230, 749, 125, 602, 571, 262, 444, 572, - 605, 320, 400, 125, 746, 316, 38, 38, 207, 510, - 294, 488, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 781, - 750, 519, 270, 284, 720, 721, 787, 461, 281, 285, - 389, 704, 704, 891, 892, 893, 890, 889, 888, 206, - 784, 484, 294, 571, 1005, 782, 572, 872, 519, 570, - 806, 419, 419, 506, 230, 131, 227, 816, 625, 626, - 1021, 714, 792, 61, 629, 630, 570, 818, 788, 791, - 258, 805, 321, 44, 1006, 570, 824, 821, 460, 641, - 812, 561, 529, 643, 642, 53, 476, 336, 476, 258, - 1034, 529, 485, 837, 436, 125, 838, 839, 529, 529, - 529, 529, 529, 1010, 823, 997, 294, 661, 662, 659, - 660, 663, 665, 664, 666, 651, 652, 653, 644, 646, - 647, 645, 127, 128, 729, 294, 238, 230, 230, 230, - 519, 517, 529, 467, 259, 260, 519, 519, 973, 258, - 225, 233, 258, 955, 283, 925, 264, 436, 230, 230, - 921, 502, 468, 259, 260, 548, 587, 162, 589, 588, - 227, 1025, 227, 517, 1017, 519, 741, 131, 570, 852, - 857, 570, 597, 856, 979, 813, 810, 570, 863, 956, - 854, 864, 44, 230, 258, 230, 873, 898, 867, 876, - 899, 895, 258, 804, 691, 692, 227, 282, 932, 519, - 900, 905, 284, 259, 260, 125, 259, 260, 904, 529, - 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, - 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, - 529, 529, 529, 529, 529, 529, 918, 570, 529, 913, - 915, 258, 931, 915, 752, 751, 255, 711, 259, 260, - 694, 691, 692, 935, 639, 637, 259, 260, 519, 634, - 936, 590, 38, 512, 858, 529, 479, 397, 393, 323, - 202, 201, 198, 230, 729, 135, 595, 596, 938, 446, - 704, 738, 419, 672, 526, 549, 398, 446, 957, 942, - 254, 898, 964, 251, 557, 807, 385, 583, 362, 361, - 114, 360, 359, 827, 519, 259, 260, 38, 735, 519, - 734, 570, 897, 570, 830, 831, 476, 883, 1015, 988, - 910, 517, 912, 1013, 987, 986, 985, 974, 519, 519, - 517, 930, 980, 920, 570, 983, 982, 517, 517, 517, - 517, 517, 959, 933, 1031, 1002, 1000, 529, 882, 881, - 880, 998, 999, 529, 529, 954, 570, 927, 444, 38, - 879, 38, 519, 570, 1023, 1016, 444, 869, 878, 38, - 481, 517, 1026, 719, 940, 570, 894, 230, 570, 230, - 271, 945, 529, 717, 573, 1022, 401, 948, 949, 38, - 40, 723, 568, 399, 38, 39, 451, 38, 38, 566, - 874, 14, 13, 1, 341, 608, 516, 842, 965, 966, - 745, 443, 1019, 230, 38, 38, 529, 208, 209, 210, + 101, 1020, 836, 718, 971, 597, 431, 443, 724, 122, + 130, 851, 849, 451, 706, 199, 113, 720, 418, 730, + 801, 473, 810, 516, 922, 338, 674, 460, 891, 327, + 295, 419, 4, 576, 388, 97, 263, 318, 157, 314, + 136, 60, 329, 543, 2, 6, 446, 129, 257, 140, + 288, 328, 484, 644, 5, 227, 227, 476, 25, 137, + 139, 178, 43, 144, 42, 989, 943, 449, 942, 120, + 965, 958, 191, 986, 939, 936, 934, 925, 896, 816, + 266, 492, 941, 120, 987, 1016, 846, 152, 583, 498, + 935, 120, 897, 114, 733, 648, 270, 583, 978, 700, + 623, 609, 565, 297, 203, 644, 515, 191, 652, 646, + 645, 624, 610, 250, 644, 269, 582, 356, 646, 645, + 324, 240, 731, 493, 200, 310, 821, 583, 315, 319, + 787, 301, 322, 664, 665, 662, 663, 666, 668, 667, + 669, 654, 655, 656, 647, 649, 650, 648, 304, 178, + 654, 655, 656, 647, 649, 650, 648, 337, 509, 120, + 227, 644, 120, 563, 559, 646, 645, 331, 309, 334, + 644, 505, 510, 271, 564, 560, 450, 355, 169, 191, + 117, 177, 179, 180, 178, 506, 141, 158, 542, 38, + 450, 119, 266, 357, 227, 474, 1003, 240, 450, 656, + 647, 649, 650, 648, 946, 119, 353, 358, 270, 647, + 649, 650, 648, 119, 161, 348, 192, 172, 176, 175, + 354, 311, 227, 911, 350, 910, 904, 269, 384, 349, + 423, 857, 961, 852, 103, 312, 785, 394, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 391, 132, 300, + 433, 227, 738, 1032, 630, 299, 1027, 622, 621, 455, + 615, 614, 133, 742, 125, 125, 120, 120, 588, 447, + 602, 119, 587, 472, 302, 271, 601, 466, 457, 230, + 230, 741, 227, 470, 452, 595, 125, 293, 120, 478, + 479, 850, 439, 292, 435, 436, 494, 286, 240, 159, + 280, 253, 1004, 130, 264, 447, 252, 508, 1015, 956, + 447, 512, 919, 38, 709, 520, 882, 879, 489, 877, + 436, 435, 435, 866, 436, 161, 462, 464, 471, 4, + 823, 503, 191, 228, 228, 490, 229, 229, 962, 820, + 496, 684, 6, 501, 294, 483, 448, 520, 625, 485, + 504, 5, 232, 232, 616, 228, 612, 428, 229, 991, + 438, 426, 306, 538, 933, 917, 539, 581, 540, 296, + 551, 176, 175, 351, 232, 191, 138, 545, 547, 819, + 813, 701, 448, 708, 230, 296, 673, 448, 119, 119, + 584, 572, 568, 572, 567, 125, 227, 120, 536, 571, + 294, 577, 287, 181, 182, 174, 177, 179, 180, 178, + 119, 803, 802, 585, 176, 175, 264, 342, 230, 277, + 343, 872, 125, 274, 120, 273, 125, 249, 120, 221, + 195, 447, 447, 445, 194, 193, 143, 308, 121, 307, + 1024, 386, 1023, 1012, 489, 606, 230, 134, 174, 177, + 179, 180, 178, 1001, 607, 603, 578, 694, 695, 995, + 447, 490, 496, 447, 228, 447, 994, 229, 927, 491, + 916, 421, 694, 695, 497, 876, 805, 799, 227, 798, + 792, 704, 690, 232, 546, 230, 38, 544, 541, 500, + 396, 228, 346, 155, 229, 267, 992, 315, 268, 258, + 909, 319, 596, 1033, 437, 125, 520, 983, 448, 448, + 232, 628, 629, 672, 232, 520, 230, 632, 633, 119, + 953, 4, 520, 520, 520, 520, 520, 932, 887, 643, + 885, 870, 726, 575, 6, 626, 636, 448, 639, 305, + 448, 196, 448, 5, 434, 804, 119, 223, 224, 530, + 119, 227, 227, 227, 796, 797, 520, 691, 572, 572, + 693, 572, 725, 259, 260, 729, 890, 710, 294, 577, + 641, 38, 266, 638, 227, 227, 728, 124, 696, 715, + 698, 530, 256, 712, 90, 705, 686, 687, 270, 671, + 454, 422, 124, 735, 727, 491, 497, 998, 744, 125, + 125, 125, 678, 458, 467, 734, 503, 269, 732, 227, + 453, 227, 425, 125, 123, 840, 841, 842, 839, 838, + 837, 743, 677, 294, 605, 424, 294, 445, 748, 608, + 230, 125, 977, 303, 298, 520, 520, 520, 520, 520, + 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, + 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, + 520, 520, 783, 462, 520, 271, 750, 752, 751, 125, + 573, 320, 316, 574, 281, 285, 468, 485, 38, 514, + 284, 722, 723, 811, 511, 131, 852, 786, 258, 860, + 784, 520, 572, 507, 321, 808, 127, 128, 456, 227, + 573, 573, 262, 574, 574, 570, 402, 794, 400, 258, + 207, 996, 230, 61, 807, 38, 38, 892, 793, 825, + 206, 818, 572, 814, 1021, 717, 44, 822, 997, 644, + 843, 562, 294, 646, 645, 336, 824, 294, 855, 856, + 530, 131, 854, 1031, 815, 53, 294, 294, 1014, 530, + 789, 468, 259, 260, 988, 162, 530, 530, 530, 530, + 530, 666, 668, 667, 669, 654, 655, 656, 647, 649, + 650, 648, 520, 259, 260, 834, 238, 258, 520, 520, + 44, 835, 437, 963, 833, 230, 230, 230, 931, 929, + 530, 895, 790, 806, 694, 695, 549, 1017, 258, 1011, + 225, 233, 227, 437, 227, 966, 264, 520, 230, 230, + 572, 874, 572, 869, 937, 873, 880, 900, 886, 697, + 694, 695, 881, 125, 754, 899, 572, 753, 871, 888, + 884, 714, 875, 642, 902, 840, 841, 842, 839, 838, + 837, 259, 260, 230, 640, 230, 637, 907, 903, 258, + 908, 906, 593, 227, 283, 258, 520, 893, 912, 447, + 282, 469, 259, 260, 513, 452, 480, 447, 397, 530, + 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, + 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, + 530, 530, 530, 530, 530, 530, 921, 926, 530, 923, + 393, 944, 923, 918, 938, 920, 520, 323, 945, 518, + 913, 202, 284, 259, 260, 201, 928, 198, 930, 259, + 260, 135, 600, 598, 258, 530, 599, 520, 947, 255, + 520, 740, 572, 230, 572, 590, 448, 592, 591, 951, + 968, 518, 976, 979, 448, 675, 527, 906, 949, 520, + 964, 550, 398, 967, 254, 954, 520, 251, 558, 517, + 809, 572, 385, 959, 586, 993, 362, 361, 360, 976, + 359, 844, 984, 737, 736, 905, 847, 848, 832, 990, + 520, 1009, 572, 980, 981, 1006, 975, 572, 259, 260, + 1010, 1007, 38, 974, 973, 1008, 972, 970, 969, 940, + 901, 482, 1, 1005, 889, 1022, 530, 572, 898, 191, + 341, 1026, 530, 530, 1002, 1025, 859, 747, 572, 444, + 401, 894, 831, 445, 828, 569, 1029, 719, 1019, 1018, + 716, 445, 392, 387, 163, 339, 230, 688, 230, 537, + 960, 530, 289, 459, 160, 156, 192, 172, 176, 175, + 317, 313, 38, 126, 830, 1028, 829, 827, 399, 39, + 721, 14, 13, 817, 1034, 711, 950, 333, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 230, 795, 685, + 530, 10, 248, 74, 75, 38, 115, 38, 265, 63, + 518, 88, 589, 89, 519, 38, 100, 38, 561, 518, + 73, 11, 325, 50, 99, 98, 518, 518, 518, 518, + 518, 78, 118, 525, 834, 3, 38, 191, 40, 0, + 835, 38, 0, 833, 0, 0, 38, 0, 153, 0, + 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 518, 0, 0, 0, 0, 204, 0, 38, 38, 0, + 0, 530, 0, 0, 530, 0, 176, 175, 226, 226, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 0, 530, 840, 841, 842, 839, 838, 837, + 530, 0, 0, 0, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 38, 826, 0, 0, 0, + 0, 38, 0, 0, 530, 208, 209, 210, 211, 213, + 214, 215, 216, 217, 218, 219, 220, 212, 0, 518, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, + 518, 518, 518, 518, 518, 518, 0, 0, 518, 208, + 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, + 220, 212, 0, 352, 0, 0, 0, 0, 0, 0, + 0, 611, 0, 0, 0, 518, 0, 0, 0, 0, + 0, 0, 30, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 0, 389, 390, 0, + 0, 0, 0, 0, 0, 146, 150, 154, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 0, 0, 197, + 0, 0, 0, 0, 205, 420, 0, 0, 0, 116, + 0, 0, 0, 0, 0, 222, 0, 0, 0, 234, + 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, + 244, 245, 246, 247, 0, 0, 518, 0, 0, 0, + 261, 0, 518, 518, 442, 275, 276, 0, 278, 279, + 0, 0, 0, 0, 0, 0, 0, 461, 463, 290, + 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, + 0, 518, 0, 0, 0, 477, 0, 0, 0, 0, + 486, 0, 0, 0, 0, 0, 0, 0, 0, 272, + 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, + 0, 239, 0, 0, 0, 0, 340, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 125, 1018, 120, 994, 713, 392, 934, 387, 163, 339, - 685, 536, 950, 38, 289, 458, 160, 156, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 529, 885, 517, 317, 706, - 313, 126, 886, 815, 38, 884, 708, 941, 38, 333, - 793, 682, 271, 10, 248, 74, 75, 115, 1035, 228, - 265, 63, 229, 1039, 517, 88, 586, 89, 518, 100, - 981, 73, 989, 11, 325, 99, 98, 78, 232, 118, - 524, 529, 3, 0, 0, 0, 529, 0, 0, 0, - 0, 0, 0, 989, 0, 0, 891, 892, 893, 890, - 889, 888, 0, 0, 0, 529, 529, 0, 705, 0, - 0, 0, 0, 0, 119, 1014, 0, 0, 877, 30, - 0, 0, 0, 447, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1029, 0, 0, 1030, 560, 529, - 0, 0, 146, 150, 154, 0, 517, 0, 164, 0, - 0, 0, 517, 517, 0, 0, 197, 0, 0, 447, - 655, 205, 0, 116, 447, 0, 0, 0, 0, 0, - 0, 0, 222, 0, 0, 0, 234, 235, 236, 237, - 0, 517, 239, 0, 241, 242, 243, 244, 245, 246, - 247, 0, 0, 0, 0, 0, 641, 261, 667, 649, - 643, 642, 275, 276, 0, 278, 279, 0, 0, 0, - 0, 0, 0, 0, 0, 517, 290, 0, 231, 231, - 658, 657, 648, 650, 661, 662, 659, 660, 663, 665, - 664, 666, 651, 652, 653, 644, 646, 647, 645, 0, - 0, 0, 0, 272, 0, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 239, 0, - 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 517, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 447, 447, 0, 0, 0, 0, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - 383, 0, 0, 447, 154, 0, 447, 0, 447, 0, - 517, 0, 0, 231, 0, 517, 0, 0, 403, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 0, 0, 0, 517, 517, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 272, 0, 231, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, - 0, 429, 431, 431, 0, 0, 0, 0, 517, 439, - 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, - 0, 0, 0, 154, 154, 0, 0, 464, 0, 0, - 431, 0, 0, 0, 0, 0, 431, 290, 0, 0, - 0, 0, 431, 431, 0, 0, 154, 0, 0, 431, - 494, 0, 0, 0, 231, 498, 347, 0, 641, 0, - 0, 649, 643, 642, 0, 0, 0, 0, 0, 271, - 0, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 0, 231, 661, 662, 659, 660, - 663, 665, 664, 666, 651, 652, 653, 644, 646, 647, - 645, 547, 168, 170, 169, 191, 0, 0, 551, 552, - 553, 554, 555, 0, 0, 0, 0, 0, 0, 0, - 673, 0, 0, 0, 0, 0, 0, 676, 677, 678, - 679, 680, 0, 0, 0, 556, 801, 800, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 0, 0, 231, 601, + 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 676, 0, 0, 154, 0, 0, + 0, 679, 680, 681, 682, 683, 0, 0, 0, 231, + 518, 404, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 0, 579, 0, 580, + 0, 518, 0, 0, 518, 0, 0, 0, 0, 0, + 0, 272, 0, 231, 0, 0, 0, 0, 0, 0, + 0, 0, 239, 518, 430, 432, 432, 0, 0, 0, + 518, 0, 440, 0, 0, 0, 0, 0, 0, 0, + 0, 231, 0, 0, 0, 0, 154, 154, 0, 0, + 465, 0, 0, 432, 518, 0, 0, 0, 0, 432, + 290, 0, 0, 0, 0, 432, 432, 0, 0, 154, + 0, 0, 432, 495, 0, 0, 0, 0, 499, 0, + 231, 477, 0, 0, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, + 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, + 782, 231, 0, 676, 0, 0, 0, 0, 0, 168, + 170, 169, 191, 0, 548, 0, 0, 0, 0, 0, + 0, 552, 553, 554, 555, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 858, 0, 389, 707, 707, 0, 557, 192, + 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 154, 420, 420, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 168, 170, 169, 191, 461, 0, 0, 0, 0, 0, + 0, 0, 477, 0, 477, 0, 0, 0, 486, 0, + 0, 864, 0, 604, 0, 231, 0, 867, 868, 0, + 0, 0, 0, 0, 803, 802, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 617, 619, 0, + 0, 0, 0, 0, 0, 644, 0, 0, 652, 646, + 645, 627, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 651, 653, 664, 665, 662, 663, 666, 668, 667, + 669, 654, 655, 656, 647, 649, 650, 648, 0, 0, + 0, 0, 812, 0, 0, 914, 0, 231, 0, 0, + 0, 0, 0, 0, 340, 692, 0, 915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 614, 616, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 624, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 776, 777, 778, 780, 0, 0, 673, 0, 0, + 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 659, 657, 658, 0, + 0, 0, 0, 0, 0, 948, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, + 0, 0, 0, 0, 432, 745, 0, 0, 0, 0, + 231, 231, 231, 154, 644, 0, 670, 652, 646, 645, + 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, + 0, 272, 0, 231, 231, 707, 0, 420, 661, 660, + 651, 653, 664, 665, 662, 663, 666, 668, 667, 669, + 654, 655, 656, 647, 649, 650, 648, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 644, 0, + 670, 652, 646, 645, 0, 0, 477, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 800, 0, 659, + 657, 658, 661, 660, 651, 653, 664, 665, 662, 663, + 666, 668, 667, 669, 654, 655, 656, 647, 649, 650, + 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 865, 0, 845, 644, 0, 670, + 652, 646, 645, 0, 432, 432, 0, 0, 0, 0, + 0, 0, 861, 659, 657, 658, 0, 0, 231, 0, + 0, 661, 660, 651, 653, 664, 665, 662, 663, 666, + 668, 667, 669, 654, 655, 656, 647, 649, 650, 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 340, 689, 0, 907, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 700, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 656, 654, 655, 0, 447, 0, 0, 0, - 0, 0, 0, 0, 447, 0, 0, 0, 0, 0, - 0, 0, 737, 0, 0, 0, 0, 0, 431, 743, - 0, 0, 0, 231, 231, 231, 0, 154, 0, 0, - 641, 0, 667, 649, 643, 642, 0, 0, 0, 0, - 0, 154, 272, 0, 231, 231, 847, 0, 0, 0, - 0, 0, 850, 851, 658, 657, 648, 650, 661, 662, - 659, 660, 663, 665, 664, 666, 651, 652, 653, 644, - 646, 647, 645, 0, 0, 0, 0, 0, 0, 231, - 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 641, 0, 667, 649, 643, 642, 0, 0, - 0, 798, 0, 0, 0, 906, 0, 0, 0, 0, - 0, 0, 0, 656, 654, 655, 658, 657, 648, 650, - 661, 662, 659, 660, 663, 665, 664, 666, 651, 652, - 653, 644, 646, 647, 645, 0, 0, 0, 0, 0, - 0, 828, 0, 0, 0, 0, 0, 0, 848, 431, - 431, 641, 0, 667, 649, 643, 642, 844, 0, 231, - 656, 654, 655, 0, 939, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 658, 657, 648, 650, 661, - 662, 659, 660, 663, 665, 664, 666, 651, 652, 653, - 644, 646, 647, 645, 0, 0, 0, 0, 641, 846, - 667, 649, 643, 642, 0, 0, 0, 340, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, - 0, 0, 658, 657, 648, 650, 661, 662, 659, 660, - 663, 665, 664, 666, 651, 652, 653, 644, 646, 647, - 645, 0, 0, 431, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 231, 0, 231, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 82, 83, 71, + 0, 644, 863, 670, 652, 646, 645, 0, 0, 0, + 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 878, 0, 0, 661, 660, 651, 653, 664, + 665, 662, 663, 666, 668, 667, 669, 654, 655, 656, + 647, 649, 650, 648, 0, 0, 0, 0, 0, 0, + 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 432, 0, 94, 28, 19, 18, 0, + 20, 231, 32, 231, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, + 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 432, 0, 0, + 0, 92, 231, 0, 0, 0, 8, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 635, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, + 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 502, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, + 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, + 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 1035, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 1030, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 1013, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 231, - 33, 0, 0, 21, 0, 0, 431, 22, 23, 37, - 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, - 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 632, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 1000, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 0, 94, 28, 19, 18, 0, 20, 999, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, - 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, + 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 501, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, - 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, + 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 985, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 0, 32, 982, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, @@ -840,7 +925,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 1040, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -853,7 +938,7 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 1037, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 957, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, @@ -866,11 +951,11 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 1009, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 955, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 18, 0, 20, 0, 32, 0, 33, 883, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, @@ -879,11 +964,11 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 992, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 991, 32, 0, 33, 0, 0, + 19, 18, 689, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, @@ -906,7 +991,7 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 970, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 566, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, @@ -919,10 +1004,10 @@ var yyAct = [...]int{ 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 969, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 967, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, @@ -938,137 +1023,6 @@ var yyAct = [...]int{ 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 946, 34, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 866, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 686, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 565, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 326, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 943, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, - 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, - 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 916, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, - 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 710, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, - 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 335, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, @@ -1076,7 +1030,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 332, 62, 0, 96, + 0, 91, 76, 16, 0, 34, 952, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -1086,218 +1040,232 @@ var yyAct = [...]int{ 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, - 85, 86, 0, 191, 0, 0, 79, 52, 0, 0, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, - 96, 172, 176, 175, 57, 56, 58, 59, 72, 119, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 841, 0, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 0, 836, 192, 172, 176, 175, 656, 654, - 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 786, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 789, 641, 0, 667, 649, - 643, 642, 656, 654, 655, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, - 658, 657, 648, 650, 661, 662, 659, 660, 663, 665, - 664, 666, 651, 652, 653, 644, 646, 647, 645, 0, - 641, 0, 667, 649, 643, 642, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 658, 657, 648, 650, 661, 662, - 659, 660, 663, 665, 664, 666, 651, 652, 653, 644, - 646, 647, 645, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 744, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 699, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 696, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 631, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 628, 0, 0, - 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 610, 0, 0, 192, 172, - 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 591, - 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 0, 0, 0, 0, 0, 474, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 402, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 426, 0, - 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 0, 0, 192, 172, 176, 175, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 395, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 345, 0, 0, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 344, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 656, 654, 655, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 641, 0, 667, 649, 643, - 642, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, - 657, 648, 650, 661, 662, 659, 660, 663, 665, 664, - 666, 651, 652, 653, 644, 646, 647, 645, 0, 0, - 0, 192, 172, 176, 175, 654, 655, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 641, 0, 667, 649, 643, 642, 170, 169, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 658, 657, 648, 650, - 661, 662, 659, 660, 663, 665, 664, 666, 651, 652, - 653, 644, 646, 647, 645, 0, 0, 192, 172, 176, - 175, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 192, - 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 641, 0, 0, 649, 643, 642, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, - 0, 0, 649, 643, 642, 658, 657, 648, 650, 661, - 662, 659, 660, 663, 665, 664, 666, 651, 652, 653, - 644, 646, 647, 645, 657, 648, 650, 661, 662, 659, - 660, 663, 665, 664, 666, 651, 652, 653, 644, 646, - 647, 645, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 176, 175, 0, 0, 0, 0, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 142, 112, 108, 102, 487, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 641, - 91, 76, 649, 643, 642, 0, 62, 480, 96, 0, - 0, 486, 57, 56, 58, 59, 72, 119, 0, 0, - 0, 0, 0, 0, 0, 648, 650, 661, 662, 659, - 660, 663, 665, 664, 666, 651, 652, 653, 644, 646, - 647, 645, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 191, 0, 0, 142, 112, 108, - 102, 487, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 172, 176, 175, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 0, 0, 486, 57, 56, 58, - 59, 72, 119, 0, 0, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 641, 0, 0, 649, 643, 642, 0, 0, - 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 650, - 661, 662, 659, 660, 663, 665, 664, 666, 651, 652, - 653, 644, 646, 647, 645, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 91, 76, 16, 0, 34, 924, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 0, 34, 713, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 335, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 191, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 176, 175, 845, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 332, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 168, 170, + 169, 191, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 0, 0, 0, 853, 192, 172, + 176, 175, 659, 657, 658, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 791, + 644, 0, 670, 652, 646, 645, 659, 657, 658, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 749, 0, 0, 661, 660, 651, 653, 664, 665, + 662, 663, 666, 668, 667, 669, 654, 655, 656, 647, + 649, 650, 648, 0, 644, 0, 670, 652, 646, 645, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 661, 660, + 651, 653, 664, 665, 662, 663, 666, 668, 667, 669, + 654, 655, 656, 647, 649, 650, 648, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 746, 0, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 702, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 699, 0, 0, 0, 0, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 634, 0, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 631, 0, 0, 0, 0, 0, 0, 192, 172, + 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 613, + 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 594, 0, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, + 0, 0, 475, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 403, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 427, 0, 0, 192, 172, 176, 175, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 395, 0, 0, 0, 0, 0, 192, 172, 176, 175, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 345, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, + 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 344, 0, 0, 0, 0, 0, + 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 165, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 659, 657, 658, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 644, + 0, 670, 652, 646, 645, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 661, 660, 651, 653, 664, 665, 662, + 663, 666, 668, 667, 669, 654, 655, 656, 647, 649, + 650, 648, 0, 0, 0, 192, 172, 176, 175, 657, + 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 644, 0, 670, 652, + 646, 645, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 661, 660, 651, 653, 664, 665, 662, 663, 666, 668, + 667, 669, 654, 655, 656, 647, 649, 650, 648, 0, + 0, 192, 172, 176, 175, 0, 658, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 644, 0, 670, 652, 646, 645, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 661, 660, 651, 653, + 664, 665, 662, 663, 666, 668, 667, 669, 654, 655, + 656, 647, 649, 650, 648, 644, 0, 0, 652, 646, + 645, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, + 660, 651, 653, 664, 665, 662, 663, 666, 668, 667, + 669, 654, 655, 656, 647, 649, 650, 648, 0, 172, + 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 644, 0, 0, 652, 646, 645, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 660, + 651, 653, 664, 665, 662, 663, 666, 668, 667, 669, + 654, 655, 656, 647, 649, 650, 648, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 176, 175, 0, 0, + 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 488, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 148, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 644, 62, 481, 96, 646, 645, 487, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 664, 665, + 662, 663, 666, 668, 667, 669, 654, 655, 656, 647, + 649, 650, 648, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 191, 0, 0, 142, 112, + 108, 102, 488, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 172, 176, 175, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 487, 57, 56, + 58, 59, 72, 119, 0, 0, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 644, 0, 0, 652, 646, 645, 0, + 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 653, 664, 665, 662, 663, 666, 668, 667, 669, 654, + 655, 656, 647, 649, 650, 648, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 191, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 617, 57, 56, + 0, 0, 62, 0, 96, 176, 175, 862, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 191, 0, 0, 142, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 172, 176, 175, 91, 76, 0, - 0, 0, 0, 62, 0, 96, 0, 0, 615, 57, - 56, 58, 59, 72, 119, 0, 0, 0, 173, 185, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 177, 179, 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, @@ -1306,7 +1274,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 0, 0, 62, 0, 96, 0, 0, 291, 57, + 0, 0, 0, 62, 0, 96, 0, 0, 620, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1314,29 +1282,44 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 618, + 57, 56, 58, 59, 72, 119, 0, 0, 0, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 191, - 0, 0, 79, 52, 0, 0, 0, 77, 41, 148, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 428, 96, 172, 176, 175, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 0, 0, 44, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, + 191, 0, 0, 79, 52, 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 404, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 76, 0, 0, 0, 0, 62, 429, 96, 172, 176, + 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 94, 0, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, @@ -1345,8 +1328,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, + 0, 405, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1358,7 +1341,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, + 0, 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, @@ -1371,7 +1354,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 145, 0, 62, 0, + 0, 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, @@ -1384,9 +1367,9 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 0, 0, 91, 76, 0, 0, 145, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 440, 120, + 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, @@ -1399,7 +1382,7 @@ var yyAct = [...]int{ 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 441, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, @@ -1408,213 +1391,224 @@ var yyAct = [...]int{ 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 104, 105, 125, 77, 41, 148, 0, 0, 0, - 0, 527, 54, 55, 0, 64, 65, 66, 67, 68, + 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 522, 0, 525, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 528, 0, 0, - 0, 0, 520, 112, 108, 521, 104, 105, 125, 0, - 0, 0, 0, 0, 0, 0, 527, 0, 0, 0, - 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 779, 534, 0, 523, 0, - 0, 0, 533, 532, 530, 531, 0, 0, 522, 0, - 525, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 528, 0, 0, 0, 0, 520, 112, 108, - 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 104, 105, 125, 77, 41, 148, 0, 0, + 0, 0, 528, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 523, 0, 526, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 529, 0, + 0, 0, 0, 521, 112, 108, 522, 104, 105, 125, + 0, 0, 0, 0, 0, 0, 0, 528, 0, 0, + 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 781, 535, 0, 524, + 0, 0, 0, 534, 533, 531, 532, 0, 0, 523, + 0, 526, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 529, 0, 0, 0, 0, 521, 112, + 108, 522, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 0, 523, 0, 0, 0, 533, 532, 530, - 531, + 0, 0, 535, 0, 524, 0, 0, 0, 534, 533, + 531, 532, } var yyPact = [...]int{ - -1000, -1000, 2335, -1000, -1000, -1000, -1000, 303, 485, 735, - 88, -1000, 306, -1000, -1000, 915, -1000, 253, 253, 4955, - 302, 253, 7775, 7644, 7513, 365, 216, 795, 7906, -1000, - 5866, 298, 297, 296, -1000, 401, 7906, 912, 86, 911, - 910, 7906, -1000, -1000, -1000, -1000, 637, -1000, 586, -1000, - 1507, 295, 7906, 422, 240, 240, 7906, 7906, 7906, 7906, - -1000, -1000, 8168, -1000, 7906, 7906, 7906, 7906, 7906, 7906, - 7906, 293, -1000, -1000, 158, 157, 879, 7906, 570, 300, - 292, 290, 7906, 7906, 287, 7906, 7906, -1000, 156, -1000, - -1000, 830, 777, -1000, 154, 283, 7120, -1000, 152, 150, - -1000, 264, 845, 517, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 124, 215, -1000, 514, 252, -1000, 395, - -1000, 217, 332, -1000, 845, -1000, 72, 553, 549, -1000, - 693, 845, -1000, 909, -1000, -13, 4038, 4824, 8168, 4693, - 716, 86, 490, 7906, 285, -1000, 5819, -1000, 686, -1000, - 5772, -1000, 364, 1395, 5954, -1000, 68, -1000, -1000, 266, - 36, 86, -27, 35, 5954, -1000, -1000, -1000, -1000, -1000, - 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, - 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, - 7906, 300, 305, 240, 7906, 908, -1000, 5725, 362, 907, - -1000, 577, -1000, -1000, 1507, 5678, -1000, -1000, 7382, 7906, - 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, 7906, - 7906, 186, -1000, -1000, -1000, -1000, -1000, 264, 489, 845, - 513, 511, -1000, -1000, -116, -116, -23, -116, 202, 5634, - 200, -116, -116, -116, -116, -116, -116, -116, -1000, 7251, - -1000, 7906, 7906, 7906, 403, 822, 780, -1000, 214, 8037, - 240, 6123, 76, 252, 506, -1000, 476, 488, 845, 562, - 124, 215, 500, 7906, 7906, 5954, 5954, 7906, 5954, 5954, - 7906, 477, 822, 708, -1000, 727, 7906, 7120, 140, 78, - 5590, 240, 7906, 7906, 906, -1000, 6393, 264, 112, 7906, - 7906, 124, 395, 87, -1000, 7906, 360, -1000, -1000, 2204, - 264, -1000, 623, -8, -1000, 674, 845, -25, -1000, 610, - 845, 903, 558, -28, 8328, -1000, -1000, -1000, -1000, -1000, - 280, -1000, -1000, -1000, -1000, -1000, 253, -1000, 359, 77, - 5954, -1000, 358, 356, -1000, -1000, -1000, -1000, -1000, 216, - -1000, 7906, -1000, -1000, 793, -1000, 8328, -1000, 7906, 7906, - 7906, 7906, 7906, 6082, 6956, 6705, 7249, -12, -12, -12, - -23, -116, -23, -23, 204, 204, -24, -24, -24, -24, - 301, 301, 301, 301, -1000, 7906, -1000, 67, -1000, -1000, - 1199, 702, 66, -32, 3907, -1000, -1000, -1000, 279, -1000, - 538, 555, 7906, 6123, 350, 6123, 6123, 6123, 6123, 6123, - 6123, 6123, 6123, 6123, 6123, 6123, 6123, 42, -1000, -1000, - 276, 845, 264, 76, 76, -1000, -1000, -1000, -1000, -116, - 133, 5954, 132, -1000, -1000, -1000, -1000, 796, 901, 5509, - 149, 371, -1000, 137, -1000, -1000, 124, 215, -1000, 7906, - -1000, -1000, 213, 845, 476, 76, 124, 213, 39, -1000, - 1507, -1000, 931, 194, 5461, 129, -1000, -1000, -1000, 128, - 192, -1000, -1000, 6970, 6839, -1000, -1000, 127, 125, -1000, - -1000, 24, 185, -1000, -1000, 1507, 240, 7906, -1000, 252, - 252, -1000, -1000, 122, 5417, 252, 252, -1000, 5369, -1000, - 2073, -1000, -1000, -1000, -1000, 553, 899, 527, -1000, 549, - 895, 526, -1000, 894, 8328, -1000, 5910, -1000, -1000, 476, - 487, 845, 273, 8328, -1000, -1000, -1000, -1000, 598, 499, - 8328, 8328, 8328, 8328, 8328, 183, 446, 4169, 3776, 354, - 7906, 7906, 425, -1000, 869, -1000, -1000, 5321, -36, 270, - -1000, 5954, 6262, 6534, 6040, 6123, 5273, 7906, 353, 240, - 1070, 1070, 4562, 887, 8328, 670, 263, 614, 550, -1000, - 476, 482, 845, 394, 538, -1000, 1507, -1000, 300, -49, - 186, 186, 264, -1000, -1000, -1000, 118, -1000, -1000, -1000, - -1000, -1000, 7906, -1000, -1000, 145, 142, 252, 7906, 7906, - 124, 5227, -1000, 476, -1000, -1000, -1000, 7906, -1000, -1000, - -1000, -1000, -1000, -1000, 5179, 240, 5954, 240, -1000, -1000, - -1000, 6548, -1000, -1000, 5954, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 885, -1000, -1000, 884, -1000, - -1000, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, - 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8328, - 8328, 8328, 8328, 8328, 8328, 8328, 8328, 8253, 845, 476, - 8328, 108, 26, 5135, 523, 666, -65, -65, -75, -75, - 5091, 352, -1000, 253, 4955, 443, 348, -1000, 338, 5954, - -1000, 7906, 267, 391, 334, 812, -1000, 8328, 614, -1000, - 4953, -1000, -1000, 544, -1000, 240, 261, 544, -1000, -1000, - -1000, -62, -1000, 665, 255, 614, 181, -4, -1000, 86, - -1000, -1000, -1000, 393, 538, 845, 476, -1000, -5, -1000, - -1000, 7906, -1000, 23, -1000, 176, -1000, 5047, 546, 7906, - 7906, -1000, 106, 5003, -1000, 557, -1000, 6708, -1000, -1000, - -1000, -1000, -1000, 1873, -75, -75, -65, -65, -65, -65, - 6577, 604, 1393, -48, -48, -75, 1161, 1767, 5997, 6384, - 6184, 21, 21, 21, 21, 75, 75, 75, 75, 8328, - 1826, 476, 180, -1000, -1000, 8328, 8328, -1000, -1000, -1000, - -1000, 4955, -1000, 435, 253, 241, -1000, 7906, 1475, -1000, - -1000, -1000, -1000, -1000, 331, -1000, 174, 7906, 172, 1070, - -1000, 186, 171, 3645, 8328, -1000, 389, 538, 167, 653, - 614, 469, -1000, -5, 476, 1088, 538, 252, 6123, -1000, - -1000, 138, 546, 7906, -1000, 76, 370, -1000, 103, 94, - -1000, -1000, -1000, 76, 5954, 240, -1000, 6166, 8328, -1000, - 1695, 5910, -1000, 328, 201, -1000, 166, -1000, 4169, -1000, - 653, 4953, 4431, -1000, -40, 4431, 324, -1000, -1000, 788, - 388, 386, 238, -1000, 783, -1000, 399, -1000, -1000, -1000, - -50, -1000, 686, 585, -1000, 838, 538, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 7906, 546, -1000, 90, - -1000, -1000, -1000, -1000, -1000, -1000, 6166, 8328, -1000, -1000, - 4169, 4300, 4169, 385, -1000, -1000, -1000, -1000, -1000, -1000, - 3514, 165, -1000, -1000, 245, -63, -1000, 781, -1000, 819, - 86, -1000, -66, -56, -1000, 89, 546, -1000, -1000, 5910, - 4169, -1000, -1000, -1000, -1000, 3383, -1000, 384, 3252, 3121, - -52, -1000, 776, 8328, -60, -68, -72, 814, 8328, -1000, - 538, -1000, 547, -1000, -1000, 2990, 2859, 323, -1000, -1000, - -1000, -1000, 199, -1000, -1000, -1000, 743, 8328, 8328, -1000, - -1000, -1000, 368, 547, -1000, 321, 319, 649, 695, 498, - -1000, 312, -1000, -1000, 2728, -1000, 741, -74, -1000, -1000, - 235, -1000, -1000, -1000, -1000, 538, 585, 804, -1000, 669, - -1000, 8328, 614, -59, -1000, 801, -1000, -1000, -1000, 669, - -1000, 228, -1000, 164, 538, -1000, -1000, 538, 317, -1000, - 728, -1000, -1000, -1000, 162, 2597, 377, -1000, -1000, 2466, - -1000, + -1000, -1000, 2399, -1000, -1000, -1000, -1000, 325, 505, 669, + 137, -1000, 335, -1000, -1000, 921, -1000, 263, 263, 5019, + 323, 263, 7736, 7605, 7474, 382, 175, 753, 7867, -1000, + 5850, 322, 321, 317, -1000, 432, 7867, 917, -4, 915, + 911, 7867, -1000, -1000, -1000, -1000, 678, -1000, 668, -1000, + 1133, 316, 7867, 453, 395, 395, 7867, 7867, 7867, 7867, + -1000, -1000, 8129, -1000, 7867, 7867, 7867, 7867, 7867, 7867, + 7867, 314, -1000, -1000, 191, 186, 922, 7867, 655, 426, + 312, 310, 7867, 7867, 306, 7867, 7867, -1000, 185, -1000, + -1000, 853, 847, -1000, 182, 289, 7081, -1000, 178, 172, + -1000, 272, 823, 566, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 140, 150, -1000, 565, 256, -1000, 430, + -1000, 248, 328, -1000, 823, -1000, 100, 600, 599, -1000, + 675, 823, -1000, 907, -1000, -16, 4102, 4888, 8129, 4757, + 724, -4, 520, 7867, 308, -1000, 5803, -1000, 699, -1000, + 5756, -1000, 381, 1311, 5938, -1000, 94, -1000, -1000, 264, + 85, -4, -19, 72, 5938, -1000, -1000, -1000, -1000, -1000, + 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, + 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, + 7867, 426, 329, 395, 7867, 900, -1000, 5709, 379, 868, + -1000, 663, 661, -1000, 1133, 5662, -1000, -1000, 7343, 7867, + 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, + 7867, 422, -1000, -1000, -1000, -1000, -1000, 272, 519, 823, + 557, 544, -1000, -1000, -106, -106, -18, -106, 247, 5618, + 243, -106, -106, -106, -106, -106, -106, -106, -1000, 7212, + -1000, 7867, 7867, 7867, 436, 707, 775, -1000, 245, 7998, + 395, 929, 57, 256, 542, -1000, 496, 518, 823, 651, + 140, 150, 535, 7867, 7867, 5938, 5938, 7867, 5938, 5938, + 7867, 497, 707, 686, -1000, 796, 7867, 7081, 157, 60, + 5574, 395, 7867, 7867, 866, -1000, 6378, 272, 71, 7867, + 7867, 140, 430, 79, -1000, 7867, 378, -1000, -1000, 2268, + 272, -1000, 613, 50, -1000, 674, 823, 37, -1000, 665, + 823, 864, 660, -30, 8289, -1000, -1000, -1000, -1000, -1000, + 285, -1000, -1000, -1000, -1000, -1000, 263, -1000, 377, 53, + 5938, -1000, 376, 373, -1000, -1000, -1000, -1000, -1000, 175, + -1000, 7867, -1000, -1000, 794, -1000, 8289, -1000, 7867, 7867, + 7867, 7867, 7867, 89, 6917, 6666, 7210, 17, 17, 17, + -18, -106, -18, -18, 295, 295, 1047, 1047, 1047, 1047, + 252, 252, 252, 252, -1000, 7867, -1000, 40, -1000, -1000, + 1089, 712, 39, -34, 3971, -1000, -1000, 281, 279, 659, + 601, 424, 601, 7867, 929, 286, 929, 929, 929, 929, + 929, 929, 929, 929, 929, 929, 929, 929, -8, -1000, + -1000, 277, 823, 272, 57, 57, -1000, -1000, -1000, -1000, + -106, 156, 5938, 152, -1000, -1000, -1000, -1000, 935, 852, + 5493, 170, 392, -1000, 161, -1000, -1000, 140, 150, -1000, + 7867, -1000, -1000, 147, 823, 496, 57, 140, 147, -23, + -1000, 1133, -1000, 1167, 242, 5445, 145, -1000, -1000, -1000, + 144, 240, -1000, -1000, 6931, 6800, -1000, -1000, 142, 141, + -1000, -1000, -24, 234, -1000, -1000, 1133, 395, 7867, -1000, + 256, 256, -1000, -1000, 138, 5401, 256, 256, -1000, 5353, + -1000, 2137, -1000, -1000, -1000, -1000, 600, 846, 554, -1000, + 599, 844, 551, -1000, 833, 8289, -1000, 5894, -1000, -1000, + 496, 517, 823, 273, 8289, -1000, -1000, -1000, -1000, 615, + 534, 8289, 8289, 8289, 8289, 8289, 227, 503, 4233, 3840, + 371, 7867, 7867, 450, -1000, 798, -1000, -1000, 5305, -37, + 268, -1000, 5938, 6247, 6495, 6024, 929, 5257, 7867, 370, + 395, 265, 265, 4626, 831, 8289, 694, 631, 631, 423, + 601, -1000, 496, 504, 823, -1000, -13, -1000, -1000, 1133, + -1000, 426, -42, 422, 422, 272, -1000, -1000, -1000, 136, + -1000, -1000, -1000, -1000, -1000, 7867, -1000, -1000, 166, 148, + 256, 7867, 7867, 140, 5211, -1000, 496, -1000, -1000, -1000, + 7867, -1000, -1000, -1000, -1000, -1000, -1000, 5163, 395, 5938, + 395, -1000, -1000, -1000, 6509, -1000, -1000, 5938, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 827, -1000, + -1000, 824, -1000, -1000, 8289, 8289, 8289, 8289, 8289, 8289, + 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, + 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, + 8214, 823, 496, 8289, 110, -5, 5119, 611, 750, -72, + -72, 45, 45, 5075, 369, -1000, 263, 5019, 471, 368, + -1000, 366, 5938, -1000, 7867, 300, 435, 365, 772, -1000, + 8289, 631, -1000, 6151, -1000, -1000, 635, -1000, 395, 267, + 635, -1000, -1000, -1000, -57, -1000, 689, 266, 225, -9, + -1000, -4, -1000, -1000, -1000, 216, -1000, -13, 823, 496, + 1096, 601, -1000, 7867, -1000, -38, -1000, 176, -1000, 5031, + 639, 7867, 7867, -1000, 105, 1562, -1000, 642, -1000, 6669, + -1000, -1000, -1000, -1000, -1000, 1966, 45, 45, -72, -72, + -72, -72, 6538, 6375, -20, 36, 36, 45, 6067, 1853, + 5981, 1660, 6169, 614, 614, 614, 614, -11, -11, -11, + -11, 8289, 1912, 496, 209, -1000, -1000, 8289, 8289, -1000, + -1000, -1000, -1000, 5019, -1000, 446, 263, 309, -1000, 7867, + 1643, -1000, -1000, -1000, -1000, -1000, 364, -1000, 205, 7867, + 203, 265, -1000, 422, 202, 3709, 8289, -1000, 421, 601, + 419, 631, 493, 683, 747, 496, -1000, -1000, 789, -43, + -1000, 699, 527, -1000, 817, 601, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 256, 929, -1000, -1000, 101, 639, + 7867, -1000, 57, 390, -1000, 99, 97, -1000, -1000, -1000, + 57, 5938, 395, -1000, 6110, 8289, -1000, 1789, 5894, -1000, + 359, 253, -1000, 198, -1000, 4233, -1000, 683, 6151, 4495, + -1000, -47, 4495, 357, -1000, -1000, 787, -1000, -1000, 786, + -1000, 418, 251, -1000, -45, -61, -1000, 814, -4, -1000, + -62, -53, -1000, -1000, 7867, 639, -1000, 78, -1000, -1000, + -1000, -1000, -1000, -1000, 6110, 8289, -1000, -1000, 4233, 4364, + 4233, 411, -1000, -1000, -1000, -1000, -1000, -1000, 3578, 195, + 3447, -65, -1000, 220, -1000, 781, 8289, -66, 805, 8289, + -1000, 601, -1000, 632, -28, 639, -1000, -1000, 5894, 4233, + -1000, -1000, -1000, -1000, 3316, -1000, 398, -1000, 8289, 3185, + -51, -1000, 752, -71, -1000, 8289, 246, -1000, -1000, 386, + 632, -1000, 355, 348, 676, 709, 529, -1000, -1000, -1000, + 3054, 2923, 342, -1000, -1000, -1000, -1000, 184, -1000, 8289, + -1000, 631, -1000, -1000, -1000, -1000, 601, 527, 799, 332, + -1000, -1000, 2792, -1000, 746, -1000, 194, -50, -1000, 797, + -1000, -1000, -1000, 693, -1000, 331, 601, -1000, -1000, 693, + -1000, 143, -1000, -1000, -1000, -1000, -1000, 601, 2661, 741, + -1000, 139, 394, -1000, 2530, -1000, } var yyPgo = [...]int{ - 0, 98, 1172, 41, 38, 37, 456, 1170, 1169, 93, - 217, 1253, 6, 1209, 69, 59, 5, 735, 120, 1167, - 32, 1166, 1165, 1164, 27, 1163, 40, 23, 1161, 1159, - 1158, 1157, 46, 1156, 1155, 26, 1151, 31, 36, 172, - 1150, 713, 34, 1147, 199, 1146, 1145, 35, 1144, 58, - 49, 42, 1143, 1141, 1140, 1139, 1137, 33, 20, 1136, - 1133, 2, 44, 0, 1131, 1130, 1128, 114, 1097, 1096, - 586, 1095, 1094, 43, 19, 1092, 28, 1091, 1090, 1089, - 25, 39, 1088, 1087, 1085, 1084, 1081, 1062, 950, 18, - 22, 14, 1061, 1060, 1057, 13, 218, 1054, 1053, 1052, - 1051, 7, 1050, 1049, 1, 1045, 1043, 1042, 1041, 16, - 1040, 1036, 1034, 29, 21, 1033, 15, 1023, 1020, 48, - 1018, 1010, 1007, 1005, 1000, 999, 998, 996, 994, 993, - 992, 986, 985, 11, 976, 975, 974, 973, 969, 968, - 8, 967, 12, 4, 965, 964, 962, 960, 958, 953, - 952, 951, 949, 948, 947, 946, 945, 944, 943, 940, - 936, 935, 1056, 24, 934, 933, 17, 3, 931, 928, - 927, 926, 822, + 0, 186, 1138, 1135, 47, 39, 37, 594, 1133, 1132, + 16, 234, 1349, 6, 1302, 62, 64, 57, 755, 1123, + 1131, 35, 1125, 1124, 1122, 29, 1121, 38, 23, 1120, + 1116, 1114, 1113, 48, 1112, 1111, 27, 1109, 31, 46, + 180, 1108, 723, 36, 1106, 8, 1104, 1103, 41, 1102, + 58, 51, 42, 1101, 1099, 1098, 1077, 1076, 34, 24, + 1075, 1073, 1, 1072, 1071, 1070, 17, 1069, 1068, 1067, + 1066, 1064, 44, 0, 1063, 1061, 1060, 40, 1055, 1054, + 592, 1053, 1052, 50, 18, 1050, 28, 1049, 1047, 1045, + 25, 43, 1044, 1043, 1042, 1040, 1039, 1038, 3, 1037, + 19, 1035, 1034, 1032, 1031, 1030, 33, 93, 14, 22, + 7, 1029, 1027, 1026, 13, 30, 1020, 1015, 15, 1014, + 1012, 20, 1011, 52, 1010, 1009, 1008, 1007, 4, 1006, + 1004, 1003, 1001, 996, 991, 2, 988, 12, 11, 987, + 986, 985, 984, 983, 981, 980, 978, 977, 976, 974, + 972, 970, 968, 967, 964, 962, 961, 969, 26, 956, + 955, 21, 5, 941, 938, 936, 933, 932, } var yyR1 = [...]int{ - 0, 98, 62, 62, 63, 63, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 64, 64, 3, - 3, 3, 3, 65, 65, 4, 4, 4, 4, 66, - 66, 5, 5, 5, 5, 52, 52, 67, 67, 23, - 23, 23, 23, 24, 24, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 85, 85, 60, 60, 86, 86, 87, - 87, 61, 83, 83, 57, 50, 51, 101, 101, 102, - 102, 103, 99, 107, 100, 111, 100, 105, 105, 105, - 105, 106, 106, 110, 112, 112, 108, 108, 113, 113, - 90, 90, 89, 89, 89, 56, 56, 58, 58, 59, - 59, 84, 84, 97, 97, 97, 97, 81, 81, 81, - 114, 114, 55, 55, 77, 77, 78, 78, 53, 53, - 54, 54, 104, 104, 115, 115, 116, 116, 117, 117, - 117, 117, 96, 96, 96, 118, 118, 119, 119, 119, - 119, 68, 68, 26, 26, 26, 69, 69, 69, 69, - 109, 109, 122, 120, 120, 120, 127, 120, 125, 129, - 129, 130, 130, 131, 131, 132, 132, 133, 133, 134, - 137, 137, 138, 138, 136, 135, 135, 139, 139, 128, - 128, 121, 121, 126, 126, 141, 141, 140, 140, 140, - 140, 140, 140, 123, 123, 123, 123, 124, 124, 82, - 82, 80, 80, 79, 79, 142, 142, 144, 144, 146, - 145, 145, 145, 147, 148, 147, 41, 14, 14, 14, - 149, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 150, - 14, 151, 14, 152, 14, 153, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 154, 14, 155, 156, 14, - 157, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 158, 14, 14, 14, 14, 14, 14, 14, 160, - 14, 161, 14, 49, 49, 49, 49, 46, 46, 46, - 46, 45, 45, 1, 76, 76, 75, 75, 75, 75, - 22, 22, 22, 22, 22, 22, 22, 22, 10, 10, - 10, 10, 44, 44, 44, 42, 42, 40, 40, 93, - 93, 94, 48, 48, 48, 159, 159, 159, 95, 95, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 7, 27, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 34, 34, 34, - 34, 28, 28, 28, 28, 28, 28, 28, 163, 163, - 166, 166, 165, 165, 165, 165, 13, 13, 47, 47, - 15, 16, 17, 18, 18, 168, 168, 169, 143, 170, - 170, 172, 171, 167, 167, 167, 39, 39, 43, 43, - 11, 21, 21, 19, 19, 19, 20, 20, 20, 9, - 9, 9, 8, 8, 12, 12, 91, 91, 92, 92, - 92, 38, 38, 88, 88, 74, 74, 37, 37, 37, - 73, 73, 72, 72, 72, 72, 72, 72, 72, 72, - 70, 70, 70, 70, 32, 32, 32, 32, 32, 32, - 33, 33, 33, 36, 36, 36, 36, 36, 36, 36, - 36, 71, 71, 35, 35, 29, 29, 30, 31, + 0, 120, 72, 72, 73, 73, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 74, 74, 4, + 4, 4, 4, 75, 75, 5, 5, 5, 5, 76, + 76, 6, 6, 6, 6, 53, 53, 77, 77, 24, + 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 95, 95, 61, 61, 96, 96, 97, + 97, 62, 93, 93, 58, 51, 52, 118, 118, 119, + 119, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 105, 105, 101, 101, 106, 106, 109, 109, 108, + 108, 108, 57, 57, 59, 59, 60, 60, 94, 94, + 116, 116, 116, 116, 91, 91, 91, 121, 121, 56, + 56, 87, 87, 88, 88, 54, 54, 55, 55, 98, + 98, 99, 99, 66, 66, 65, 65, 65, 65, 115, + 115, 115, 122, 122, 123, 123, 123, 123, 78, 78, + 27, 27, 27, 79, 79, 79, 79, 100, 100, 69, + 69, 69, 69, 71, 124, 124, 125, 125, 126, 126, + 127, 127, 128, 128, 129, 132, 132, 133, 133, 131, + 130, 130, 134, 134, 117, 117, 102, 102, 103, 103, + 136, 136, 135, 135, 135, 135, 135, 135, 104, 104, + 104, 104, 70, 70, 92, 92, 90, 90, 89, 89, + 137, 137, 139, 139, 141, 140, 140, 140, 142, 143, + 142, 42, 15, 15, 15, 144, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 145, 15, 146, 15, 147, 15, + 148, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 149, 15, 150, 151, 15, 152, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 153, 15, 15, 15, + 15, 15, 15, 15, 155, 15, 156, 15, 50, 50, + 50, 50, 47, 47, 47, 47, 46, 46, 1, 86, + 86, 85, 85, 85, 85, 23, 23, 23, 23, 23, + 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, + 43, 43, 41, 41, 112, 112, 113, 49, 49, 49, + 154, 154, 154, 114, 114, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 8, 28, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 35, 35, 35, 35, 29, 29, 29, 29, + 29, 29, 29, 158, 158, 161, 161, 160, 160, 160, + 160, 14, 14, 48, 48, 16, 17, 18, 19, 19, + 163, 163, 164, 138, 165, 165, 167, 166, 162, 162, + 162, 40, 40, 44, 44, 12, 22, 22, 20, 20, + 20, 21, 21, 21, 10, 10, 10, 9, 9, 13, + 13, 110, 110, 111, 111, 111, 39, 39, 107, 107, + 84, 84, 38, 38, 38, 83, 83, 82, 82, 82, + 82, 82, 82, 82, 82, 80, 80, 80, 80, 33, + 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, + 37, 37, 37, 37, 37, 37, 81, 81, 36, 36, + 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1627,267 +1621,265 @@ var yyR2 = [...]int{ 3, 3, 3, 1, 2, 5, 8, 8, 5, 1, 6, 3, 3, 0, 9, 0, 4, 1, 0, 1, 2, 8, 1, 3, 1, 1, 1, 0, 1, 0, - 1, 0, 10, 0, 8, 0, 7, 1, 2, 1, - 2, 0, 2, 1, 0, 2, 0, 2, 1, 3, - 0, 2, 1, 2, 4, 1, 4, 1, 4, 1, - 4, 3, 5, 3, 4, 4, 5, 0, 5, 4, - 1, 1, 1, 4, 0, 4, 0, 5, 0, 2, - 0, 3, 1, 0, 1, 3, 4, 6, 0, 1, - 1, 1, 2, 3, 3, 1, 3, 1, 1, 2, - 2, 3, 1, 1, 2, 4, 3, 5, 1, 3, - 2, 0, 0, 4, 2, 1, 0, 9, 3, 1, - 3, 1, 3, 0, 1, 1, 2, 2, 2, 3, - 1, 3, 1, 1, 3, 4, 3, 0, 1, 1, - 3, 1, 1, 0, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, - 1, 0, 1, 3, 1, 2, 1, 4, 3, 0, - 3, 1, 1, 0, 0, 2, 3, 6, 3, 4, - 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 0, - 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, + 1, 9, 7, 6, 1, 2, 1, 2, 0, 2, + 1, 0, 2, 0, 2, 1, 3, 0, 2, 1, + 2, 4, 1, 4, 1, 4, 1, 4, 3, 5, + 3, 4, 4, 5, 0, 5, 4, 1, 1, 1, + 4, 0, 4, 0, 5, 0, 2, 0, 3, 1, + 0, 1, 3, 4, 6, 0, 1, 1, 1, 2, + 3, 3, 1, 3, 1, 1, 2, 2, 3, 1, + 1, 2, 4, 3, 5, 1, 3, 2, 0, 3, + 2, 1, 8, 3, 1, 3, 1, 3, 0, 1, + 1, 2, 2, 2, 3, 1, 3, 1, 1, 3, + 4, 3, 0, 1, 1, 3, 1, 1, 0, 1, + 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, + 1, 3, 5, 4, 3, 1, 0, 1, 3, 1, + 2, 1, 4, 3, 0, 3, 1, 1, 0, 0, + 2, 3, 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 1, 1, 0, 5, 0, 0, 7, - 0, 5, 1, 2, 2, 2, 2, 2, 2, 2, - 2, 0, 3, 1, 1, 1, 3, 2, 1, 0, - 10, 0, 11, 2, 2, 4, 4, 4, 4, 4, - 4, 4, 3, 1, 0, 4, 3, 4, 1, 2, - 2, 4, 3, 4, 4, 4, 4, 2, 1, 1, - 3, 2, 1, 3, 2, 1, 1, 4, 1, 2, - 0, 2, 0, 2, 1, 0, 1, 1, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 2, 3, 1, 1, 1, 1, 3, 2, 4, - 3, 1, 1, 1, 4, 3, 3, 3, 3, 3, - 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 2, 2, 2, 2, 0, 4, 0, 4, 0, 4, + 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, + 0, 5, 0, 0, 7, 0, 5, 1, 2, 2, + 2, 2, 2, 2, 2, 2, 0, 3, 1, 1, + 1, 3, 2, 1, 0, 10, 0, 11, 2, 2, + 4, 4, 4, 4, 4, 4, 4, 3, 1, 0, + 4, 3, 4, 1, 2, 2, 4, 3, 4, 4, + 4, 4, 2, 1, 1, 3, 2, 1, 3, 2, + 1, 1, 4, 1, 2, 0, 2, 0, 2, 1, + 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 2, 3, 1, 1, + 1, 1, 3, 2, 4, 3, 1, 1, 1, 4, + 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 4, 5, 2, 2, 3, 1, 1, 3, - 2, 1, 1, 1, 1, 3, 3, 1, 0, 2, - 0, 1, 5, 3, 3, 1, 1, 1, 3, 3, - 1, 1, 1, 5, 1, 2, 0, 0, 4, 4, - 4, 0, 2, 1, 1, 0, 1, 2, 3, 3, - 1, 4, 4, 1, 1, 1, 1, 2, 1, 4, - 4, 1, 1, 4, 0, 1, 1, 1, 4, 4, - 1, 1, 3, 1, 2, 3, 1, 1, 4, 0, - 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, - 2, 2, 1, 2, 1, 4, 3, 3, 6, 3, - 1, 1, 1, 4, 4, 4, 2, 2, 4, 2, - 2, 1, 3, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 4, 5, 2, + 2, 3, 1, 1, 3, 2, 1, 1, 1, 1, + 3, 3, 1, 0, 2, 0, 1, 5, 3, 3, + 1, 1, 1, 3, 3, 1, 1, 1, 5, 1, + 2, 0, 0, 4, 4, 4, 0, 2, 1, 1, + 0, 1, 2, 3, 3, 1, 4, 4, 1, 1, + 1, 1, 2, 1, 4, 4, 1, 1, 4, 0, + 1, 1, 1, 4, 4, 1, 1, 3, 1, 2, + 3, 1, 1, 4, 0, 0, 2, 5, 3, 3, + 1, 6, 4, 4, 2, 2, 2, 1, 2, 1, + 4, 3, 3, 6, 3, 1, 1, 1, 4, 4, + 4, 2, 2, 4, 2, 2, 1, 3, 1, 1, + 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -98, -62, -2, -24, -50, -51, 51, 79, 44, - -52, -25, 10, -99, -100, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, - -13, 48, 25, 27, 121, 40, 43, 36, -1, -105, - -110, 97, -15, -14, 37, 52, 99, 53, 100, 54, - -18, 59, 92, -17, 104, 105, 130, 129, 131, 132, - -47, -41, 123, -36, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -28, -46, -45, 118, 96, -19, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -34, -31, - -6, 117, 74, 62, 18, 60, 125, -20, -21, -22, - -29, -63, 82, -10, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -9, -88, -43, -11, -39, -8, 134, - 12, 123, -63, 119, 82, 10, -64, 37, 38, -3, - -63, 82, 121, 135, 122, 10, -67, -47, 123, -47, - -24, -1, 79, 123, -47, 121, -13, 97, 98, 121, - -13, 121, -14, -18, -13, 121, -68, -26, 12, 134, - -69, -1, 12, -82, -13, 121, 149, 150, 87, 89, + -1000, -120, -72, -3, -25, -51, -52, 51, 79, 44, + -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, + -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, + -2, 97, -16, -15, 37, 52, 99, 53, 100, 54, + -19, 59, 92, -18, 104, 105, 130, 129, 131, 132, + -48, -42, 123, -37, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, + -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, + -30, -73, 82, -11, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -10, -107, -44, -12, -40, -9, 134, + 12, 123, -73, 119, 82, 10, -74, 37, 38, -4, + -73, 82, 121, 135, 122, 10, -77, -48, 123, -48, + -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, + -14, 121, -15, -19, -14, 121, -78, -27, 12, 134, + -79, -1, 12, -92, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -13, 10, -101, - 128, 10, 10, -14, -18, -13, 52, 52, 136, 137, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -118, + 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -13, 104, 105, -17, -18, -63, 79, 82, - -10, -11, 98, -17, -13, -13, -13, -13, -41, -13, - -49, -13, -13, -13, -13, -13, -13, -13, -48, 123, - -47, -158, 125, 125, -159, 17, -70, -32, 12, 76, - 77, -13, 57, -42, -10, -40, -63, 79, 82, -20, - -9, -88, -11, 123, 123, -13, -13, 123, -13, -13, - 125, -70, 17, 17, 75, -70, 125, 123, -73, -72, - -13, 128, 125, 125, 82, -96, 123, -63, 78, 125, - 119, -9, 134, 78, -96, 119, 124, 121, 119, -62, - -63, 121, 135, -65, -4, -63, 82, -66, -5, -63, - 82, 29, -63, 10, 136, -23, 120, -24, -50, -51, - 51, -24, 122, -55, -24, 122, 21, -101, -80, -79, - -13, -97, 119, 122, 121, 121, 121, 121, 121, 135, - -15, 119, -18, 121, 135, -101, 136, 121, 135, -150, - -151, -152, -153, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -42, -155, 122, -83, -57, -18, - -18, -14, -84, 10, -67, 121, 121, 10, -160, -106, - 55, -111, 58, -13, 128, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -74, -37, -18, - 59, 82, -63, 78, 78, 124, 124, 124, 124, -13, - -12, -13, -12, 118, -32, -32, 17, 125, 57, -13, - 11, -18, -91, -92, -39, -38, -9, -88, 10, 119, - -95, -96, 78, 82, -63, 57, -9, 78, -71, -35, - -18, -14, -18, -14, -13, -12, 117, 75, 75, -12, - -73, 126, -166, 135, 58, -16, -18, -12, -12, 10, - 124, -118, -49, -119, -14, -18, 128, 83, -96, -38, - -39, 10, 52, -12, -13, -38, -39, 10, -13, 121, - -62, 120, -96, -3, 121, 135, 29, -63, 121, 135, - 29, -63, 10, 29, 136, -27, -162, -6, -30, -63, - 79, 82, 60, 125, -7, 62, -164, 18, 74, -10, - 131, 132, 130, 129, 123, 123, -77, -67, -67, -47, - 121, 135, -81, 121, -81, 121, -26, -13, 12, -161, - -27, -13, -13, -13, -13, -13, -13, -157, 124, 135, - 29, 29, 124, 135, 136, 120, -103, 123, -107, -44, - -63, 79, 82, -112, 55, -14, -18, -18, 91, 124, - 135, 123, -63, -154, 126, 126, -33, 10, 13, 12, - 10, 120, 125, 120, -167, -171, -170, -172, 125, 119, - -9, -13, -39, -63, -91, -39, 124, 135, 124, 124, - 124, 126, 126, 124, -13, 128, -13, 128, 126, 126, - 124, 135, 124, -16, -13, -96, -96, 126, 120, -96, - -96, 120, 120, -4, 10, 29, -5, 10, 29, 10, - -27, 125, 130, 129, 164, 167, 165, 166, 151, 128, - 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, - 156, 153, 154, 157, 159, 158, 160, 127, 82, -63, - 123, -163, -165, -162, 17, 78, -162, -162, -162, -162, - -162, 124, -53, 93, 94, -78, 22, 121, -80, -13, - 120, 32, 33, -81, 31, -81, 120, 136, 123, 122, - -13, 121, -57, -89, -18, 128, 59, -89, -59, -24, - 122, 10, -27, -85, 41, 123, -104, -115, -116, -117, - 60, 61, -44, -108, 56, 82, -63, 119, -113, -44, - -42, 136, -37, -74, -147, -148, 126, -13, -168, 125, - 125, -96, -12, -13, 120, -93, -35, 58, -16, -16, - -119, 10, 10, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, -162, -162, -162, -162, -162, -162, 122, - -162, -63, -163, 126, -166, 135, 58, 10, 52, 124, - 121, -47, -24, -54, 93, 94, 121, 121, -13, -114, - 122, 121, 120, 121, 31, -27, -104, -156, -90, 58, - -18, 123, -90, -67, 136, -60, 42, 123, -104, 124, - 135, -101, 119, -113, -63, -109, 135, -149, -13, 124, - -145, -144, -142, 125, -143, 57, 126, -143, -12, -12, - 126, 120, -94, 57, -13, 128, 126, -162, 122, 124, - -162, -162, -24, 95, -47, 122, -80, -114, -67, 121, - 124, -13, 124, -89, -74, 124, 28, -27, 119, -44, - 124, -76, 44, -116, -102, 83, -109, 120, -120, -121, - -124, -125, -126, -141, 47, 38, 44, -140, 103, 102, - 101, 98, 99, 100, -44, -95, 125, -146, -143, -12, - -91, 120, 126, 126, -91, -16, -162, 58, 121, 122, - -67, 124, -67, -76, -58, -24, 122, 124, -58, 121, - -67, 12, 119, 119, 123, 12, 120, -122, 121, 135, - -1, -140, 10, -129, -44, -12, -142, 126, -169, -162, - -67, -56, -24, 122, 119, -67, 120, 124, -67, -67, - -75, 12, 128, 136, -123, 12, 10, -101, 136, -130, - 135, 121, 119, 126, -167, -67, -67, 26, 119, 120, - 120, 124, 135, 12, -27, 121, 135, 136, 136, 10, - -27, -44, -131, -132, -133, -134, -135, -136, -138, -44, - 10, 24, 120, 121, -67, 12, 128, 12, -27, -27, - -127, 120, -133, 121, 121, 45, 29, 78, 121, 120, - 12, 136, 123, -137, -44, -139, -140, 10, -86, -87, - -61, 41, -27, -104, 135, 10, -61, 123, 124, -44, - -44, -128, 121, 119, 12, -67, 124, 120, 119, -67, - 120, + 147, 123, -14, 104, 105, -18, -19, -73, 79, 82, + -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, + -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, + -48, -153, 125, 125, -154, 17, -80, -33, 12, 76, + 77, -14, 57, -43, -11, -41, -73, 79, 82, -21, + -10, -107, -12, 123, 123, -14, -14, 123, -14, -14, + 125, -80, 17, 17, 75, -80, 125, 123, -83, -82, + -14, 128, 125, 125, 82, -115, 123, -73, 78, 125, + 119, -10, 134, 78, -115, 119, 124, 121, 119, -72, + -73, 121, 135, -75, -5, -73, 82, -76, -6, -73, + 82, 29, -73, 10, 136, -24, 120, -25, -51, -52, + 51, -25, 122, -56, -25, 122, 21, -118, -90, -89, + -14, -116, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -118, 136, 121, 135, -145, + -146, -147, -148, -14, -14, -14, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, + -14, -14, -14, -14, -43, -150, 122, -93, -58, -19, + -19, -15, -94, 10, -77, 121, 121, 10, -155, -68, + 55, -105, 55, 58, -14, 128, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -84, -38, + -19, 59, 82, -73, 78, 78, 124, 124, 124, 124, + -14, -13, -14, -13, 118, -33, -33, 17, 125, 57, + -14, 11, -19, -110, -111, -40, -39, -10, -107, 10, + 119, -114, -115, 78, 82, -73, 57, -10, 78, -81, + -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, + -13, -83, 126, -161, 135, 58, -17, -19, -13, -13, + 10, 124, -122, -50, -123, -15, -19, 128, 83, -115, + -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, + 121, -72, 120, -115, -4, 121, 135, 29, -73, 121, + 135, 29, -73, 10, 29, 136, -28, -157, -7, -31, + -73, 79, 82, 60, 125, -8, 62, -159, 18, 74, + -11, 131, 132, 130, 129, 123, 123, -87, -77, -77, + -48, 121, 135, -91, 121, -91, 121, -27, -14, 12, + -156, -28, -14, -14, -14, -14, -14, -14, -152, 124, + 135, 29, 29, 124, 135, 136, 120, 123, 123, -101, + 56, -45, -73, 79, 82, 119, -106, -45, -15, -19, + -19, 91, 124, 135, 123, -73, -149, 126, 126, -34, + 10, 13, 12, 10, 120, 125, 120, -162, -166, -165, + -167, 125, 119, -10, -14, -40, -73, -110, -40, 124, + 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, + 128, 126, 126, 124, 135, 124, -17, -14, -115, -115, + 126, 120, -115, -115, 120, 120, -5, 10, 29, -6, + 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, + 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, + 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, + 127, 82, -73, 123, -158, -160, -157, 17, 78, -157, + -157, -157, -157, -157, 124, -54, 93, 94, -88, 22, + 121, -90, -14, 120, 32, 33, -91, 31, -91, 120, + 136, 123, 122, -14, 121, -58, -108, -19, 128, 59, + -108, -60, -25, 122, 10, -28, -95, 41, -98, -99, + -66, -65, 60, 61, -45, -98, 119, -106, 82, -73, + -100, 135, -43, 136, -38, -84, -142, -143, 126, -14, + -163, 125, 125, -115, -13, -14, 120, -112, -36, 58, + -17, -17, -123, 10, 10, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, + -157, 122, -157, -73, -158, 126, -161, 135, 58, 10, + 52, 124, 121, -48, -25, -55, 93, 94, 121, 121, + -14, -121, 122, 121, 120, 121, 31, -28, -98, -151, + -109, 58, -19, 123, -109, -77, 136, -61, 42, 123, + 124, 135, -118, 124, -100, -73, 120, -69, -102, -70, + -71, -103, -136, 47, 38, 44, -135, 103, 102, 101, + 98, 99, 100, -45, -144, -14, 124, -140, -139, -137, + 125, -138, 57, 126, -138, -13, -13, 126, 120, -113, + 57, -14, 128, 126, -157, 122, 124, -157, -157, -25, + 95, -48, 122, -90, -121, -77, 121, 124, -14, 124, + -108, -84, 124, 28, -28, 119, -45, 119, -66, -119, + 83, -86, 44, 120, -104, 12, 121, 135, -1, -135, + 10, -124, -45, -114, 125, -141, -138, -13, -110, 120, + 126, 126, -110, -17, -157, 58, 121, 122, -77, 124, + -77, -86, -59, -25, 122, 124, -59, 121, -77, 12, + -77, 12, 119, 123, 121, 135, 136, 10, -118, 136, + -125, 135, 121, 119, -13, -137, 126, -164, -157, -77, + -57, -25, 122, 119, -77, 120, 124, 120, 136, -77, + -85, 12, 128, 12, -28, 136, 10, -28, -45, -126, + -127, -128, -129, -130, -131, -133, -45, 10, 126, -162, + -77, -77, 26, 119, -28, 120, 124, 135, 12, 136, + -28, 123, 120, -128, 121, 121, 45, 29, 78, 24, + 120, 121, -77, 12, 128, -28, -98, -132, -45, -134, + -135, 10, 121, 120, 12, 124, 135, 10, -96, -97, + -62, 41, -117, 121, 119, -45, -62, 123, -77, -45, + 120, 12, 124, 119, -77, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 85, 86, 0, 38, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 348, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 343, 0, 63, 0, 0, 0, 0, 69, 0, 0, 0, 87, 0, - 0, 318, 446, 447, 333, 97, 0, 99, 0, 103, + 0, 313, 441, 442, 328, 94, 0, 96, 0, 100, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 293, 294, 0, 302, 0, 0, 0, 0, 0, 0, - 0, 362, 311, 313, 314, 315, 365, 0, 454, 0, - 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, - 434, 0, 0, 437, 372, 0, 500, 473, 474, 475, - 427, -2, 0, 0, 370, 371, 373, 374, 375, 376, - 377, 378, 379, -2, 0, 478, 0, 0, 481, 493, - 482, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 288, 289, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 357, 306, 308, 309, 310, 360, 0, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 426, 427, 428, + 429, 0, 0, 432, 367, 0, 495, 468, 469, 470, + 422, -2, 0, 0, 365, 366, 368, 369, 370, 371, + 372, 373, 374, -2, 0, 473, 0, 0, 476, 488, + 477, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 0, 0, 0, - 0, 87, 0, 221, 0, 52, 0, 318, 348, 54, - 0, 56, 447, -2, 0, 59, 0, 162, 163, 0, - 0, 87, 168, 0, 220, 64, 259, 261, 263, 265, + 0, 87, 0, 216, 0, 52, 0, 313, 343, 54, + 0, 56, 442, -2, 0, 59, 0, 159, 160, 0, + 0, 87, 165, 0, 215, 64, 254, 256, 258, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 0, 0, 0, 38, 0, 0, 319, - 88, 101, 95, -2, -2, 0, 98, 100, 0, 0, + 0, 0, 292, 0, 0, 0, 38, 0, 0, 314, + 88, 98, 101, -2, -2, 0, 95, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 499, 242, 255, 257, 256, 452, 349, 0, 0, - 0, 0, 348, 258, 280, 281, 282, 283, 294, 0, - 0, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 364, 0, 484, 484, 0, 366, 367, 512, 514, 0, - 0, 317, 0, 368, 355, 356, 349, 0, 0, 358, - -2, 0, 0, 0, 0, 526, 527, 0, 529, 530, - 484, 0, 0, 0, 381, 0, 484, 500, 0, 440, - 505, 0, 484, 484, 0, 340, 0, -2, 0, 484, - 0, -2, 494, 0, 347, 0, 0, 10, 3, 0, + 0, 494, 237, 250, 252, 251, 447, 344, 0, 0, + 0, 0, 343, 253, 275, 276, 277, 278, 289, 0, + 0, 298, 299, 300, 301, 302, 303, 304, 305, 0, + 359, 0, 479, 479, 0, 361, 362, 507, 509, 0, + 0, 312, 0, 363, 350, 351, 344, 0, 0, 353, + -2, 0, 0, 0, 0, 521, 522, 0, 524, 525, + 479, 0, 0, 0, 376, 0, 479, 495, 0, 435, + 500, 0, 479, 479, 0, 335, 0, -2, 0, 479, + 0, -2, 489, 0, 342, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 134, 38, 48, 132, 38, 0, 319, 0, 222, - 224, 51, 127, 127, 53, 55, 57, 58, 60, 0, - 164, 0, 450, 61, 0, 321, 0, 62, 0, 0, - 0, 0, 0, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, -2, -2, -2, -2, - -2, -2, -2, -2, 292, 0, 300, 0, 82, 84, - -2, 447, 0, 0, 0, 71, 72, 91, 0, 93, - 0, 104, 0, 238, 0, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 0, 496, 497, - 0, 0, 351, 0, 0, 295, 448, 449, 363, 312, - 0, 485, 0, 316, 513, 510, 511, 0, 0, 0, - 431, 0, -2, 486, 487, 490, 466, 0, 491, 0, - 236, 369, 0, 0, 351, 0, 477, 0, 0, 531, - -2, -2, -2, 447, 0, 0, 435, 380, 436, 0, - 0, 332, 501, 441, 0, 509, 451, 0, 0, 5, - 152, 0, 0, 155, -2, -2, 0, 0, 342, 0, - 468, -2, 538, 0, 0, 0, 469, -2, 0, 9, - 0, 12, 341, 17, 14, 0, 0, 27, 15, 0, - 0, 33, 20, 0, 0, 36, 383, 384, 385, -2, - 0, 0, 0, 438, 391, 392, 393, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 138, 136, 0, 0, - 221, 0, 0, 127, 0, 127, 161, 0, 166, 0, - 169, 219, 260, 262, 264, 266, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 73, 0, -2, 106, 102, - 352, 0, 0, 0, 0, -2, -2, 239, 0, 0, - 499, 499, 350, -2, 328, 327, 0, 520, 521, 522, - 516, 517, 0, 519, 456, 463, 464, 0, 484, 0, - 467, 0, 468, 350, 360, 469, 523, 0, 524, 525, - 528, 330, 329, 331, 503, 0, 504, 0, 471, 472, - 153, 0, 154, 159, 160, 343, 344, 479, 480, 345, - 346, 483, 11, 23, 26, 0, 29, 32, 0, 22, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 38, 48, 129, 38, 0, 314, 0, 217, + 219, 51, 124, 124, 53, 55, 57, 58, 60, 0, + 161, 0, 445, 61, 0, 316, 0, 62, 0, 0, + 0, 0, 0, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, -2, -2, -2, -2, + -2, -2, -2, -2, 287, 0, 295, 0, 82, 84, + -2, 442, 0, 0, 0, 71, 72, 0, 0, 103, + 0, 0, 0, 0, 233, 0, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 0, 491, + 492, 0, 0, 346, 0, 0, 290, 443, 444, 358, + 307, 0, 480, 0, 311, 508, 505, 506, 0, 0, + 0, 426, 0, -2, 481, 482, 485, 461, 0, 486, + 0, 231, 364, 0, 0, 346, 0, 472, 0, 0, + 526, -2, -2, -2, 442, 0, 0, 430, 375, 431, + 0, 0, 327, 496, 436, 0, 504, 446, 0, 0, + 5, 149, 0, 0, 152, -2, -2, 0, 0, 337, + 0, 463, -2, 533, 0, 0, 0, 464, -2, 0, + 9, 0, 12, 336, 17, 14, 0, 0, 27, 15, + 0, 0, 33, 20, 0, 0, 36, 378, 379, 380, + -2, 0, 0, 0, 433, 386, 387, 388, 367, 0, + 0, 0, 0, 0, 0, 0, 0, 135, 133, 0, + 0, 216, 0, 0, 124, 0, 124, 158, 0, 163, + 0, 166, 214, 255, 257, 259, 261, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 73, -2, -2, 0, + 0, 99, 347, 0, 0, 168, 102, 105, -2, -2, + 234, 0, 0, 494, 494, 345, -2, 323, 322, 0, + 515, 516, 517, 511, 512, 0, 514, 451, 458, 459, + 0, 479, 0, 462, 0, 463, 345, 355, 464, 518, + 0, 519, 520, 523, 325, 324, 326, 498, 0, 499, + 0, 466, 467, 150, 0, 151, 156, 157, 338, 339, + 474, 475, 340, 341, 478, 11, 23, 26, 0, 29, + 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, - 438, 0, 440, 445, 0, 0, 401, 402, 424, 425, - 0, 0, 46, 0, 0, 140, 0, 49, 0, 223, - 123, 0, 0, 0, 0, 0, 165, 0, -2, 298, - 301, 65, 83, 110, 112, 0, 0, 110, 68, 119, - 38, 0, 121, 75, 0, -2, 0, 142, 144, 87, - 149, 150, 151, 0, 0, 0, 354, 171, 105, 108, - 240, 0, 495, 0, 296, 0, 515, 0, 453, 484, - 484, 462, 0, 0, 492, 357, 532, 0, 507, 508, - 156, 28, 34, 0, 395, 396, 397, 398, 399, 400, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, -2, -2, -2, -2, -2, -2, -2, -2, 0, - 0, -2, 0, 390, 439, 441, 0, 382, 537, 426, - 42, 0, 139, 0, 0, 0, 133, 221, 0, 38, - 130, 131, 124, 125, 0, 167, 0, 0, 0, 0, - 113, 499, 0, 0, 0, 70, 0, 0, 0, 334, - 148, 89, 171, 107, 353, 203, 0, 368, 237, 498, - 235, -2, 232, 484, 226, 0, 0, 455, 0, 0, - 488, 489, 359, 0, 502, 0, 394, 422, 0, 389, - 443, 444, 135, 0, 0, 38, 0, 38, 129, 126, - 334, 299, 0, 111, 0, 0, 0, 122, 38, 0, - 0, 0, 0, 145, 0, 90, 203, 96, 170, 172, - 0, 175, 0, -2, 202, 0, 0, 205, 207, 208, - 209, 210, 211, 212, 109, 241, 484, 0, 225, 0, - 457, 518, 460, 459, 361, 506, 423, 0, 47, 38, - 141, 0, 128, 0, 66, 117, 38, 114, 67, 120, - 0, 0, 38, 38, 0, 146, 94, 0, 174, 0, - 87, 206, 0, 0, 179, 0, 230, 228, -2, 442, - 137, 50, 115, 38, 38, 0, 76, 0, 0, 0, - 0, 338, 0, 0, 0, 215, 0, 0, 0, 178, - 0, 181, 183, 227, 458, 0, 0, 0, 38, 92, - 320, 335, 0, 339, 147, 173, 0, 0, 0, 176, - 218, 180, 0, 184, 185, 0, 0, 193, 0, 0, - -2, 0, 322, 118, 0, 336, 0, 213, 216, 217, - 0, 182, 186, 187, 188, 0, 197, 0, 116, 78, - 337, 0, -2, 189, 190, 0, -2, 194, 74, 77, - 79, 0, 214, 0, 0, 195, 80, 0, 0, 191, - 0, 177, 199, 38, 0, 0, 0, 200, 38, 0, - 81, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2, 433, 0, 435, 440, 0, 0, 396, + 397, 419, 420, 0, 0, 46, 0, 0, 137, 0, + 49, 0, 218, 120, 0, 0, 0, 0, 0, 162, + 0, -2, 293, 296, 65, 83, 107, 109, 0, 0, + 107, 68, 116, 38, 0, 118, 75, 0, 0, 139, + 141, 87, 146, 147, 148, 0, 168, 104, 0, 349, + 198, 0, 235, 0, 490, 0, 291, 0, 510, 0, + 448, 479, 479, 457, 0, 0, 487, 352, 527, 0, + 502, 503, 153, 28, 34, 0, 390, 391, 392, 393, + 394, 395, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, -2, -2, -2, -2, -2, -2, -2, + -2, 0, 0, -2, 0, 385, 434, 436, 0, 377, + 532, 421, 42, 0, 136, 0, 0, 0, 130, 216, + 0, 38, 127, 128, 121, 122, 0, 164, 0, 0, + 0, 0, 110, 494, 0, 0, 0, 70, 0, 0, + 0, 145, 89, 329, 198, 348, 93, 167, 0, 0, + 171, 0, -2, 197, 0, 0, 200, 202, 203, 204, + 205, 206, 207, 106, 363, 232, 493, 230, -2, 227, + 479, 221, 0, 0, 450, 0, 0, 483, 484, 354, + 0, 497, 0, 389, 417, 0, 384, 438, 439, 132, + 0, 0, 38, 0, 38, 126, 123, 329, 294, 0, + 108, 0, 0, 0, 119, 38, 0, 38, 142, 0, + 90, 0, 0, 92, 0, 210, 170, 0, 87, 201, + 0, 0, 174, 236, 479, 0, 220, 0, 452, 513, + 455, 454, 356, 501, 418, 0, 47, 38, 138, 0, + 125, 0, 66, 114, 38, 111, 67, 117, 0, 0, + 0, 143, 38, 0, 169, 0, 0, 0, 0, 0, + 173, 0, 176, 178, 0, 225, 223, -2, 437, 134, + 50, 112, 38, 38, 0, 76, 0, 91, 0, 0, + 0, 333, 0, 208, 211, 0, 0, 213, 175, 0, + 179, 180, 0, 0, 188, 0, 0, -2, 222, 453, + 0, 0, 0, 38, 144, 315, 330, 0, 334, 0, + 212, -2, 177, 181, 182, 183, 0, 192, 0, 0, + 317, 115, 0, 331, 0, 209, 0, 184, 185, 0, + -2, 189, 113, 78, 332, 0, 0, 190, 74, 77, + 79, 0, 172, 194, 38, 186, 80, 0, 0, 0, + 195, 0, 0, 38, 0, 81, } var yyTok1 = [...]int{ @@ -2265,25 +2257,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:227 + //line php5/php5.y:232 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:233 + //line php5/php5.y:238 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:234 + //line php5/php5.y:239 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:239 + //line php5/php5.y:244 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2292,7 +2284,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:246 + //line php5/php5.y:251 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2301,25 +2293,25 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:256 + //line php5/php5.y:261 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:258 + //line php5/php5.y:263 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:260 + //line php5/php5.y:265 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:262 + //line php5/php5.y:267 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2327,7 +2319,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:268 + //line php5/php5.y:273 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2339,7 +2331,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:278 + //line php5/php5.y:283 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2351,7 +2343,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:288 + //line php5/php5.y:293 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2359,7 +2351,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:294 + //line php5/php5.y:299 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2367,7 +2359,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:300 + //line php5/php5.y:305 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2379,7 +2371,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:310 + //line php5/php5.y:315 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2391,25 +2383,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:320 + //line php5/php5.y:325 { yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:325 + //line php5/php5.y:330 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:327 + //line php5/php5.y:332 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:332 + //line php5/php5.y:337 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2421,7 +2413,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:342 + //line php5/php5.y:347 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2436,7 +2428,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:355 + //line php5/php5.y:360 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2448,7 +2440,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:365 + //line php5/php5.y:370 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2463,19 +2455,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:381 + //line php5/php5.y:386 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:383 + //line php5/php5.y:388 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:388 + //line php5/php5.y:393 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2487,7 +2479,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:398 + //line php5/php5.y:403 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2502,7 +2494,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:411 + //line php5/php5.y:416 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2514,7 +2506,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:421 + //line php5/php5.y:426 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2529,19 +2521,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:437 + //line php5/php5.y:442 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:439 + //line php5/php5.y:444 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:444 + //line php5/php5.y:449 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2553,7 +2545,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:454 + //line php5/php5.y:459 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2568,7 +2560,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:467 + //line php5/php5.y:472 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2580,7 +2572,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:477 + //line php5/php5.y:482 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2595,7 +2587,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:498 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2613,7 +2605,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:514 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2631,37 +2623,37 @@ yydefault: } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:528 + //line php5/php5.y:533 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:530 + //line php5/php5.y:535 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:541 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:543 { yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:540 + //line php5/php5.y:545 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:542 + //line php5/php5.y:547 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2669,13 +2661,13 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:552 + //line php5/php5.y:557 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:554 + //line php5/php5.y:559 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2687,7 +2679,7 @@ yydefault: } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:567 + //line php5/php5.y:572 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2695,7 +2687,7 @@ yydefault: } case 46: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:573 + //line php5/php5.y:578 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2711,7 +2703,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:587 + //line php5/php5.y:592 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2722,7 +2714,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:596 + //line php5/php5.y:601 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[2].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -2730,7 +2722,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:602 + //line php5/php5.y:607 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2738,7 +2730,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:608 + //line php5/php5.y:613 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2746,7 +2738,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:614 + //line php5/php5.y:619 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -2754,7 +2746,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:620 + //line php5/php5.y:625 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2762,7 +2754,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:626 + //line php5/php5.y:631 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2770,7 +2762,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:632 + //line php5/php5.y:637 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2778,7 +2770,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:638 + //line php5/php5.y:643 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2786,7 +2778,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:644 + //line php5/php5.y:649 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2794,7 +2786,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:655 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2802,7 +2794,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:656 + //line php5/php5.y:661 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2810,13 +2802,13 @@ yydefault: } case 59: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:662 + //line php5/php5.y:667 { yyVAL.node = yyDollar[1].node } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:664 + //line php5/php5.y:669 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2824,7 +2816,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:670 + //line php5/php5.y:675 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2832,7 +2824,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:676 + //line php5/php5.y:681 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2840,7 +2832,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:682 + //line php5/php5.y:687 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2848,13 +2840,13 @@ yydefault: } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:688 + //line php5/php5.y:693 { yyVAL.node = yyDollar[1].node } case 65: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:690 + //line php5/php5.y:695 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2862,7 +2854,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:696 + //line php5/php5.y:701 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2874,7 +2866,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:706 + //line php5/php5.y:711 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2886,7 +2878,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:716 + //line php5/php5.y:721 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2894,7 +2886,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:722 + //line php5/php5.y:727 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2902,7 +2894,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:728 + //line php5/php5.y:733 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -2916,7 +2908,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:740 + //line php5/php5.y:745 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2924,7 +2916,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:746 + //line php5/php5.y:751 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2936,13 +2928,13 @@ yydefault: } case 73: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:759 + //line php5/php5.y:764 { yyVAL.list = []node.Node{} } case 74: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:761 + //line php5/php5.y:766 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2960,13 +2952,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:779 + //line php5/php5.y:784 { yyVAL.node = nil } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:781 + //line php5/php5.y:786 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2974,31 +2966,31 @@ yydefault: } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:790 + //line php5/php5.y:795 { yyVAL.list = yyDollar[1].list } case 78: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:792 + //line php5/php5.y:797 { yyVAL.list = []node.Node{} } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:797 + //line php5/php5.y:802 { yyVAL.list = []node.Node{yyDollar[1].node} } case 80: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:799 + //line php5/php5.y:804 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 81: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:804 + //line php5/php5.y:809 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3014,205 +3006,277 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:821 + //line php5/php5.y:826 { yyVAL.list = []node.Node{yyDollar[1].node} } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:823 + //line php5/php5.y:828 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:828 + //line php5/php5.y:833 { yyVAL.node = yyDollar[1].node } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:832 + //line php5/php5.y:838 { + yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:836 + //line php5/php5.y:843 { + yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:840 + //line php5/php5.y:848 { + yyVAL.boolWithToken = boolWithToken{false, nil} } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:841 + //line php5/php5.y:850 { + yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:845 + //line php5/php5.y:855 { + yyVAL.boolWithToken = boolWithToken{false, nil} } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:846 - { - } - case 91: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:850 - { - } - case 92: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:852 - { - } - case 93: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:857 { + yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} + } + case 91: + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:862 + { + name := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(name, yyDollar[3].token.Comments()) + + yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[5].list, nil, yyDollar[8].list, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 92: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:875 + { + switch n := yyDollar[1].node.(type) { + case *stmt.Class: + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + n.ClassName = name + n.Stmts = yyDollar[6].list + n.Extends = yyDollar[3].node + n.Implements = yyDollar[4].list + + case *stmt.Trait: + // TODO: is it possible that trait extend or implement + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + n.TraitName = name + n.Stmts = yyDollar[6].list + } + + yyVAL.node = yyDollar[1].node + } + case 93: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:896 + { + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(name, yyDollar[2].token.Comments()) + + yyVAL.node = stmt.NewInterface(name, yyDollar[3].list, yyDollar[5].list, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 94: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:861 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:910 { + yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 95: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:863 + //line php5/php5.y:916 { + classModifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(classModifier, yyDollar[1].token.Comments()) + + yyVAL.node = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 96: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:867 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:926 { + yyVAL.node = stmt.NewTrait(nil, nil, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 97: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:872 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:932 { + classModifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(classModifier, yyDollar[1].token.Comments()) + + yyVAL.node = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 98: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:873 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:945 { + yyVAL.node = nil } case 99: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:874 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:947 { + yyVAL.node = yyDollar[2].node } case 100: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:875 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:952 { + yyVAL.token = yyDollar[1].token } case 101: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:879 + //line php5/php5.y:957 { + yyVAL.list = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:880 + //line php5/php5.y:959 { + yyVAL.list = yyDollar[2].list } case 103: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:884 - { - } - case 108: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:898 - { - } - case 109: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:899 - { - } - case 110: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:904 + //line php5/php5.y:964 + { + yyVAL.list = nil + } + case 104: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:966 + { + yyVAL.list = yyDollar[2].list + } + case 105: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:971 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 106: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:973 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 107: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:978 { yyVAL.foreachVariable = foreachVariable{nil, false} } - case 111: + case 108: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:906 + //line php5/php5.y:980 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } - case 112: + case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:911 + //line php5/php5.y:985 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } - case 113: + case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:913 + //line php5/php5.y:987 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } - case 114: + case 111: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:915 + //line php5/php5.y:989 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } - case 115: + case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:925 + //line php5/php5.y:999 { yyVAL.node = yyDollar[1].node } + case 113: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1001 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 114: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1011 + { + yyVAL.node = yyDollar[1].node + } + case 115: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1013 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 116: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:927 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1023 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.node = yyDollar[1].node } case 117: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:937 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1025 { - yyVAL.node = yyDollar[1].node + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 118: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:939 - { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 119: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:949 - { - yyVAL.node = yyDollar[1].node - } - case 120: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:951 - { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 121: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:961 + //line php5/php5.y:1035 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3224,9 +3288,9 @@ yydefault: yyVAL.list = []node.Node{constant} } - case 122: + case 119: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:1047 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3238,76 +3302,76 @@ yydefault: yyVAL.list = append(yyDollar[1].list, constant) } - case 123: + case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:1063 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 124: + case 121: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:1065 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } - case 125: + case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:993 + //line php5/php5.y:1067 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } - case 126: + case 123: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:995 + //line php5/php5.y:1069 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } - case 127: + case 124: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1075 { yyVAL.list = []node.Node{} } - case 128: + case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1003 + //line php5/php5.y:1077 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) yyVAL.list = append(yyDollar[1].list, _case) comments.AddComments(_case, yyDollar[2].token.Comments()) } - case 129: + case 126: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1010 + //line php5/php5.y:1084 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) yyVAL.list = append(yyDollar[1].list, _default) comments.AddComments(_default, yyDollar[2].token.Comments()) } - case 132: + case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1101 { yyVAL.node = yyDollar[1].node } - case 133: + case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1029 + //line php5/php5.y:1103 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 134: + case 131: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1113 { yyVAL.list = []node.Node{} } - case 135: + case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1041 + //line php5/php5.y:1115 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3315,15 +3379,15 @@ yydefault: yyVAL.list = append(yyDollar[1].list, _elseIf) } - case 136: + case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1053 + //line php5/php5.y:1127 { yyVAL.list = []node.Node{} } - case 137: + case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1055 + //line php5/php5.y:1129 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3334,29 +3398,29 @@ yydefault: yyVAL.list = append(yyDollar[1].list, _elseIf) } - case 138: + case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1070 + //line php5/php5.y:1144 { yyVAL.node = nil } - case 139: + case 136: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1072 + //line php5/php5.y:1146 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 140: + case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1082 + //line php5/php5.y:1156 { yyVAL.node = nil } - case 141: + case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1158 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3365,87 +3429,165 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 146: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1108 + case 139: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1171 { + yyVAL.list = yyDollar[1].list } - case 147: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1110 - { - } - case 148: + case 140: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1173 { + yyVAL.list = nil } - case 149: + case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1116 - { - } - case 150: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1117 - { - } - case 151: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1118 - { - } - case 152: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1124 - { - yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} - } - case 153: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1125 - { - } - case 154: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1126 - { - } - case 157: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1136 - { - } - case 158: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1137 - { - } - case 159: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1138 - { - } - case 160: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1139 - { - } - case 161: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1144 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 162: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1178 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 163: + case 142: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1180 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 143: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1185 + { + identifier := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + + if yyDollar[1].node != nil { + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } else if yyDollar[2].boolWithToken.value == true { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[2].boolWithToken.token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) + } else if yyDollar[3].boolWithToken.value == true { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[3].boolWithToken.token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) + } else { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + } + } + case 144: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1211 + { + identifier := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(identifier, yyDollar[4].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(variable, yyDollar[4].token.Comments()) + + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + + if yyDollar[1].node != nil { + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } else if yyDollar[2].boolWithToken.value == true { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[2].boolWithToken.token, yyDollar[6].node)) + comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) + } else if yyDollar[3].boolWithToken.value == true { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[3].boolWithToken.token, yyDollar[6].node)) + comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) + } else { + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node)) + comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) + } + } + case 145: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1241 + { + yyVAL.node = nil + } + case 146: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1152 + //line php5/php5.y:1243 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 147: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1249 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 148: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1255 + { + yyVAL.node = yyDollar[1].node + } + case 149: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1261 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} + } + case 150: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1262 + { + } + case 151: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1263 + { + } + case 154: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1273 + { + } + case 155: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1274 + { + } + case 156: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1275 + { + } + case 157: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1276 + { + } + case 158: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1281 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 159: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1283 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 160: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1289 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3455,25 +3597,25 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 164: + case 161: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1162 + //line php5/php5.y:1299 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 165: + case 162: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1168 + //line php5/php5.y:1305 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 166: + case 163: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1178 + //line php5/php5.y:1315 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3490,9 +3632,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 167: + case 164: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1195 + //line php5/php5.y:1332 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3509,9 +3651,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 168: + case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1212 + //line php5/php5.y:1349 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3528,9 +3670,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 169: + case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1229 + //line php5/php5.y:1366 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3547,275 +3689,309 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 172: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1256 + case 167: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1388 { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 176: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1259 + case 168: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1390 { + yyVAL.list = []node.Node{} } - case 177: - yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:1261 - { - } - case 179: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1269 - { - } - case 180: + case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1270 + //line php5/php5.y:1396 + { + yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 170: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1402 + { + yyVAL.node = yyDollar[1].node + } + case 171: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1404 + { + yyVAL.node = yyDollar[1].node + } + case 172: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:1406 + { + name := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) + comments.AddComments(name, yyDollar[4].token.Comments()) + + yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[6].list, nil, yyDollar[8].nodesWithEndToken.nodes, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[8].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 173: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1419 + { + } + case 174: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1423 + { + } + case 175: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1424 + { + } + case 184: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1448 + { + } + case 185: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1452 + { + } + case 186: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1453 + { + } + case 187: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1457 + { + } + case 188: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1458 { } case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1294 + //line php5/php5.y:1462 { } case 190: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1298 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1466 { } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1467 { } case 192: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1303 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1471 { } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1304 + //line php5/php5.y:1472 { } case 194: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1308 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1476 { } case 195: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1312 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1477 { } case 196: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1313 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1481 { } case 197: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1317 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1482 { } case 198: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1318 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1486 { } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1487 { } case 200: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1323 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1491 { } case 201: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1327 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1492 { } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1328 + //line php5/php5.y:1496 { } case 203: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1332 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1497 { } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1333 + //line php5/php5.y:1498 { } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1337 + //line php5/php5.y:1499 { } case 206: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1338 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1500 { } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1342 + //line php5/php5.y:1501 { } case 208: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1343 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1505 { } case 209: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1344 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1506 { } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1507 { } case 211: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1346 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1508 { } case 212: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1347 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1512 { } case 213: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1351 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1513 { } case 214: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1352 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1518 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1353 - { - } - case 216: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1354 - { - } - case 217: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1358 - { - } - case 218: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1359 - { - } - case 219: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1364 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 220: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1366 + //line php5/php5.y:1520 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 221: + case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1372 + //line php5/php5.y:1526 { yyVAL.list = nil } - case 222: + case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1374 + //line php5/php5.y:1528 { yyVAL.list = yyDollar[1].list } - case 223: + case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1379 + //line php5/php5.y:1533 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 224: + case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1381 + //line php5/php5.y:1535 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 225: + case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1385 + //line php5/php5.y:1539 + { + } + case 221: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1540 + { + } + case 222: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1544 + { + } + case 223: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1545 + { + } + case 224: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1549 + { + } + case 225: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1549 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1386 + //line php5/php5.y:1550 { } case 227: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1390 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1551 { } case 228: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1391 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1555 { } case 229: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1395 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1556 { } case 230: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1395 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1557 { } case 231: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1396 - { - } - case 232: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1397 - { - } - case 233: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1401 - { - } - case 234: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1402 - { - } - case 235: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1403 - { - } - case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1408 + //line php5/php5.y:1562 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -3827,9 +4003,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 237: + case 232: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1577 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3839,472 +4015,472 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 233: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1586 + { + } + case 234: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1587 + { + } + case 235: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1588 + { + } + case 236: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1588 + { + } + case 237: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1589 + { + } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1432 + //line php5/php5.y:1590 { } case 239: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1433 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1591 { } case 240: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1434 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1592 { } case 241: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1434 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1593 { } case 242: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1435 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1594 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1436 + //line php5/php5.y:1595 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1437 + //line php5/php5.y:1596 { } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1438 + //line php5/php5.y:1597 { } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1598 { } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1440 + //line php5/php5.y:1599 { } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1441 + //line php5/php5.y:1600 { } case 249: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1601 { } case 250: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1443 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1602 { } case 251: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1444 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1603 { } case 252: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1445 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1604 { } case 253: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1446 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1605 { } case 254: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1447 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1606 { } case 255: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1448 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1606 { } case 256: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1449 + //line php5/php5.y:1607 { } case 257: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1450 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1607 { } case 258: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1608 { } case 259: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1452 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1608 { } case 260: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1452 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1609 { } case 261: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1453 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1609 { } case 262: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1453 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1610 { } case 263: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1454 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1611 { } case 264: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1454 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1612 { } case 265: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1455 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1613 { } case 266: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1455 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1614 { } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1615 { } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1457 + //line php5/php5.y:1616 { } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1458 + //line php5/php5.y:1617 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1459 + //line php5/php5.y:1618 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1460 + //line php5/php5.y:1619 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1461 + //line php5/php5.y:1620 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1462 + //line php5/php5.y:1621 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1463 + //line php5/php5.y:1622 { } case 275: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1464 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1623 { } case 276: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1465 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1624 { } case 277: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1466 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1625 { } case 278: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1467 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1626 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1468 + //line php5/php5.y:1627 { } case 280: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1469 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1628 { } case 281: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1470 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1629 { } case 282: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1471 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1630 { } case 283: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1472 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1631 { } case 284: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1473 + //line php5/php5.y:1632 { } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1474 + //line php5/php5.y:1633 { } case 286: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1475 + //line php5/php5.y:1634 { } case 287: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1635 { } case 288: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1477 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1636 { } case 289: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1478 - { - } - case 290: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1479 - { - } - case 291: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1480 - { - } - case 292: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1481 - { - } - case 293: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1482 - { - } - case 294: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1484 + //line php5/php5.y:1638 { yyVAL.node = yyDollar[1].node } + case 290: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1639 + { + } + case 291: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1639 + { + } + case 292: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1640 + { + } + case 293: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1641 + { + } + case 294: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1642 + { + } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1485 + //line php5/php5.y:1643 { } case 296: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1485 + //line php5/php5.y:1644 { } case 297: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1486 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1645 { } case 298: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1487 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1646 { } case 299: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1488 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1647 { } case 300: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1489 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1648 { } case 301: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1490 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1649 { } case 302: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1491 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1650 { } case 303: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1492 + //line php5/php5.y:1651 { } case 304: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1493 + //line php5/php5.y:1652 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1494 + //line php5/php5.y:1653 { } case 306: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1495 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1654 { } case 307: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1496 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1654 { } case 308: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1497 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1655 { + yyVAL.node = yyDollar[1].node } case 309: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1498 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1656 { } case 310: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1499 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1657 { } case 311: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1500 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1658 { } case 312: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1500 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1659 { } case 313: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1501 + //line php5/php5.y:1660 { - yyVAL.node = yyDollar[1].node } case 314: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1502 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1661 { } case 315: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1503 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1663 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1504 + //line php5/php5.y:1664 { } case 317: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1505 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1666 { } case 318: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1506 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1670 { } case 319: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1507 + //line php5/php5.y:1671 { } case 320: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1509 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1672 { } case 321: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1510 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1673 { } case 322: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1512 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1678 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 323: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1516 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1684 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 324: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1517 - { - } - case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1518 - { - } - case 326: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1519 - { - } - case 327: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1524 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 328: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1530 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 329: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1536 + //line php5/php5.y:1690 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4314,51 +4490,51 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[str]) } - case 330: + case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1546 + //line php5/php5.y:1700 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 331: + case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1555 + //line php5/php5.y:1709 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 332: + case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1561 + //line php5/php5.y:1715 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 333: + case 328: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1724 { yyVAL.token = yyDollar[1].token } - case 334: + case 329: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1575 + //line php5/php5.y:1729 { yyVAL.list = []node.Node{} } - case 335: + case 330: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1577 + //line php5/php5.y:1731 { yyVAL.list = yyDollar[3].list } - case 336: + case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1582 + //line php5/php5.y:1736 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4374,9 +4550,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 337: + case 332: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1598 + //line php5/php5.y:1752 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4392,9 +4568,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 338: + case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1614 + //line php5/php5.y:1768 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4410,9 +4586,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 339: + case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1784 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4428,117 +4604,117 @@ yydefault: yyVAL.list = []node.Node{use} } - case 340: + case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1648 + //line php5/php5.y:1802 + { + } + case 336: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1803 + { + } + case 337: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1804 + { + } + case 338: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1805 + { + } + case 339: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1806 + { + } + case 340: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1807 { } case 341: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1649 + //line php5/php5.y:1808 { } case 342: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1650 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1809 { } case 343: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1651 - { - } - case 344: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1652 - { - } - case 345: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1653 - { - } - case 346: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1654 - { - } - case 347: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1655 - { - } - case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1660 + //line php5/php5.y:1814 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 349: + case 344: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1666 + //line php5/php5.y:1820 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } + case 345: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1826 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 346: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1832 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 347: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1841 + { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 348: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1847 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 349: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1853 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 350: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1672 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1862 { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.node = yyDollar[1].node } case 351: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1678 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1864 { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.node = yyDollar[1].node } case 352: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1687 - { - yyVAL.node = name.NewName(yyDollar[1].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) - } - case 353: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1693 - { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 354: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1699 - { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 355: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1708 - { - yyVAL.node = yyDollar[1].node - } - case 356: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1710 - { - yyVAL.node = yyDollar[1].node - } - case 357: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1715 + //line php5/php5.y:1869 { yyVAL.node = yyDollar[1].node @@ -4568,102 +4744,142 @@ yydefault: } } } - case 358: + case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1745 + //line php5/php5.y:1899 { yyVAL.node = yyDollar[1].node } - case 359: + case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1751 + //line php5/php5.y:1905 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } - case 360: + case 355: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1753 + //line php5/php5.y:1907 { yyVAL.objectPropertyList = []objectProperty{} } - case 361: + case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1759 + //line php5/php5.y:1913 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } - case 362: + case 357: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1764 + //line php5/php5.y:1918 { yyVAL.node = nil } - case 363: + case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1766 + //line php5/php5.y:1920 { yyVAL.node = nil } - case 364: + case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1922 { yyVAL.node = yyDollar[1].node } - case 365: + case 360: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1772 + //line php5/php5.y:1926 { } - case 366: + case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1773 + //line php5/php5.y:1927 { } - case 367: + case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1774 + //line php5/php5.y:1928 { } - case 368: + case 363: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1779 + //line php5/php5.y:1933 { yyVAL.nodesWithEndToken = nil } - case 369: + case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1781 + //line php5/php5.y:1935 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 370: + case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1786 + //line php5/php5.y:1940 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 371: + case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1946 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 372: + case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1798 + //line php5/php5.y:1952 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 368: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1958 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 369: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1964 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 370: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1970 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 371: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1976 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 372: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1982 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1804 + //line php5/php5.y:1988 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4671,71 +4887,31 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1810 + //line php5/php5.y:1994 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 375: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1816 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 376: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1822 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 377: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1828 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 378: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1834 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 379: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1840 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1846 + //line php5/php5.y:2000 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 381: + case 376: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1851 + //line php5/php5.y:2005 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 382: + case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1860 + //line php5/php5.y:2014 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4745,259 +4921,259 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 383: + case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1872 + //line php5/php5.y:2026 + { + } + case 379: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2030 + { + } + case 380: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2031 + { + } + case 381: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2032 + { + } + case 382: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2033 + { + } + case 383: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2034 { } case 384: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1876 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2035 { } case 385: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1877 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2036 { } case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1878 + //line php5/php5.y:2037 { } case 387: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1879 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2038 { } case 388: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1880 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2039 { } case 389: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1881 + //line php5/php5.y:2043 { } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1882 + //line php5/php5.y:2044 { } case 391: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1883 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2045 { } case 392: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1884 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2046 { } case 393: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1885 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2047 { } case 394: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1889 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2048 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1890 + //line php5/php5.y:2049 { } case 396: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1891 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2050 { } case 397: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1892 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2051 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1893 + //line php5/php5.y:2052 { } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1894 + //line php5/php5.y:2053 { } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1895 + //line php5/php5.y:2054 { } case 401: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1896 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2055 { } case 402: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1897 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2056 { } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1898 + //line php5/php5.y:2057 { } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1899 + //line php5/php5.y:2058 { } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1900 + //line php5/php5.y:2059 { } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1901 + //line php5/php5.y:2060 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1902 + //line php5/php5.y:2061 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1903 + //line php5/php5.y:2062 { } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1904 + //line php5/php5.y:2063 { } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1905 + //line php5/php5.y:2064 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1906 + //line php5/php5.y:2065 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1907 + //line php5/php5.y:2066 { } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1908 + //line php5/php5.y:2067 { } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1909 + //line php5/php5.y:2068 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1910 + //line php5/php5.y:2069 { } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1911 + //line php5/php5.y:2070 { } case 417: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1912 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2071 { } case 418: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1913 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2072 { } case 419: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1914 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2073 { } case 420: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1915 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2074 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1916 + //line php5/php5.y:2075 { } case 422: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1917 - { - } - case 423: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1918 - { - } - case 424: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1919 - { - } - case 425: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1920 - { - } - case 426: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1921 - { - } - case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1926 + //line php5/php5.y:2080 { yyVAL.node = yyDollar[1].node } - case 428: + case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1928 + //line php5/php5.y:2082 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 429: + case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1934 + //line php5/php5.y:2088 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 430: + case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1940 + //line php5/php5.y:2094 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 431: + case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1949 + //line php5/php5.y:2103 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5007,263 +5183,195 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 432: + case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1959 + //line php5/php5.y:2113 { yyVAL.node = yyDollar[1].node } - case 433: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1961 - { - yyVAL.node = yyDollar[1].node - } - case 434: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1963 - { - yyVAL.node = yyDollar[1].node - } - case 435: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1965 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 436: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1971 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 437: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1977 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 438: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1985 - { - } - case 439: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1986 - { - } - case 442: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1995 - { - } - case 443: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1996 - { - } - case 444: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1997 - { - } - case 445: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1998 - { - } - case 446: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2003 - { - yyVAL.node = yyDollar[1].node - } - case 447: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2005 - { - yyVAL.node = yyDollar[1].node - } - case 448: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2010 - { - yyVAL.node = yyDollar[2].node - } - case 449: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2012 - { - yyVAL.node = yyDollar[2].node - } - case 450: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2018 - { - yyVAL.node = yyDollar[1].node - } - case 451: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2026 - { - yyVAL.node = yyDollar[1].node - } - case 452: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2033 - { - yyVAL.node = yyDollar[1].node - } - case 453: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2040 - { - } - case 454: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2042 - { - yyVAL.node = yyDollar[1].node - } - case 455: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2046 - { - } - case 456: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2047 - { - } - case 457: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2052 - { - } - case 458: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2052 - { - } - case 459: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2056 - { - } - case 460: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2057 - { - } - case 461: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2061 - { - } - case 462: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2062 - { - } - case 463: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2066 - { - } - case 464: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2067 - { - } - case 465: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2068 - { - } - case 466: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2073 - { - yyVAL.node = yyDollar[1].node - } - case 467: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2075 - { - yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) - - for _, n := range yyDollar[1].simpleIndirectReference.all { - positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) - } - - yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] - } - case 468: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2088 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 469: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2094 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 470: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2104 - { - yyVAL.node = yyDollar[1].node - } - case 471: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2109 - { - } - case 472: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2111 - { - } - case 473: + case 428: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:2115 { yyVAL.node = yyDollar[1].node } - case 474: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2116 - { - yyVAL.node = yyDollar[1].node - } - case 475: + case 429: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:2117 { yyVAL.node = yyDollar[1].node } - case 476: + case 430: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2119 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 431: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2125 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2123 + //line php5/php5.y:2131 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 433: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2139 + { + } + case 434: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2140 + { + } + case 437: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2149 + { + } + case 438: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2150 + { + } + case 439: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2151 + { + } + case 440: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2152 + { + } + case 441: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2157 { yyVAL.node = yyDollar[1].node } - case 477: + case 442: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2159 + { + yyVAL.node = yyDollar[1].node + } + case 443: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2164 + { + yyVAL.node = yyDollar[2].node + } + case 444: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2166 + { + yyVAL.node = yyDollar[2].node + } + case 445: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2172 + { + yyVAL.node = yyDollar[1].node + } + case 446: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2180 + { + yyVAL.node = yyDollar[1].node + } + case 447: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2187 + { + yyVAL.node = yyDollar[1].node + } + case 448: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2194 + { + } + case 449: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2196 + { + yyVAL.node = yyDollar[1].node + } + case 450: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2125 + //line php5/php5.y:2200 + { + } + case 451: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2201 + { + } + case 452: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2206 + { + } + case 453: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2206 + { + } + case 454: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2210 + { + } + case 455: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2211 + { + } + case 456: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2215 + { + } + case 457: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2216 + { + } + case 458: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2220 + { + } + case 459: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2221 + { + } + case 460: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2222 + { + } + case 461: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2227 + { + yyVAL.node = yyDollar[1].node + } + case 462: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2229 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5273,37 +5381,105 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 478: + case 463: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2242 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 464: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2248 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2135 + //line php5/php5.y:2258 { yyVAL.node = yyDollar[1].node } - case 479: + case 466: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2140 + //line php5/php5.y:2263 + { + } + case 467: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2265 + { + } + case 468: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2269 + { + yyVAL.node = yyDollar[1].node + } + case 469: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2270 + { + yyVAL.node = yyDollar[1].node + } + case 470: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2271 + { + yyVAL.node = yyDollar[1].node + } + case 471: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2277 + { + yyVAL.node = yyDollar[1].node + } + case 472: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2279 + { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 473: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2289 + { + yyVAL.node = yyDollar[1].node + } + case 474: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2294 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 480: + case 475: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2146 + //line php5/php5.y:2300 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 481: + case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2152 + //line php5/php5.y:2306 { yyVAL.node = yyDollar[1].node } - case 482: + case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2158 + //line php5/php5.y:2312 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5313,77 +5489,77 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 483: + case 478: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2168 + //line php5/php5.y:2322 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 484: + case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2176 + //line php5/php5.y:2330 { yyVAL.node = nil } - case 485: + case 480: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2177 + //line php5/php5.y:2331 { yyVAL.node = yyDollar[1].node } - case 486: + case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2183 + //line php5/php5.y:2337 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } - case 487: + case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2185 + //line php5/php5.y:2339 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } - case 488: + case 483: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2193 + //line php5/php5.y:2347 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } - case 489: + case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2198 + //line php5/php5.y:2352 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } - case 490: + case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2203 + //line php5/php5.y:2357 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } - case 491: + case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2211 + //line php5/php5.y:2365 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 492: + case 487: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2217 + //line php5/php5.y:2371 { yyVAL.node = yyDollar[2].node } - case 493: + case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2222 + //line php5/php5.y:2376 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5391,9 +5567,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 494: + case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2230 + //line php5/php5.y:2384 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5405,53 +5581,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 495: + case 490: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2245 + //line php5/php5.y:2399 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 496: + case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2247 + //line php5/php5.y:2401 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 497: + case 492: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2253 + //line php5/php5.y:2407 { yyVAL.node = yyDollar[1].node } - case 498: + case 493: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2255 + //line php5/php5.y:2409 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 499: + case 494: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2261 + //line php5/php5.y:2415 { yyVAL.node = nil } - case 500: + case 495: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2267 + //line php5/php5.y:2421 { yyVAL.list = nil } - case 501: + case 496: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2269 + //line php5/php5.y:2423 { yyVAL.list = yyDollar[1].list } - case 502: + case 497: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2274 + //line php5/php5.y:2428 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5459,9 +5635,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 503: + case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2282 + //line php5/php5.y:2436 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5469,9 +5645,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 504: + case 499: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2290 + //line php5/php5.y:2444 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5479,9 +5655,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 505: + case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2298 + //line php5/php5.y:2452 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5489,9 +5665,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 506: + case 501: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2306 + //line php5/php5.y:2460 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5499,9 +5675,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 507: + case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2314 + //line php5/php5.y:2468 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5509,9 +5685,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 508: + case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2322 + //line php5/php5.y:2476 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5519,9 +5695,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 509: + case 504: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2330 + //line php5/php5.y:2484 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5529,39 +5705,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 510: + case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2341 + //line php5/php5.y:2495 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 511: + case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2343 + //line php5/php5.y:2497 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 512: + case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2350 + //line php5/php5.y:2504 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 513: + case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2352 + //line php5/php5.y:2506 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 514: + case 509: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2362 + //line php5/php5.y:2516 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5571,9 +5747,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 515: + case 510: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2372 + //line php5/php5.y:2526 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5586,9 +5762,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 516: + case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2385 + //line php5/php5.y:2539 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5604,17 +5780,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 517: + case 512: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2401 + //line php5/php5.y:2555 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 518: + case 513: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2407 + //line php5/php5.y:2561 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5627,23 +5803,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 519: + case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2421 + //line php5/php5.y:2575 { yyVAL.node = yyDollar[2].node } - case 520: + case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2426 + //line php5/php5.y:2580 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 521: + case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2432 + //line php5/php5.y:2586 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5655,9 +5831,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 522: + case 517: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2444 + //line php5/php5.y:2598 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5667,133 +5843,133 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 523: + case 518: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2457 + //line php5/php5.y:2611 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 524: + case 519: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2463 + //line php5/php5.y:2617 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 525: + case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2469 + //line php5/php5.y:2623 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 526: + case 521: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2475 + //line php5/php5.y:2629 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 527: + case 522: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2481 + //line php5/php5.y:2635 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 528: + case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2487 + //line php5/php5.y:2641 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 529: + case 524: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2493 + //line php5/php5.y:2647 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 530: + case 525: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2499 + //line php5/php5.y:2653 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 531: + case 526: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2508 + //line php5/php5.y:2662 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 532: + case 527: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2510 + //line php5/php5.y:2664 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } + case 528: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2668 + { + yyVAL.node = yyDollar[1].node + } + case 529: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2669 + { + yyVAL.node = yyDollar[1].node + } + case 530: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2674 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 531: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2684 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 532: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2697 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 533: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2514 - { - yyVAL.node = yyDollar[1].node - } - case 534: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2515 - { - yyVAL.node = yyDollar[1].node - } - case 535: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2520 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 536: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2530 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 537: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2543 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 538: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2556 + //line php5/php5.y:2710 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 68c7e63..d99dca8 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -22,7 +22,7 @@ import ( %union{ node node.Node token token.Token -// boolWithToken boolWithToken + boolWithToken boolWithToken list []node.Node foreachVariable foreachVariable nodesWithEndToken *nodesWithEndToken @@ -194,7 +194,7 @@ import ( %left T_ENDIF %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC -%type function +%type function interface_entry %type top_statement use_declaration use_function_declaration use_const_declaration common_scalar %type static_class_constant compound_variable reference_variable class_name variable_class_name @@ -206,19 +206,24 @@ import ( %type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr %type exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration %type else_single new_else_single while_statement for_statement unset_variable foreach_statement declare_statement -%type finally_statement additional_catch +%type finally_statement additional_catch unticked_function_declaration_statement unticked_class_declaration_statement +%type optional_class_type parameter class_entry_type extends_from class_statement class_constant_declaration +%type trait_use_statement %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list %type array_pair_list assignment_list lexical_var_list lexical_vars elseif_list new_elseif_list non_empty_for_expr %type for_expr case_list echo_expr_list unset_variables declare_list catch_statement additional_catches -%type non_empty_additional_catches +%type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list +%type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list +%type interface_list %type simple_indirect_reference %type foreach_variable foreach_optional_arg %type object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property -%type ctor_arguments function_call_parameter_list switch_case_list +%type ctor_arguments function_call_parameter_list switch_case_list method_body +%type is_reference is_variadic %% @@ -829,74 +834,143 @@ unset_variable: ; function_declaration_statement: - unticked_function_declaration_statement { } + unticked_function_declaration_statement + { $$ = $1 } ; class_declaration_statement: - unticked_class_declaration_statement { } + unticked_class_declaration_statement + { $$ = $1 } ; is_reference: - /* empty */ { } - | '&' { } + /* empty */ + { $$ = boolWithToken{false, nil} } + | '&' + { $$ = boolWithToken{true, &$1} } ; is_variadic: - /* empty */ { } - | T_ELLIPSIS { } + /* empty */ + { $$ = boolWithToken{false, nil} } + | T_ELLIPSIS + { $$ = boolWithToken{true, &$1} } ; unticked_function_declaration_statement: - function is_reference T_STRING { } - '(' parameter_list ')' - '{' inner_statement_list '}' { } + function is_reference T_STRING '(' parameter_list ')' '{' inner_statement_list '}' + { + name := node.NewIdentifier($3.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) + comments.AddComments(name, $3.Comments()) + + $$ = stmt.NewFunction(name, $2.value, $5, nil, $8, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $9)) + comments.AddComments($$, $1.Comments()) + } ; unticked_class_declaration_statement: - class_entry_type T_STRING extends_from - { } - implements_list - '{' - class_statement_list - '}' { } - | interface_entry T_STRING - { } - interface_extends_list - '{' - class_statement_list - '}' { } + class_entry_type T_STRING extends_from implements_list '{' class_statement_list '}' + { + switch n := $1.(type) { + case *stmt.Class : + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + n.ClassName = name + n.Stmts = $6 + n.Extends = $3 + n.Implements = $4 + + case *stmt.Trait : + // TODO: is it possible that trait extend or implement + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + n.TraitName = name + n.Stmts = $6 + } + + $$ = $1 + } + | interface_entry T_STRING interface_extends_list '{' class_statement_list '}' + { + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + comments.AddComments(name, $2.Comments()) + + $$ = stmt.NewInterface(name, $3, $5, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) + comments.AddComments($$, $1.Comments()) + } ; class_entry_type: - T_CLASS { } - | T_ABSTRACT T_CLASS { } - | T_TRAIT { } - | T_FINAL T_CLASS { } + T_CLASS + { + $$ = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_ABSTRACT T_CLASS + { + classModifier := node.NewIdentifier($1.Value) + positions.AddPosition(classModifier, positionBuilder.NewTokenPosition($1)) + comments.AddComments(classModifier, $1.Comments()) + + $$ = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_TRAIT + { + $$ = stmt.NewTrait(nil, nil, "") + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FINAL T_CLASS + { + classModifier := node.NewIdentifier($1.Value) + positions.AddPosition(classModifier, positionBuilder.NewTokenPosition($1)) + comments.AddComments(classModifier, $1.Comments()) + + $$ = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; extends_from: - /* empty */ { } - | T_EXTENDS fully_qualified_class_name { } + /* empty */ + { $$ = nil } + | T_EXTENDS fully_qualified_class_name + { $$ = $2 } ; interface_entry: - T_INTERFACE { } + T_INTERFACE + { $$ = $1 } ; interface_extends_list: /* empty */ + { $$ = nil } | T_EXTENDS interface_list + { $$ = $2 } ; implements_list: /* empty */ + { $$ = nil } | T_IMPLEMENTS interface_list + { $$ = $2 } ; interface_list: - fully_qualified_class_name { } - | interface_list ',' fully_qualified_class_name { } + fully_qualified_class_name + { $$ = []node.Node{$1} } + | interface_list ',' fully_qualified_class_name + { $$ = append($1, $3) } ; foreach_optional_arg: @@ -1094,28 +1168,91 @@ new_else_single: parameter_list: non_empty_parameter_list + { $$ = $1; } | /* empty */ + { $$ = nil } ; - non_empty_parameter_list: parameter + { $$ = []node.Node{$1} } | non_empty_parameter_list ',' parameter + { $$ = append($1, $3) } ; parameter: optional_class_type is_reference is_variadic T_VARIABLE - { } + { + identifier := node.NewIdentifier($4.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) + comments.AddComments($$, $4.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) + comments.AddComments($$, $4.Comments()) + + $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + + if $1 != nil { + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } else if $2.value == true { + positions.AddPosition($$, positionBuilder.NewTokensPosition(*$2.token, $4)) + comments.AddComments($$, $2.token.Comments()) + } else if $3.value == true { + positions.AddPosition($$, positionBuilder.NewTokensPosition(*$3.token, $4)) + comments.AddComments($$, $3.token.Comments()) + } else { + positions.AddPosition($$, positionBuilder.NewTokenPosition($4)) + comments.AddComments($$, $4.Comments()) + } + } | optional_class_type is_reference is_variadic T_VARIABLE '=' static_scalar - { } + { + identifier := node.NewIdentifier($4.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($4)) + comments.AddComments(identifier, $4.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($4)) + comments.AddComments(variable, $4.Comments()) + + $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + + if $1 != nil { + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $6)) + comments.AddComments($$, comments[$1]) + } else if $2.value == true { + positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$2.token, $6)) + comments.AddComments($$, $2.token.Comments()) + } else if $3.value == true { + positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$3.token, $6)) + comments.AddComments($$, $3.token.Comments()) + } else { + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($4, $6)) + comments.AddComments($$, $4.Comments()) + } + } ; optional_class_type: - /* empty */ { } - | T_ARRAY { } - | T_CALLABLE { } - | fully_qualified_class_name { } + /* empty */ + { $$ = nil } + | T_ARRAY + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_CALLABLE + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | fully_qualified_class_name + { $$ = $1 } ; @@ -1248,21 +1385,38 @@ static_var_list: class_statement_list: class_statement_list class_statement + { $$ = append($1, $2) } | /* empty */ + { $$ = []node.Node{} } ; class_statement: - variable_modifiers { } class_variable_declaration ';' + variable_modifiers class_variable_declaration ';' + { + $$ = stmt.NewPropertyList($1, $2) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } | class_constant_declaration ';' + { $$ = $1 } | trait_use_statement - | method_modifiers function is_reference T_STRING { } - '(' parameter_list ')' - method_body { } + { $$ = $1 } + | method_modifiers function is_reference T_STRING '(' parameter_list ')' method_body + { + name := node.NewIdentifier($4.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($4)) + comments.AddComments(name, $4.Comments()) + + $$ = stmt.NewClassMethod(name, $1, $3.value, $6, nil, $8.nodes, "") + positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $8.endToken)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } ; trait_use_statement: T_USE trait_list trait_adaptations + { } ; trait_list: From 1d4e52ebc5709b3f207a7fdb8d9f92eb45ca93a5 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sat, 3 Feb 2018 20:13:11 +0200 Subject: [PATCH 23/31] php5 syntax --- node/argument.go | 11 +- php5/php5.go | 1018 ++++++++++++++++++++++++---------------------- php5/php5.y | 114 +++++- php7/php7.go | 4 +- php7/php7.y | 4 +- 5 files changed, 651 insertions(+), 500 deletions(-) diff --git a/node/argument.go b/node/argument.go index 3f2c076..5f2fca5 100644 --- a/node/argument.go +++ b/node/argument.go @@ -4,14 +4,16 @@ import "github.com/z7zmey/php-parser/walker" // Argument node type Argument struct { - Variadic bool // if ... before variable - Expr Node // Exression + Variadic bool // if ... before variable + IsReference bool // if & before variable + Expr Node // Exression } // NewArgument node constuctor -func NewArgument(Expression Node, Variadic bool) *Argument { +func NewArgument(Expression Node, Variadic bool, IsReference bool) *Argument { return &Argument{ Variadic, + IsReference, Expression, } } @@ -19,7 +21,8 @@ func NewArgument(Expression Node, Variadic bool) *Argument { // Attributes returns node attributes as map func (n *Argument) Attributes() map[string]interface{} { return map[string]interface{}{ - "Variadic": n.Variadic, + "Variadic": n.Variadic, + "IsReference": n.IsReference, } } diff --git a/php5/php5.go b/php5/php5.go index 0ff315e..a127d08 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2721 +//line php5/php5.y:2803 //line yacctab:1 var yyExca = [...]int{ @@ -683,8 +683,8 @@ var yyAct = [...]int{ 359, 844, 984, 737, 736, 905, 847, 848, 832, 990, 520, 1009, 572, 980, 981, 1006, 975, 572, 259, 260, 1010, 1007, 38, 974, 973, 1008, 972, 970, 969, 940, - 901, 482, 1, 1005, 889, 1022, 530, 572, 898, 191, - 341, 1026, 530, 530, 1002, 1025, 859, 747, 572, 444, + 901, 1, 889, 1005, 1022, 341, 530, 572, 898, 191, + 859, 1026, 530, 530, 1002, 1025, 747, 444, 572, 482, 401, 894, 831, 445, 828, 569, 1029, 719, 1019, 1018, 716, 445, 392, 387, 163, 339, 230, 688, 230, 537, 960, 530, 289, 459, 160, 156, 192, 172, 176, 175, @@ -1542,12 +1542,12 @@ var yyPgo = [...]int{ 180, 1108, 723, 36, 1106, 8, 1104, 1103, 41, 1102, 58, 51, 42, 1101, 1099, 1098, 1077, 1076, 34, 24, 1075, 1073, 1, 1072, 1071, 1070, 17, 1069, 1068, 1067, - 1066, 1064, 44, 0, 1063, 1061, 1060, 40, 1055, 1054, - 592, 1053, 1052, 50, 18, 1050, 28, 1049, 1047, 1045, - 25, 43, 1044, 1043, 1042, 1040, 1039, 1038, 3, 1037, - 19, 1035, 1034, 1032, 1031, 1030, 33, 93, 14, 22, - 7, 1029, 1027, 1026, 13, 30, 1020, 1015, 15, 1014, - 1012, 20, 1011, 52, 1010, 1009, 1008, 1007, 4, 1006, + 1066, 1064, 52, 44, 0, 1063, 1061, 1060, 40, 1055, + 1054, 592, 1053, 1052, 50, 18, 1050, 28, 1049, 1047, + 1045, 25, 43, 1044, 1043, 1042, 1040, 1039, 1038, 3, + 1037, 19, 1035, 1034, 1032, 1031, 1030, 33, 1029, 93, + 14, 22, 7, 1027, 1026, 1020, 13, 30, 1015, 1014, + 15, 1012, 1011, 20, 1010, 1009, 1008, 1007, 4, 1006, 1004, 1003, 1001, 996, 991, 2, 988, 12, 11, 987, 986, 985, 984, 983, 981, 980, 978, 977, 976, 974, 972, 970, 968, 967, 964, 962, 961, 969, 26, 956, @@ -1555,28 +1555,28 @@ var yyPgo = [...]int{ } var yyR1 = [...]int{ - 0, 120, 72, 72, 73, 73, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 74, 74, 4, - 4, 4, 4, 75, 75, 5, 5, 5, 5, 76, - 76, 6, 6, 6, 6, 53, 53, 77, 77, 24, + 0, 122, 73, 73, 74, 74, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 75, 75, 4, + 4, 4, 4, 76, 76, 5, 5, 5, 5, 77, + 77, 6, 6, 6, 6, 53, 53, 78, 78, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 95, 95, 61, 61, 96, 96, 97, - 97, 62, 93, 93, 58, 51, 52, 118, 118, 119, - 119, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 105, 105, 101, 101, 106, 106, 109, 109, 108, - 108, 108, 57, 57, 59, 59, 60, 60, 94, 94, - 116, 116, 116, 116, 91, 91, 91, 121, 121, 56, - 56, 87, 87, 88, 88, 54, 54, 55, 55, 98, - 98, 99, 99, 66, 66, 65, 65, 65, 65, 115, - 115, 115, 122, 122, 123, 123, 123, 123, 78, 78, - 27, 27, 27, 79, 79, 79, 79, 100, 100, 69, + 26, 26, 26, 96, 96, 61, 61, 97, 97, 98, + 98, 62, 94, 94, 58, 51, 52, 120, 120, 121, + 121, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 106, 106, 102, 102, 107, 107, 111, 111, 110, + 110, 110, 57, 57, 59, 59, 60, 60, 95, 95, + 118, 118, 118, 118, 92, 92, 92, 123, 123, 56, + 56, 88, 88, 89, 89, 54, 54, 55, 55, 99, + 99, 100, 100, 66, 66, 65, 65, 65, 65, 117, + 117, 117, 108, 108, 72, 72, 72, 72, 79, 79, + 27, 27, 27, 80, 80, 80, 80, 101, 101, 69, 69, 69, 69, 71, 124, 124, 125, 125, 126, 126, 127, 127, 128, 128, 129, 132, 132, 133, 133, 131, - 130, 130, 134, 134, 117, 117, 102, 102, 103, 103, - 136, 136, 135, 135, 135, 135, 135, 135, 104, 104, - 104, 104, 70, 70, 92, 92, 90, 90, 89, 89, + 130, 130, 134, 134, 119, 119, 103, 103, 104, 104, + 136, 136, 135, 135, 135, 135, 135, 135, 105, 105, + 105, 105, 70, 70, 93, 93, 91, 91, 90, 90, 137, 137, 139, 139, 141, 140, 140, 140, 142, 143, 142, 42, 15, 15, 15, 144, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1587,11 +1587,11 @@ var yyR1 = [...]int{ 149, 15, 150, 151, 15, 152, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 153, 15, 15, 15, 15, 15, 15, 15, 155, 15, 156, 15, 50, 50, - 50, 50, 47, 47, 47, 47, 46, 46, 1, 86, - 86, 85, 85, 85, 85, 23, 23, 23, 23, 23, + 50, 50, 47, 47, 47, 47, 46, 46, 1, 87, + 87, 86, 86, 86, 86, 23, 23, 23, 23, 23, 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, - 43, 43, 41, 41, 112, 112, 113, 49, 49, 49, - 154, 154, 154, 114, 114, 7, 7, 7, 7, 7, + 43, 43, 41, 41, 114, 114, 115, 49, 49, 49, + 154, 154, 154, 116, 116, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 28, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, @@ -1603,11 +1603,11 @@ var yyR1 = [...]int{ 163, 163, 164, 138, 165, 165, 167, 166, 162, 162, 162, 40, 40, 44, 44, 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, 10, 9, 9, 13, - 13, 110, 110, 111, 111, 111, 39, 39, 107, 107, - 84, 84, 38, 38, 38, 83, 83, 82, 82, 82, - 82, 82, 82, 82, 82, 80, 80, 80, 80, 33, + 13, 112, 112, 113, 113, 113, 39, 39, 109, 109, + 85, 85, 38, 38, 38, 84, 84, 83, 83, 83, + 83, 83, 83, 83, 83, 81, 81, 81, 81, 33, 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, - 37, 37, 37, 37, 37, 37, 81, 81, 36, 36, + 37, 37, 37, 37, 37, 37, 82, 82, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1669,7 +1669,7 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -120, -72, -3, -25, -51, -52, 51, 79, 44, + -1000, -122, -73, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1679,100 +1679,100 @@ var yyChk = [...]int{ 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, - -30, -73, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -107, -44, -12, -40, -9, 134, - 12, 123, -73, 119, 82, 10, -74, 37, 38, -4, - -73, 82, 121, 135, 122, 10, -77, -48, 123, -48, + -30, -74, 82, -11, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -10, -109, -44, -12, -40, -9, 134, + 12, 123, -74, 119, 82, 10, -75, 37, 38, -4, + -74, 82, 121, 135, 122, 10, -78, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, - -14, 121, -15, -19, -14, 121, -78, -27, 12, 134, - -79, -1, 12, -92, -14, 121, 149, 150, 87, 89, + -14, 121, -15, -19, -14, 121, -79, -27, 12, 134, + -80, -1, 12, -93, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -118, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -120, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -14, 104, 105, -18, -19, -73, 79, 82, + 147, 123, -14, 104, 105, -18, -19, -74, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -153, 125, 125, -154, 17, -80, -33, 12, 76, - 77, -14, 57, -43, -11, -41, -73, 79, 82, -21, - -10, -107, -12, 123, 123, -14, -14, 123, -14, -14, - 125, -80, 17, 17, 75, -80, 125, 123, -83, -82, - -14, 128, 125, 125, 82, -115, 123, -73, 78, 125, - 119, -10, 134, 78, -115, 119, 124, 121, 119, -72, - -73, 121, 135, -75, -5, -73, 82, -76, -6, -73, - 82, 29, -73, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -118, -90, -89, - -14, -116, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -118, 136, 121, 135, -145, + -48, -153, 125, 125, -154, 17, -81, -33, 12, 76, + 77, -14, 57, -43, -11, -41, -74, 79, 82, -21, + -10, -109, -12, 123, 123, -14, -14, 123, -14, -14, + 125, -81, 17, 17, 75, -81, 125, 123, -84, -83, + -14, 128, 125, 125, 82, -117, 123, -74, 78, 125, + 119, -10, 134, 78, -117, 119, 124, 121, 119, -73, + -74, 121, 135, -76, -5, -74, 82, -77, -6, -74, + 82, 29, -74, 10, 136, -24, 120, -25, -51, -52, + 51, -25, 122, -56, -25, 122, 21, -120, -91, -90, + -14, -118, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -120, 136, 121, 135, -145, -146, -147, -148, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -150, 122, -93, -58, -19, - -19, -15, -94, 10, -77, 121, 121, 10, -155, -68, - 55, -105, 55, 58, -14, 128, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -84, -38, - -19, 59, 82, -73, 78, 78, 124, 124, 124, 124, + -14, -14, -14, -14, -43, -150, 122, -94, -58, -19, + -19, -15, -95, 10, -78, 121, 121, 10, -155, -68, + 55, -106, 55, 58, -14, 128, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -85, -38, + -19, 59, 82, -74, 78, 78, 124, 124, 124, 124, -14, -13, -14, -13, 118, -33, -33, 17, 125, 57, - -14, 11, -19, -110, -111, -40, -39, -10, -107, 10, - 119, -114, -115, 78, 82, -73, 57, -10, 78, -81, + -14, 11, -19, -112, -113, -40, -39, -10, -109, 10, + 119, -116, -117, 78, 82, -74, 57, -10, 78, -82, -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, - -13, -83, 126, -161, 135, 58, -17, -19, -13, -13, - 10, 124, -122, -50, -123, -15, -19, 128, 83, -115, + -13, -84, 126, -161, 135, 58, -17, -19, -13, -13, + 10, 124, -108, -50, -72, -15, -19, 128, 83, -117, -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, - 121, -72, 120, -115, -4, 121, 135, 29, -73, 121, - 135, 29, -73, 10, 29, 136, -28, -157, -7, -31, - -73, 79, 82, 60, 125, -8, 62, -159, 18, 74, - -11, 131, 132, 130, 129, 123, 123, -87, -77, -77, - -48, 121, 135, -91, 121, -91, 121, -27, -14, 12, + 121, -73, 120, -117, -4, 121, 135, 29, -74, 121, + 135, 29, -74, 10, 29, 136, -28, -157, -7, -31, + -74, 79, 82, 60, 125, -8, 62, -159, 18, 74, + -11, 131, 132, 130, 129, 123, 123, -88, -78, -78, + -48, 121, 135, -92, 121, -92, 121, -27, -14, 12, -156, -28, -14, -14, -14, -14, -14, -14, -152, 124, - 135, 29, 29, 124, 135, 136, 120, 123, 123, -101, - 56, -45, -73, 79, 82, 119, -106, -45, -15, -19, - -19, 91, 124, 135, 123, -73, -149, 126, 126, -34, + 135, 29, 29, 124, 135, 136, 120, 123, 123, -102, + 56, -45, -74, 79, 82, 119, -107, -45, -15, -19, + -19, 91, 124, 135, 123, -74, -149, 126, 126, -34, 10, 13, 12, 10, 120, 125, 120, -162, -166, -165, - -167, 125, 119, -10, -14, -40, -73, -110, -40, 124, + -167, 125, 119, -10, -14, -40, -74, -112, -40, 124, 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, - 128, 126, 126, 124, 135, 124, -17, -14, -115, -115, - 126, 120, -115, -115, 120, 120, -5, 10, 29, -6, + 128, 126, 126, 124, 135, 124, -17, -14, -117, -117, + 126, 120, -117, -117, 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -73, 123, -158, -160, -157, 17, 78, -157, - -157, -157, -157, -157, 124, -54, 93, 94, -88, 22, - 121, -90, -14, 120, 32, 33, -91, 31, -91, 120, - 136, 123, 122, -14, 121, -58, -108, -19, 128, 59, - -108, -60, -25, 122, 10, -28, -95, 41, -98, -99, - -66, -65, 60, 61, -45, -98, 119, -106, 82, -73, - -100, 135, -43, 136, -38, -84, -142, -143, 126, -14, - -163, 125, 125, -115, -13, -14, 120, -112, -36, 58, - -17, -17, -123, 10, 10, -157, -157, -157, -157, -157, + 127, 82, -74, 123, -158, -160, -157, 17, 78, -157, + -157, -157, -157, -157, 124, -54, 93, 94, -89, 22, + 121, -91, -14, 120, 32, 33, -92, 31, -92, 120, + 136, 123, 122, -14, 121, -58, -110, -19, 128, 59, + -110, -60, -25, 122, 10, -28, -96, 41, -99, -100, + -66, -65, 60, 61, -45, -99, 119, -107, 82, -74, + -101, 135, -43, 136, -38, -85, -142, -143, 126, -14, + -163, 125, 125, -117, -13, -14, 120, -114, -36, 58, + -17, -17, -72, 10, 10, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, 122, -157, -73, -158, 126, -161, 135, 58, 10, + -157, 122, -157, -74, -158, 126, -161, 135, 58, 10, 52, 124, 121, -48, -25, -55, 93, 94, 121, 121, - -14, -121, 122, 121, 120, 121, 31, -28, -98, -151, - -109, 58, -19, 123, -109, -77, 136, -61, 42, 123, - 124, 135, -118, 124, -100, -73, 120, -69, -102, -70, - -71, -103, -136, 47, 38, 44, -135, 103, 102, 101, + -14, -123, 122, 121, 120, 121, 31, -28, -99, -151, + -111, 58, -19, 123, -111, -78, 136, -61, 42, 123, + 124, 135, -120, 124, -101, -74, 120, -69, -103, -70, + -71, -104, -136, 47, 38, 44, -135, 103, 102, 101, 98, 99, 100, -45, -144, -14, 124, -140, -139, -137, - 125, -138, 57, 126, -138, -13, -13, 126, 120, -113, + 125, -138, 57, 126, -138, -13, -13, 126, 120, -115, 57, -14, 128, 126, -157, 122, 124, -157, -157, -25, - 95, -48, 122, -90, -121, -77, 121, 124, -14, 124, - -108, -84, 124, 28, -28, 119, -45, 119, -66, -119, - 83, -86, 44, 120, -104, 12, 121, 135, -1, -135, - 10, -124, -45, -114, 125, -141, -138, -13, -110, 120, - 126, 126, -110, -17, -157, 58, 121, 122, -77, 124, - -77, -86, -59, -25, 122, 124, -59, 121, -77, 12, - -77, 12, 119, 123, 121, 135, 136, 10, -118, 136, - -125, 135, 121, 119, -13, -137, 126, -164, -157, -77, - -57, -25, 122, 119, -77, 120, 124, 120, 136, -77, - -85, 12, 128, 12, -28, 136, 10, -28, -45, -126, + 95, -48, 122, -91, -123, -78, 121, 124, -14, 124, + -110, -85, 124, 28, -28, 119, -45, 119, -66, -121, + 83, -87, 44, 120, -105, 12, 121, 135, -1, -135, + 10, -124, -45, -116, 125, -141, -138, -13, -112, 120, + 126, 126, -112, -17, -157, 58, 121, 122, -78, 124, + -78, -87, -59, -25, 122, 124, -59, 121, -78, 12, + -78, 12, 119, 123, 121, 135, 136, 10, -120, 136, + -125, 135, 121, 119, -13, -137, 126, -164, -157, -78, + -57, -25, 122, 119, -78, 120, 124, 120, 136, -78, + -86, 12, 128, 12, -28, 136, 10, -28, -45, -126, -127, -128, -129, -130, -131, -133, -45, 10, 126, -162, - -77, -77, 26, 119, -28, 120, 124, 135, 12, 136, + -78, -78, 26, 119, -28, 120, 124, 135, 12, 136, -28, 123, 120, -128, 121, 121, 45, 29, 78, 24, - 120, 121, -77, 12, 128, -28, -98, -132, -45, -134, - -135, 10, 121, 120, 12, 124, 135, 10, -96, -97, - -62, 41, -117, 121, 119, -45, -62, 123, -77, -45, - 120, 12, 124, 119, -77, 120, + 120, 121, -78, 12, 128, -28, -99, -132, -45, -134, + -135, 10, 121, 120, 12, 124, 135, 10, -97, -98, + -62, 41, -119, 121, 119, -45, -62, 123, -78, -45, + 120, 12, 124, 119, -78, 120, } var yyDef = [...]int{ @@ -3545,49 +3545,79 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1262 + //line php5/php5.y:1263 { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1263 + //line php5/php5.y:1265 { + arg := node.NewArgument(yyDollar[2].node, false, false) + positions.AddPosition(arg, positionBuilder.NewNodePosition(yyDollar[2].node)) + comments.AddComments(arg, comments[yyDollar[2].node]) + + yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{arg}, yyDollar[3].token} + } + case 152: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1277 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 153: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1279 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1273 + //line php5/php5.y:1284 { + yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1274 + //line php5/php5.y:1290 { + yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 156: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1275 + //line php5/php5.y:1296 { + yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 157: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1276 + //line php5/php5.y:1302 { + yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1311 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1283 + //line php5/php5.y:1313 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1289 + //line php5/php5.y:1319 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3599,7 +3629,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1329 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3607,7 +3637,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1335 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3615,7 +3645,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1315 + //line php5/php5.y:1345 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3634,7 +3664,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1362 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3653,7 +3683,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1349 + //line php5/php5.y:1379 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3672,7 +3702,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1366 + //line php5/php5.y:1396 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3691,19 +3721,19 @@ yydefault: } case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1388 + //line php5/php5.y:1418 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 168: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1390 + //line php5/php5.y:1420 { yyVAL.list = []node.Node{} } case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1396 + //line php5/php5.y:1426 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3711,19 +3741,19 @@ yydefault: } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1402 + //line php5/php5.y:1432 { yyVAL.node = yyDollar[1].node } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1404 + //line php5/php5.y:1434 { yyVAL.node = yyDollar[1].node } case 172: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1406 + //line php5/php5.y:1436 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3735,263 +3765,263 @@ yydefault: } case 173: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1419 + //line php5/php5.y:1449 { } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1453 { } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1424 + //line php5/php5.y:1454 { } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1448 + //line php5/php5.y:1478 { } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1452 + //line php5/php5.y:1482 { } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1453 + //line php5/php5.y:1483 { } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1457 + //line php5/php5.y:1487 { } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1458 + //line php5/php5.y:1488 { } case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1462 + //line php5/php5.y:1492 { } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1466 + //line php5/php5.y:1496 { } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1467 + //line php5/php5.y:1497 { } case 192: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1471 + //line php5/php5.y:1501 { } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1472 + //line php5/php5.y:1502 { } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1506 { } case 195: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1477 + //line php5/php5.y:1507 { } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1481 + //line php5/php5.y:1511 { } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1512 { } case 198: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1486 + //line php5/php5.y:1516 { } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1487 + //line php5/php5.y:1517 { } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1491 + //line php5/php5.y:1521 { } case 201: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1492 + //line php5/php5.y:1522 { } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:1526 { } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1497 + //line php5/php5.y:1527 { } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1498 + //line php5/php5.y:1528 { } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1499 + //line php5/php5.y:1529 { } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1500 + //line php5/php5.y:1530 { } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1501 + //line php5/php5.y:1531 { } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1505 + //line php5/php5.y:1535 { } case 209: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1506 + //line php5/php5.y:1536 { } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1507 + //line php5/php5.y:1537 { } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1508 + //line php5/php5.y:1538 { } case 212: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1512 + //line php5/php5.y:1542 { } case 213: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1513 + //line php5/php5.y:1543 { } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1518 + //line php5/php5.y:1548 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1520 + //line php5/php5.y:1550 { yyVAL.list = []node.Node{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1526 + //line php5/php5.y:1556 { yyVAL.list = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1528 + //line php5/php5.y:1558 { yyVAL.list = yyDollar[1].list } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1533 + //line php5/php5.y:1563 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1535 + //line php5/php5.y:1565 { yyVAL.list = []node.Node{yyDollar[1].node} } case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1569 { } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1570 { } case 222: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1544 + //line php5/php5.y:1574 { } case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1545 + //line php5/php5.y:1575 { } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1579 { } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1549 + //line php5/php5.y:1579 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1550 + //line php5/php5.y:1580 { } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1551 + //line php5/php5.y:1581 { } case 228: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1555 + //line php5/php5.y:1585 { } case 229: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1586 { } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1557 + //line php5/php5.y:1587 { } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1562 + //line php5/php5.y:1592 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4005,7 +4035,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1577 + //line php5/php5.y:1607 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4017,454 +4047,454 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1586 + //line php5/php5.y:1616 { } case 234: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1587 + //line php5/php5.y:1617 { } case 235: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1588 + //line php5/php5.y:1618 { } case 236: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1588 + //line php5/php5.y:1618 { } case 237: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1589 + //line php5/php5.y:1619 { } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1620 { } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1591 + //line php5/php5.y:1621 { } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1592 + //line php5/php5.y:1622 { } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1593 + //line php5/php5.y:1623 { } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1594 + //line php5/php5.y:1624 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1595 + //line php5/php5.y:1625 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1596 + //line php5/php5.y:1626 { } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1597 + //line php5/php5.y:1627 { } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1598 + //line php5/php5.y:1628 { } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1599 + //line php5/php5.y:1629 { } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1600 + //line php5/php5.y:1630 { } case 249: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1631 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1602 + //line php5/php5.y:1632 { } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1603 + //line php5/php5.y:1633 { } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1604 + //line php5/php5.y:1634 { } case 253: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1605 + //line php5/php5.y:1635 { } case 254: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1606 + //line php5/php5.y:1636 { } case 255: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1606 + //line php5/php5.y:1636 { } case 256: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1607 + //line php5/php5.y:1637 { } case 257: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1607 + //line php5/php5.y:1637 { } case 258: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1608 + //line php5/php5.y:1638 { } case 259: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1608 + //line php5/php5.y:1638 { } case 260: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1609 + //line php5/php5.y:1639 { } case 261: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1609 + //line php5/php5.y:1639 { } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1610 + //line php5/php5.y:1640 { } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1611 + //line php5/php5.y:1641 { } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1612 + //line php5/php5.y:1642 { } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1613 + //line php5/php5.y:1643 { } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1614 + //line php5/php5.y:1644 { } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1615 + //line php5/php5.y:1645 { } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1616 + //line php5/php5.y:1646 { } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1617 + //line php5/php5.y:1647 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1648 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1619 + //line php5/php5.y:1649 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1620 + //line php5/php5.y:1650 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1621 + //line php5/php5.y:1651 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1622 + //line php5/php5.y:1652 { } case 275: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1623 + //line php5/php5.y:1653 { } case 276: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1624 + //line php5/php5.y:1654 { } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1625 + //line php5/php5.y:1655 { } case 278: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1626 + //line php5/php5.y:1656 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1627 + //line php5/php5.y:1657 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1658 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1629 + //line php5/php5.y:1659 { } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1660 { } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1631 + //line php5/php5.y:1661 { } case 284: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1632 + //line php5/php5.y:1662 { } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1633 + //line php5/php5.y:1663 { } case 286: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1634 + //line php5/php5.y:1664 { } case 287: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1635 + //line php5/php5.y:1665 { } case 288: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1636 + //line php5/php5.y:1666 { } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1638 + //line php5/php5.y:1668 { yyVAL.node = yyDollar[1].node } case 290: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1639 + //line php5/php5.y:1669 { } case 291: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1639 + //line php5/php5.y:1669 { } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1640 + //line php5/php5.y:1670 { } case 293: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1641 + //line php5/php5.y:1671 { } case 294: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1642 + //line php5/php5.y:1672 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1643 + //line php5/php5.y:1673 { } case 296: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1644 + //line php5/php5.y:1674 { } case 297: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1645 + //line php5/php5.y:1675 { } case 298: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1646 + //line php5/php5.y:1676 { } case 299: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1647 + //line php5/php5.y:1677 { } case 300: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1648 + //line php5/php5.y:1678 { } case 301: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1649 + //line php5/php5.y:1679 { } case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1650 + //line php5/php5.y:1680 { } case 303: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1651 + //line php5/php5.y:1681 { } case 304: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:1682 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1653 + //line php5/php5.y:1683 { } case 306: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1654 + //line php5/php5.y:1684 { } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1654 + //line php5/php5.y:1684 { } case 308: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1655 + //line php5/php5.y:1685 { yyVAL.node = yyDollar[1].node } case 309: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1656 + //line php5/php5.y:1686 { } case 310: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1657 + //line php5/php5.y:1687 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1658 + //line php5/php5.y:1688 { } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1689 { } case 313: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1660 + //line php5/php5.y:1690 { } case 314: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1661 + //line php5/php5.y:1691 { } case 315: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1663 + //line php5/php5.y:1693 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1664 + //line php5/php5.y:1694 { } case 317: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1666 + //line php5/php5.y:1696 { } case 318: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1670 + //line php5/php5.y:1700 { } case 319: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1701 { } case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1672 + //line php5/php5.y:1702 { } case 321: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1673 + //line php5/php5.y:1703 { } case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1678 + //line php5/php5.y:1708 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4472,7 +4502,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1684 + //line php5/php5.y:1714 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4480,7 +4510,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1720 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4492,7 +4522,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1700 + //line php5/php5.y:1730 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4500,7 +4530,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1709 + //line php5/php5.y:1739 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4508,7 +4538,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1715 + //line php5/php5.y:1745 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4516,25 +4546,25 @@ yydefault: } case 328: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1724 + //line php5/php5.y:1754 { yyVAL.token = yyDollar[1].token } case 329: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1729 + //line php5/php5.y:1759 { yyVAL.list = []node.Node{} } case 330: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1731 + //line php5/php5.y:1761 { yyVAL.list = yyDollar[3].list } case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1736 + //line php5/php5.y:1766 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4552,7 +4582,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1752 + //line php5/php5.y:1782 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4570,7 +4600,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1798 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4588,7 +4618,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1784 + //line php5/php5.y:1814 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4606,47 +4636,83 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1802 + //line php5/php5.y:1833 { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + + yyVAL.node = expr.NewFunctionCall(name, yyDollar[2].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(name, yyDollar[2].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[name]) } case 336: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1803 + //line php5/php5.y:1843 { + funcName := name.NewRelative(yyDollar[3].list) + positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(funcName, yyDollar[1].token.Comments()) + + yyVAL.node = expr.NewFunctionCall(funcName, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[funcName]) } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1804 + //line php5/php5.y:1853 { + funcName := name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(funcName, yyDollar[1].token.Comments()) + + yyVAL.node = expr.NewFunctionCall(funcName, yyDollar[3].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[3].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[funcName]) } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1805 + //line php5/php5.y:1863 { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 339: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1806 + //line php5/php5.y:1869 { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 340: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1807 + //line php5/php5.y:1875 { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 341: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1808 + //line php5/php5.y:1881 { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1809 + //line php5/php5.y:1887 { + yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 343: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1814 + //line php5/php5.y:1896 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4654,7 +4720,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1820 + //line php5/php5.y:1902 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4662,7 +4728,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1826 + //line php5/php5.y:1908 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4670,7 +4736,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1832 + //line php5/php5.y:1914 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4678,7 +4744,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1841 + //line php5/php5.y:1923 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4686,7 +4752,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1847 + //line php5/php5.y:1929 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4694,7 +4760,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1853 + //line php5/php5.y:1935 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4702,19 +4768,19 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1862 + //line php5/php5.y:1944 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1864 + //line php5/php5.y:1946 { yyVAL.node = yyDollar[1].node } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1869 + //line php5/php5.y:1951 { yyVAL.node = yyDollar[1].node @@ -4746,76 +4812,76 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1899 + //line php5/php5.y:1981 { yyVAL.node = yyDollar[1].node } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1905 + //line php5/php5.y:1987 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } case 355: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1907 + //line php5/php5.y:1989 { yyVAL.objectPropertyList = []objectProperty{} } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1913 + //line php5/php5.y:1995 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } case 357: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1918 + //line php5/php5.y:2000 { yyVAL.node = nil } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1920 + //line php5/php5.y:2002 { yyVAL.node = nil } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1922 + //line php5/php5.y:2004 { yyVAL.node = yyDollar[1].node } case 360: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1926 + //line php5/php5.y:2008 { } case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1927 + //line php5/php5.y:2009 { } case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1928 + //line php5/php5.y:2010 { } case 363: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1933 + //line php5/php5.y:2015 { yyVAL.nodesWithEndToken = nil } case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:2017 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1940 + //line php5/php5.y:2022 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4823,7 +4889,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1946 + //line php5/php5.y:2028 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4831,7 +4897,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1952 + //line php5/php5.y:2034 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4839,7 +4905,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1958 + //line php5/php5.y:2040 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4847,7 +4913,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1964 + //line php5/php5.y:2046 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4855,7 +4921,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1970 + //line php5/php5.y:2052 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4863,7 +4929,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1976 + //line php5/php5.y:2058 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4871,7 +4937,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1982 + //line php5/php5.y:2064 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4879,7 +4945,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:2070 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4887,7 +4953,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1994 + //line php5/php5.y:2076 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4895,7 +4961,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2000 + //line php5/php5.y:2082 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -4903,7 +4969,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2005 + //line php5/php5.y:2087 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -4911,7 +4977,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2014 + //line php5/php5.y:2096 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4923,233 +4989,233 @@ yydefault: } case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2026 + //line php5/php5.y:2108 { } case 379: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2030 + //line php5/php5.y:2112 { } case 380: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2031 + //line php5/php5.y:2113 { } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2032 + //line php5/php5.y:2114 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2033 + //line php5/php5.y:2115 { } case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2034 + //line php5/php5.y:2116 { } case 384: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2035 + //line php5/php5.y:2117 { } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2036 + //line php5/php5.y:2118 { } case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2037 + //line php5/php5.y:2119 { } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2038 + //line php5/php5.y:2120 { } case 388: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2039 + //line php5/php5.y:2121 { } case 389: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2043 + //line php5/php5.y:2125 { } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2044 + //line php5/php5.y:2126 { } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2045 + //line php5/php5.y:2127 { } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2046 + //line php5/php5.y:2128 { } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2047 + //line php5/php5.y:2129 { } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2048 + //line php5/php5.y:2130 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2049 + //line php5/php5.y:2131 { } case 396: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2050 + //line php5/php5.y:2132 { } case 397: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2051 + //line php5/php5.y:2133 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2052 + //line php5/php5.y:2134 { } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2053 + //line php5/php5.y:2135 { } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2054 + //line php5/php5.y:2136 { } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2055 + //line php5/php5.y:2137 { } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2056 + //line php5/php5.y:2138 { } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2057 + //line php5/php5.y:2139 { } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2058 + //line php5/php5.y:2140 { } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2059 + //line php5/php5.y:2141 { } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2060 + //line php5/php5.y:2142 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2061 + //line php5/php5.y:2143 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2062 + //line php5/php5.y:2144 { } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2063 + //line php5/php5.y:2145 { } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2064 + //line php5/php5.y:2146 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2065 + //line php5/php5.y:2147 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2066 + //line php5/php5.y:2148 { } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2067 + //line php5/php5.y:2149 { } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2068 + //line php5/php5.y:2150 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2069 + //line php5/php5.y:2151 { } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2070 + //line php5/php5.y:2152 { } case 417: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2071 + //line php5/php5.y:2153 { } case 418: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2072 + //line php5/php5.y:2154 { } case 419: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2073 + //line php5/php5.y:2155 { } case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2074 + //line php5/php5.y:2156 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2075 + //line php5/php5.y:2157 { } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2080 + //line php5/php5.y:2162 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2082 + //line php5/php5.y:2164 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5157,7 +5223,7 @@ yydefault: } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2088 + //line php5/php5.y:2170 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5165,7 +5231,7 @@ yydefault: } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2094 + //line php5/php5.y:2176 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5173,7 +5239,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2103 + //line php5/php5.y:2185 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5185,25 +5251,25 @@ yydefault: } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2113 + //line php5/php5.y:2195 { yyVAL.node = yyDollar[1].node } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2115 + //line php5/php5.y:2197 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2117 + //line php5/php5.y:2199 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2119 + //line php5/php5.y:2201 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5211,7 +5277,7 @@ yydefault: } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2125 + //line php5/php5.y:2207 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5219,7 +5285,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2131 + //line php5/php5.y:2213 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5227,151 +5293,151 @@ yydefault: } case 433: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2139 + //line php5/php5.y:2221 { } case 434: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2140 + //line php5/php5.y:2222 { } case 437: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2149 + //line php5/php5.y:2231 { } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2150 + //line php5/php5.y:2232 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2151 + //line php5/php5.y:2233 { } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2152 + //line php5/php5.y:2234 { } case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2157 + //line php5/php5.y:2239 { yyVAL.node = yyDollar[1].node } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2159 + //line php5/php5.y:2241 { yyVAL.node = yyDollar[1].node } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2164 + //line php5/php5.y:2246 { yyVAL.node = yyDollar[2].node } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2166 + //line php5/php5.y:2248 { yyVAL.node = yyDollar[2].node } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2172 + //line php5/php5.y:2254 { yyVAL.node = yyDollar[1].node } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2180 + //line php5/php5.y:2262 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2187 + //line php5/php5.y:2269 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2194 + //line php5/php5.y:2276 { } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2196 + //line php5/php5.y:2278 { yyVAL.node = yyDollar[1].node } case 450: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2200 + //line php5/php5.y:2282 { } case 451: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2201 + //line php5/php5.y:2283 { } case 452: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2206 + //line php5/php5.y:2288 { } case 453: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2206 + //line php5/php5.y:2288 { } case 454: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2210 + //line php5/php5.y:2292 { } case 455: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2211 + //line php5/php5.y:2293 { } case 456: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2215 + //line php5/php5.y:2297 { } case 457: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2216 + //line php5/php5.y:2298 { } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2220 + //line php5/php5.y:2302 { } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2221 + //line php5/php5.y:2303 { } case 460: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2222 + //line php5/php5.y:2304 { } case 461: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2227 + //line php5/php5.y:2309 { yyVAL.node = yyDollar[1].node } case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2229 + //line php5/php5.y:2311 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5383,7 +5449,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2242 + //line php5/php5.y:2324 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5391,7 +5457,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2248 + //line php5/php5.y:2330 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5399,47 +5465,47 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2258 + //line php5/php5.y:2340 { yyVAL.node = yyDollar[1].node } case 466: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2263 + //line php5/php5.y:2345 { } case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2265 + //line php5/php5.y:2347 { } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2269 + //line php5/php5.y:2351 { yyVAL.node = yyDollar[1].node } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2270 + //line php5/php5.y:2352 { yyVAL.node = yyDollar[1].node } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2271 + //line php5/php5.y:2353 { yyVAL.node = yyDollar[1].node } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2277 + //line php5/php5.y:2359 { yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2279 + //line php5/php5.y:2361 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5451,13 +5517,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2371 { yyVAL.node = yyDollar[1].node } case 474: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2294 + //line php5/php5.y:2376 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5465,7 +5531,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2300 + //line php5/php5.y:2382 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5473,13 +5539,13 @@ yydefault: } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2306 + //line php5/php5.y:2388 { yyVAL.node = yyDollar[1].node } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2312 + //line php5/php5.y:2394 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5491,7 +5557,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2322 + //line php5/php5.y:2404 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5499,53 +5565,53 @@ yydefault: } case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2330 + //line php5/php5.y:2412 { yyVAL.node = nil } case 480: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2331 + //line php5/php5.y:2413 { yyVAL.node = yyDollar[1].node } case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2337 + //line php5/php5.y:2419 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2339 + //line php5/php5.y:2421 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 483: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2347 + //line php5/php5.y:2429 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2352 + //line php5/php5.y:2434 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2357 + //line php5/php5.y:2439 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2365 + //line php5/php5.y:2447 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5553,13 +5619,13 @@ yydefault: } case 487: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2371 + //line php5/php5.y:2453 { yyVAL.node = yyDollar[2].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2376 + //line php5/php5.y:2458 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5569,7 +5635,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2384 + //line php5/php5.y:2466 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5583,25 +5649,25 @@ yydefault: } case 490: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2399 + //line php5/php5.y:2481 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2401 + //line php5/php5.y:2483 { yyVAL.list = []node.Node{yyDollar[1].node} } case 492: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2407 + //line php5/php5.y:2489 { yyVAL.node = yyDollar[1].node } case 493: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2409 + //line php5/php5.y:2491 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5609,25 +5675,25 @@ yydefault: } case 494: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2415 + //line php5/php5.y:2497 { yyVAL.node = nil } case 495: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2421 + //line php5/php5.y:2503 { yyVAL.list = nil } case 496: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2423 + //line php5/php5.y:2505 { yyVAL.list = yyDollar[1].list } case 497: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2428 + //line php5/php5.y:2510 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5637,7 +5703,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2436 + //line php5/php5.y:2518 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5647,7 +5713,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2444 + //line php5/php5.y:2526 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5657,7 +5723,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2452 + //line php5/php5.y:2534 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5667,7 +5733,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2460 + //line php5/php5.y:2542 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5677,7 +5743,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2468 + //line php5/php5.y:2550 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5687,7 +5753,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2476 + //line php5/php5.y:2558 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5697,7 +5763,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2484 + //line php5/php5.y:2566 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5707,13 +5773,13 @@ yydefault: } case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2495 + //line php5/php5.y:2577 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2497 + //line php5/php5.y:2579 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5722,13 +5788,13 @@ yydefault: } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2504 + //line php5/php5.y:2586 { yyVAL.list = []node.Node{yyDollar[1].node} } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2506 + //line php5/php5.y:2588 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5737,7 +5803,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2516 + //line php5/php5.y:2598 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5749,7 +5815,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2526 + //line php5/php5.y:2608 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5764,7 +5830,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2539 + //line php5/php5.y:2621 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5782,7 +5848,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2555 + //line php5/php5.y:2637 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5790,7 +5856,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2561 + //line php5/php5.y:2643 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5805,13 +5871,13 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2575 + //line php5/php5.y:2657 { yyVAL.node = yyDollar[2].node } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2580 + //line php5/php5.y:2662 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5819,7 +5885,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2586 + //line php5/php5.y:2668 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5833,7 +5899,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2598 + //line php5/php5.y:2680 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5845,7 +5911,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2611 + //line php5/php5.y:2693 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5853,7 +5919,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2617 + //line php5/php5.y:2699 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5861,7 +5927,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2623 + //line php5/php5.y:2705 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5869,7 +5935,7 @@ yydefault: } case 521: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2629 + //line php5/php5.y:2711 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5877,7 +5943,7 @@ yydefault: } case 522: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2635 + //line php5/php5.y:2717 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5885,7 +5951,7 @@ yydefault: } case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2641 + //line php5/php5.y:2723 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5893,7 +5959,7 @@ yydefault: } case 524: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2647 + //line php5/php5.y:2729 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5901,7 +5967,7 @@ yydefault: } case 525: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2653 + //line php5/php5.y:2735 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5909,31 +5975,31 @@ yydefault: } case 526: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2662 + //line php5/php5.y:2744 { yyVAL.list = []node.Node{yyDollar[1].node} } case 527: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2664 + //line php5/php5.y:2746 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2668 + //line php5/php5.y:2750 { yyVAL.node = yyDollar[1].node } case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2669 + //line php5/php5.y:2751 { yyVAL.node = yyDollar[1].node } case 530: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2674 + //line php5/php5.y:2756 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5945,7 +6011,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2684 + //line php5/php5.y:2766 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5957,7 +6023,7 @@ yydefault: } case 532: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2697 + //line php5/php5.y:2779 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5969,7 +6035,7 @@ yydefault: } case 533: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2710 + //line php5/php5.y:2792 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index d99dca8..2839cb2 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -208,7 +208,7 @@ import ( %type else_single new_else_single while_statement for_statement unset_variable foreach_statement declare_statement %type finally_statement additional_catch unticked_function_declaration_statement unticked_class_declaration_statement %type optional_class_type parameter class_entry_type extends_from class_statement class_constant_declaration -%type trait_use_statement +%type trait_use_statement function_call_parameter %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -216,7 +216,7 @@ import ( %type for_expr case_list echo_expr_list unset_variables declare_list catch_statement additional_catches %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list -%type interface_list +%type interface_list non_empty_function_call_parameter_list %type simple_indirect_reference @@ -1259,21 +1259,51 @@ optional_class_type: function_call_parameter_list: '(' ')' { $$ = &nodesWithEndToken{[]node.Node{}, $2} } - | '(' non_empty_function_call_parameter_list ')' { } - | '(' yield_expr ')' { } + | '(' non_empty_function_call_parameter_list ')' + { $$ = &nodesWithEndToken{$2, $3} } + | '(' yield_expr ')' + { + arg := node.NewArgument($2, false, false) + positions.AddPosition(arg, positionBuilder.NewNodePosition($2)) + comments.AddComments(arg, comments[$2]) + + $$ = &nodesWithEndToken{[]node.Node{arg}, $3} + } ; non_empty_function_call_parameter_list: function_call_parameter + { $$ = []node.Node{$1} } | non_empty_function_call_parameter_list ',' function_call_parameter + { $$ = append($1, $3) } ; function_call_parameter: - expr_without_variable { } - | variable { } - | '&' w_variable { } - | T_ELLIPSIS expr { } + expr_without_variable + { + $$ = node.NewArgument($1, false, false) + positions.AddPosition($$, positionBuilder.NewNodePosition($1)) + comments.AddComments($$, comments[$1]) + } + | variable + { + $$ = node.NewArgument($1, false, false) + positions.AddPosition($$, positionBuilder.NewNodePosition($1)) + comments.AddComments($$, comments[$1]) + } + | '&' w_variable + { + $$ = node.NewArgument($2, false, true) + positions.AddPosition($$, positionBuilder.NewNodePosition($2)) + comments.AddComments($$, $1.Comments()) + } + | T_ELLIPSIS expr + { + $$ = node.NewArgument($2, true, false) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } ; global_var_list: @@ -1799,14 +1829,66 @@ lexical_var_list: ; function_call: - namespace_name function_call_parameter_list { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name function_call_parameter_list { } - | T_NS_SEPARATOR namespace_name function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { } - | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { } - | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { } - | variable_without_objects function_call_parameter_list { } + namespace_name function_call_parameter_list + { + name := name.NewName($1) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) + comments.AddComments(name, ListGetFirstNodeComments($1)) + + $$ = expr.NewFunctionCall(name, $2.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition(name, $2.endToken)) + comments.AddComments($$, comments[name]) + } + | T_NAMESPACE T_NS_SEPARATOR namespace_name function_call_parameter_list + { + funcName := name.NewRelative($3) + positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments(funcName, $1.Comments()) + + $$ = expr.NewFunctionCall(funcName, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition(funcName, $4.endToken)) + comments.AddComments($$, comments[funcName]) + } + | T_NS_SEPARATOR namespace_name function_call_parameter_list + { + funcName := name.NewFullyQualified($2) + positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition($1, $2)) + comments.AddComments(funcName, $1.Comments()) + + $$ = expr.NewFunctionCall(funcName, $3.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition(funcName, $3.endToken)) + comments.AddComments($$, comments[funcName]) + } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list + { + $$ = expr.NewStaticCall($1, $3, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) + comments.AddComments($$, comments[$1]) + } + | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list + { + $$ = expr.NewStaticCall($1, $3, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) + comments.AddComments($$, comments[$1]) + } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list + { + $$ = expr.NewStaticCall($1, $3, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) + comments.AddComments($$, comments[$1]) + } + | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list + { + $$ = expr.NewStaticCall($1, $3, $4.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) + comments.AddComments($$, comments[$1]) + } + | variable_without_objects function_call_parameter_list + { + $$ = expr.NewFunctionCall($1, $2.nodes) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2.endToken)) + comments.AddComments($$, comments[$1]) + } ; class_name: diff --git a/php7/php7.go b/php7/php7.go index 4ce51ca..a825022 100644 --- a/php7/php7.go +++ b/php7/php7.go @@ -3660,7 +3660,7 @@ yydefault: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:1094 { - yyVAL.node = node.NewArgument(yyDollar[1].node, false) + yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } @@ -3668,7 +3668,7 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] //line php7/php7.y:1100 { - yyVAL.node = node.NewArgument(yyDollar[2].node, true) + yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } diff --git a/php7/php7.y b/php7/php7.y index bf1e871..280cbe2 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -1092,13 +1092,13 @@ non_empty_argument_list: argument: expr { - $$ = node.NewArgument($1, false) + $$ = node.NewArgument($1, false, false) positions.AddPosition($$, positionBuilder.NewNodePosition($1)) comments.AddComments($$, comments[$1]) } | T_ELLIPSIS expr { - $$ = node.NewArgument($2, true) + $$ = node.NewArgument($2, true, false) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } From 1ffa0fce5f6d7067e259939a1c47a485b4864f38 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 00:09:37 +0200 Subject: [PATCH 24/31] php5 syntax --- php5/php5.go | 1377 +++++++++++++++++++++++++++----------------------- php5/php5.y | 136 ++++- 2 files changed, 856 insertions(+), 657 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index a127d08..5f044b2 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2803 +//line php5/php5.y:2895 //line yacctab:1 var yyExca = [...]int{ @@ -681,14 +681,14 @@ var yyAct = [...]int{ 964, 550, 398, 967, 254, 954, 520, 251, 558, 517, 809, 572, 385, 959, 586, 993, 362, 361, 360, 976, 359, 844, 984, 737, 736, 905, 847, 848, 832, 990, - 520, 1009, 572, 980, 981, 1006, 975, 572, 259, 260, - 1010, 1007, 38, 974, 973, 1008, 972, 970, 969, 940, - 901, 1, 889, 1005, 1022, 341, 530, 572, 898, 191, - 859, 1026, 530, 530, 1002, 1025, 747, 444, 572, 482, - 401, 894, 831, 445, 828, 569, 1029, 719, 1019, 1018, - 716, 445, 392, 387, 163, 339, 230, 688, 230, 537, - 960, 530, 289, 459, 160, 156, 192, 172, 176, 175, - 317, 313, 38, 126, 830, 1028, 829, 827, 399, 39, + 520, 1, 572, 980, 981, 1006, 889, 572, 259, 260, + 1010, 940, 38, 1022, 341, 1008, 859, 747, 444, 1007, + 970, 969, 901, 1005, 482, 401, 530, 572, 898, 191, + 894, 1026, 530, 530, 1002, 1025, 831, 828, 572, 569, + 719, 1019, 1018, 445, 716, 392, 1029, 387, 163, 339, + 688, 445, 537, 960, 289, 459, 230, 160, 230, 156, + 317, 530, 313, 126, 1009, 975, 192, 172, 176, 175, + 974, 973, 38, 972, 830, 1028, 829, 827, 399, 39, 721, 14, 13, 817, 1034, 711, 950, 333, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 230, 795, 685, @@ -1542,41 +1542,41 @@ var yyPgo = [...]int{ 180, 1108, 723, 36, 1106, 8, 1104, 1103, 41, 1102, 58, 51, 42, 1101, 1099, 1098, 1077, 1076, 34, 24, 1075, 1073, 1, 1072, 1071, 1070, 17, 1069, 1068, 1067, - 1066, 1064, 52, 44, 0, 1063, 1061, 1060, 40, 1055, - 1054, 592, 1053, 1052, 50, 18, 1050, 28, 1049, 1047, - 1045, 25, 43, 1044, 1043, 1042, 1040, 1039, 1038, 3, - 1037, 19, 1035, 1034, 1032, 1031, 1030, 33, 1029, 93, - 14, 22, 7, 1027, 1026, 1020, 13, 30, 1015, 1014, - 15, 1012, 1011, 20, 1010, 1009, 1008, 1007, 4, 1006, - 1004, 1003, 1001, 996, 991, 2, 988, 12, 11, 987, + 1066, 1064, 52, 4, 1063, 1061, 1060, 1055, 1054, 2, + 44, 0, 1053, 1052, 1050, 40, 1049, 1047, 592, 1045, + 1044, 50, 18, 1043, 28, 1042, 1040, 1039, 25, 43, + 1038, 1037, 1035, 1034, 1032, 1031, 3, 1030, 19, 1029, + 1027, 1026, 1020, 1015, 33, 1014, 1012, 1011, 1010, 1009, + 93, 14, 22, 7, 1008, 1007, 1006, 13, 30, 1004, + 1003, 1001, 15, 996, 991, 20, 988, 12, 11, 987, 986, 985, 984, 983, 981, 980, 978, 977, 976, 974, 972, 970, 968, 967, 964, 962, 961, 969, 26, 956, 955, 21, 5, 941, 938, 936, 933, 932, } var yyR1 = [...]int{ - 0, 122, 73, 73, 74, 74, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 75, 75, 4, - 4, 4, 4, 76, 76, 5, 5, 5, 5, 77, - 77, 6, 6, 6, 6, 53, 53, 78, 78, 24, + 0, 134, 80, 80, 81, 81, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 82, 82, 4, + 4, 4, 4, 83, 83, 5, 5, 5, 5, 84, + 84, 6, 6, 6, 6, 53, 53, 85, 85, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 96, 96, 61, 61, 97, 97, 98, - 98, 62, 94, 94, 58, 51, 52, 120, 120, 121, - 121, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 106, 106, 102, 102, 107, 107, 111, 111, 110, - 110, 110, 57, 57, 59, 59, 60, 60, 95, 95, - 118, 118, 118, 118, 92, 92, 92, 123, 123, 56, - 56, 88, 88, 89, 89, 54, 54, 55, 55, 99, - 99, 100, 100, 66, 66, 65, 65, 65, 65, 117, - 117, 117, 108, 108, 72, 72, 72, 72, 79, 79, - 27, 27, 27, 80, 80, 80, 80, 101, 101, 69, - 69, 69, 69, 71, 124, 124, 125, 125, 126, 126, - 127, 127, 128, 128, 129, 132, 132, 133, 133, 131, - 130, 130, 134, 134, 119, 119, 103, 103, 104, 104, - 136, 136, 135, 135, 135, 135, 135, 135, 105, 105, - 105, 105, 70, 70, 93, 93, 91, 91, 90, 90, + 26, 26, 26, 103, 103, 61, 61, 104, 104, 105, + 105, 62, 101, 101, 58, 51, 52, 132, 132, 133, + 133, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 113, 113, 109, 109, 114, 114, 122, 122, 121, + 121, 121, 57, 57, 59, 59, 60, 60, 102, 102, + 129, 129, 129, 129, 99, 99, 99, 135, 135, 56, + 56, 95, 95, 96, 96, 54, 54, 55, 55, 106, + 106, 107, 107, 66, 66, 65, 65, 65, 65, 128, + 128, 128, 115, 115, 72, 72, 72, 72, 86, 86, + 27, 27, 27, 87, 87, 87, 87, 108, 108, 69, + 69, 69, 69, 71, 116, 116, 131, 131, 117, 117, + 118, 118, 73, 73, 74, 119, 119, 77, 77, 76, + 75, 75, 78, 78, 130, 130, 110, 110, 111, 111, + 136, 136, 79, 79, 79, 79, 79, 79, 112, 112, + 112, 112, 70, 70, 100, 100, 98, 98, 97, 97, 137, 137, 139, 139, 141, 140, 140, 140, 142, 143, 142, 42, 15, 15, 15, 144, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1587,11 +1587,11 @@ var yyR1 = [...]int{ 149, 15, 150, 151, 15, 152, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 153, 15, 15, 15, 15, 15, 15, 15, 155, 15, 156, 15, 50, 50, - 50, 50, 47, 47, 47, 47, 46, 46, 1, 87, - 87, 86, 86, 86, 86, 23, 23, 23, 23, 23, + 50, 50, 47, 47, 47, 47, 46, 46, 1, 94, + 94, 93, 93, 93, 93, 23, 23, 23, 23, 23, 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, - 43, 43, 41, 41, 114, 114, 115, 49, 49, 49, - 154, 154, 154, 116, 116, 7, 7, 7, 7, 7, + 43, 43, 41, 41, 125, 125, 126, 49, 49, 49, + 154, 154, 154, 127, 127, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 28, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, @@ -1603,11 +1603,11 @@ var yyR1 = [...]int{ 163, 163, 164, 138, 165, 165, 167, 166, 162, 162, 162, 40, 40, 44, 44, 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, 10, 9, 9, 13, - 13, 112, 112, 113, 113, 113, 39, 39, 109, 109, - 85, 85, 38, 38, 38, 84, 84, 83, 83, 83, - 83, 83, 83, 83, 83, 81, 81, 81, 81, 33, + 13, 123, 123, 124, 124, 124, 39, 39, 120, 120, + 92, 92, 38, 38, 38, 91, 91, 90, 90, 90, + 90, 90, 90, 90, 90, 88, 88, 88, 88, 33, 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, - 37, 37, 37, 37, 37, 37, 82, 82, 36, 36, + 37, 37, 37, 37, 37, 37, 89, 89, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1669,7 +1669,7 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -122, -73, -3, -25, -51, -52, 51, 79, 44, + -1000, -134, -80, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1679,100 +1679,100 @@ var yyChk = [...]int{ 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, - -30, -74, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -109, -44, -12, -40, -9, 134, - 12, 123, -74, 119, 82, 10, -75, 37, 38, -4, - -74, 82, 121, 135, 122, 10, -78, -48, 123, -48, + -30, -81, 82, -11, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -10, -120, -44, -12, -40, -9, 134, + 12, 123, -81, 119, 82, 10, -82, 37, 38, -4, + -81, 82, 121, 135, 122, 10, -85, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, - -14, 121, -15, -19, -14, 121, -79, -27, 12, 134, - -80, -1, 12, -93, -14, 121, 149, 150, 87, 89, + -14, 121, -15, -19, -14, 121, -86, -27, 12, 134, + -87, -1, 12, -100, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -120, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -132, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -14, 104, 105, -18, -19, -74, 79, 82, + 147, 123, -14, 104, 105, -18, -19, -81, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -153, 125, 125, -154, 17, -81, -33, 12, 76, - 77, -14, 57, -43, -11, -41, -74, 79, 82, -21, - -10, -109, -12, 123, 123, -14, -14, 123, -14, -14, - 125, -81, 17, 17, 75, -81, 125, 123, -84, -83, - -14, 128, 125, 125, 82, -117, 123, -74, 78, 125, - 119, -10, 134, 78, -117, 119, 124, 121, 119, -73, - -74, 121, 135, -76, -5, -74, 82, -77, -6, -74, - 82, 29, -74, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -120, -91, -90, - -14, -118, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -120, 136, 121, 135, -145, + -48, -153, 125, 125, -154, 17, -88, -33, 12, 76, + 77, -14, 57, -43, -11, -41, -81, 79, 82, -21, + -10, -120, -12, 123, 123, -14, -14, 123, -14, -14, + 125, -88, 17, 17, 75, -88, 125, 123, -91, -90, + -14, 128, 125, 125, 82, -128, 123, -81, 78, 125, + 119, -10, 134, 78, -128, 119, 124, 121, 119, -80, + -81, 121, 135, -83, -5, -81, 82, -84, -6, -81, + 82, 29, -81, 10, 136, -24, 120, -25, -51, -52, + 51, -25, 122, -56, -25, 122, 21, -132, -98, -97, + -14, -129, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -132, 136, 121, 135, -145, -146, -147, -148, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -150, 122, -94, -58, -19, - -19, -15, -95, 10, -78, 121, 121, 10, -155, -68, - 55, -106, 55, 58, -14, 128, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -85, -38, - -19, 59, 82, -74, 78, 78, 124, 124, 124, 124, + -14, -14, -14, -14, -43, -150, 122, -101, -58, -19, + -19, -15, -102, 10, -85, 121, 121, 10, -155, -68, + 55, -113, 55, 58, -14, 128, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -92, -38, + -19, 59, 82, -81, 78, 78, 124, 124, 124, 124, -14, -13, -14, -13, 118, -33, -33, 17, 125, 57, - -14, 11, -19, -112, -113, -40, -39, -10, -109, 10, - 119, -116, -117, 78, 82, -74, 57, -10, 78, -82, + -14, 11, -19, -123, -124, -40, -39, -10, -120, 10, + 119, -127, -128, 78, 82, -81, 57, -10, 78, -89, -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, - -13, -84, 126, -161, 135, 58, -17, -19, -13, -13, - 10, 124, -108, -50, -72, -15, -19, 128, 83, -117, + -13, -91, 126, -161, 135, 58, -17, -19, -13, -13, + 10, 124, -115, -50, -72, -15, -19, 128, 83, -128, -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, - 121, -73, 120, -117, -4, 121, 135, 29, -74, 121, - 135, 29, -74, 10, 29, 136, -28, -157, -7, -31, - -74, 79, 82, 60, 125, -8, 62, -159, 18, 74, - -11, 131, 132, 130, 129, 123, 123, -88, -78, -78, - -48, 121, 135, -92, 121, -92, 121, -27, -14, 12, + 121, -80, 120, -128, -4, 121, 135, 29, -81, 121, + 135, 29, -81, 10, 29, 136, -28, -157, -7, -31, + -81, 79, 82, 60, 125, -8, 62, -159, 18, 74, + -11, 131, 132, 130, 129, 123, 123, -95, -85, -85, + -48, 121, 135, -99, 121, -99, 121, -27, -14, 12, -156, -28, -14, -14, -14, -14, -14, -14, -152, 124, - 135, 29, 29, 124, 135, 136, 120, 123, 123, -102, - 56, -45, -74, 79, 82, 119, -107, -45, -15, -19, - -19, 91, 124, 135, 123, -74, -149, 126, 126, -34, + 135, 29, 29, 124, 135, 136, 120, 123, 123, -109, + 56, -45, -81, 79, 82, 119, -114, -45, -15, -19, + -19, 91, 124, 135, 123, -81, -149, 126, 126, -34, 10, 13, 12, 10, 120, 125, 120, -162, -166, -165, - -167, 125, 119, -10, -14, -40, -74, -112, -40, 124, + -167, 125, 119, -10, -14, -40, -81, -123, -40, 124, 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, - 128, 126, 126, 124, 135, 124, -17, -14, -117, -117, - 126, 120, -117, -117, 120, 120, -5, 10, 29, -6, + 128, 126, 126, 124, 135, 124, -17, -14, -128, -128, + 126, 120, -128, -128, 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -74, 123, -158, -160, -157, 17, 78, -157, - -157, -157, -157, -157, 124, -54, 93, 94, -89, 22, - 121, -91, -14, 120, 32, 33, -92, 31, -92, 120, - 136, 123, 122, -14, 121, -58, -110, -19, 128, 59, - -110, -60, -25, 122, 10, -28, -96, 41, -99, -100, - -66, -65, 60, 61, -45, -99, 119, -107, 82, -74, - -101, 135, -43, 136, -38, -85, -142, -143, 126, -14, - -163, 125, 125, -117, -13, -14, 120, -114, -36, 58, + 127, 82, -81, 123, -158, -160, -157, 17, 78, -157, + -157, -157, -157, -157, 124, -54, 93, 94, -96, 22, + 121, -98, -14, 120, 32, 33, -99, 31, -99, 120, + 136, 123, 122, -14, 121, -58, -121, -19, 128, 59, + -121, -60, -25, 122, 10, -28, -103, 41, -106, -107, + -66, -65, 60, 61, -45, -106, 119, -114, 82, -81, + -108, 135, -43, 136, -38, -92, -142, -143, 126, -14, + -163, 125, 125, -128, -13, -14, 120, -125, -36, 58, -17, -17, -72, 10, 10, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, 122, -157, -74, -158, 126, -161, 135, 58, 10, + -157, 122, -157, -81, -158, 126, -161, 135, 58, 10, 52, 124, 121, -48, -25, -55, 93, 94, 121, 121, - -14, -123, 122, 121, 120, 121, 31, -28, -99, -151, - -111, 58, -19, 123, -111, -78, 136, -61, 42, 123, - 124, 135, -120, 124, -101, -74, 120, -69, -103, -70, - -71, -104, -136, 47, 38, 44, -135, 103, 102, 101, + -14, -135, 122, 121, 120, 121, 31, -28, -106, -151, + -122, 58, -19, 123, -122, -85, 136, -61, 42, 123, + 124, 135, -132, 124, -108, -81, 120, -69, -110, -70, + -71, -111, -136, 47, 38, 44, -79, 103, 102, 101, 98, 99, 100, -45, -144, -14, 124, -140, -139, -137, - 125, -138, 57, 126, -138, -13, -13, 126, 120, -115, + 125, -138, 57, 126, -138, -13, -13, 126, 120, -126, 57, -14, 128, 126, -157, 122, 124, -157, -157, -25, - 95, -48, 122, -91, -123, -78, 121, 124, -14, 124, - -110, -85, 124, 28, -28, 119, -45, 119, -66, -121, - 83, -87, 44, 120, -105, 12, 121, 135, -1, -135, - 10, -124, -45, -116, 125, -141, -138, -13, -112, 120, - 126, 126, -112, -17, -157, 58, 121, 122, -78, 124, - -78, -87, -59, -25, 122, 124, -59, 121, -78, 12, - -78, 12, 119, 123, 121, 135, 136, 10, -120, 136, - -125, 135, 121, 119, -13, -137, 126, -164, -157, -78, - -57, -25, 122, 119, -78, 120, 124, 120, 136, -78, - -86, 12, 128, 12, -28, 136, 10, -28, -45, -126, - -127, -128, -129, -130, -131, -133, -45, 10, 126, -162, - -78, -78, 26, 119, -28, 120, 124, 135, 12, 136, - -28, 123, 120, -128, 121, 121, 45, 29, 78, 24, - 120, 121, -78, 12, 128, -28, -99, -132, -45, -134, - -135, 10, 121, 120, 12, 124, 135, 10, -97, -98, - -62, 41, -119, 121, 119, -45, -62, 123, -78, -45, - 120, 12, 124, 119, -78, 120, + 95, -48, 122, -98, -135, -85, 121, 124, -14, 124, + -121, -92, 124, 28, -28, 119, -45, 119, -66, -133, + 83, -94, 44, 120, -112, 12, 121, 135, -1, -79, + 10, -116, -45, -127, 125, -141, -138, -13, -123, 120, + 126, 126, -123, -17, -157, 58, 121, 122, -85, 124, + -85, -94, -59, -25, 122, 124, -59, 121, -85, 12, + -85, 12, 119, 123, 121, 135, 136, 10, -132, 136, + -131, 135, 121, 119, -13, -137, 126, -164, -157, -85, + -57, -25, 122, 119, -85, 120, 124, 120, 136, -85, + -93, 12, 128, 12, -28, 136, 10, -28, -45, -117, + -118, -73, -74, -75, -76, -77, -45, 10, 126, -162, + -85, -85, 26, 119, -28, 120, 124, 135, 12, 136, + -28, 123, 120, -73, 121, 121, 45, 29, 78, 24, + 120, 121, -85, 12, 128, -28, -106, -119, -45, -78, + -79, 10, 121, 120, 12, 124, 135, 10, -104, -105, + -62, 41, -130, 121, 119, -45, -62, 123, -85, -45, + 120, 12, 124, 119, -85, 120, } var yyDef = [...]int{ @@ -2257,25 +2257,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:232 + //line php5/php5.y:234 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:238 + //line php5/php5.y:240 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:239 + //line php5/php5.y:241 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:244 + //line php5/php5.y:246 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2284,7 +2284,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:251 + //line php5/php5.y:253 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2293,25 +2293,25 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:261 + //line php5/php5.y:263 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + //line php5/php5.y:265 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:265 + //line php5/php5.y:267 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:267 + //line php5/php5.y:269 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2319,7 +2319,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:273 + //line php5/php5.y:275 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2331,7 +2331,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:283 + //line php5/php5.y:285 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2343,7 +2343,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:293 + //line php5/php5.y:295 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2351,7 +2351,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:299 + //line php5/php5.y:301 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2359,7 +2359,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:305 + //line php5/php5.y:307 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2371,7 +2371,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:315 + //line php5/php5.y:317 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2383,25 +2383,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:325 + //line php5/php5.y:327 { yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:330 + //line php5/php5.y:332 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:332 + //line php5/php5.y:334 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:337 + //line php5/php5.y:339 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2413,7 +2413,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:347 + //line php5/php5.y:349 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2428,7 +2428,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:360 + //line php5/php5.y:362 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2440,7 +2440,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:370 + //line php5/php5.y:372 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2455,19 +2455,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:386 + //line php5/php5.y:388 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:388 + //line php5/php5.y:390 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:393 + //line php5/php5.y:395 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2479,7 +2479,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:403 + //line php5/php5.y:405 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2494,7 +2494,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:416 + //line php5/php5.y:418 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2506,7 +2506,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:426 + //line php5/php5.y:428 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2521,19 +2521,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:442 + //line php5/php5.y:444 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:444 + //line php5/php5.y:446 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:449 + //line php5/php5.y:451 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2545,7 +2545,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:459 + //line php5/php5.y:461 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2560,7 +2560,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:472 + //line php5/php5.y:474 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2572,7 +2572,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:482 + //line php5/php5.y:484 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2587,7 +2587,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:500 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2605,7 +2605,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:514 + //line php5/php5.y:516 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2623,37 +2623,37 @@ yydefault: } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:533 + //line php5/php5.y:535 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:537 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:541 + //line php5/php5.y:543 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:543 + //line php5/php5.y:545 { yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:547 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:549 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2661,13 +2661,13 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:557 + //line php5/php5.y:559 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:561 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2679,7 +2679,7 @@ yydefault: } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:572 + //line php5/php5.y:574 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2687,7 +2687,7 @@ yydefault: } case 46: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:578 + //line php5/php5.y:580 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2703,7 +2703,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:592 + //line php5/php5.y:594 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2714,7 +2714,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:601 + //line php5/php5.y:603 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[2].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -2722,7 +2722,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:607 + //line php5/php5.y:609 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2730,7 +2730,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:613 + //line php5/php5.y:615 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2738,7 +2738,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:619 + //line php5/php5.y:621 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -2746,7 +2746,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:625 + //line php5/php5.y:627 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2754,7 +2754,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:631 + //line php5/php5.y:633 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2762,7 +2762,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:637 + //line php5/php5.y:639 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2770,7 +2770,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:643 + //line php5/php5.y:645 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2778,7 +2778,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:649 + //line php5/php5.y:651 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2786,7 +2786,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:655 + //line php5/php5.y:657 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2794,7 +2794,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:661 + //line php5/php5.y:663 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2802,13 +2802,13 @@ yydefault: } case 59: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:667 + //line php5/php5.y:669 { yyVAL.node = yyDollar[1].node } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:669 + //line php5/php5.y:671 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2816,7 +2816,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:675 + //line php5/php5.y:677 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2824,7 +2824,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:681 + //line php5/php5.y:683 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2832,7 +2832,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:689 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2840,13 +2840,13 @@ yydefault: } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:693 + //line php5/php5.y:695 { yyVAL.node = yyDollar[1].node } case 65: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:695 + //line php5/php5.y:697 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2854,7 +2854,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:701 + //line php5/php5.y:703 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2866,7 +2866,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:711 + //line php5/php5.y:713 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2878,7 +2878,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:721 + //line php5/php5.y:723 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2886,7 +2886,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:727 + //line php5/php5.y:729 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2894,7 +2894,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:733 + //line php5/php5.y:735 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -2908,7 +2908,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:745 + //line php5/php5.y:747 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2916,7 +2916,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:751 + //line php5/php5.y:753 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2928,13 +2928,13 @@ yydefault: } case 73: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:764 + //line php5/php5.y:766 { yyVAL.list = []node.Node{} } case 74: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:766 + //line php5/php5.y:768 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2952,13 +2952,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:784 + //line php5/php5.y:786 { yyVAL.node = nil } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:786 + //line php5/php5.y:788 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2966,31 +2966,31 @@ yydefault: } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:795 + //line php5/php5.y:797 { yyVAL.list = yyDollar[1].list } case 78: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:797 + //line php5/php5.y:799 { yyVAL.list = []node.Node{} } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:802 + //line php5/php5.y:804 { yyVAL.list = []node.Node{yyDollar[1].node} } case 80: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:804 + //line php5/php5.y:806 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 81: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:809 + //line php5/php5.y:811 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3006,61 +3006,61 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:826 + //line php5/php5.y:828 { yyVAL.list = []node.Node{yyDollar[1].node} } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:828 + //line php5/php5.y:830 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:833 + //line php5/php5.y:835 { yyVAL.node = yyDollar[1].node } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:838 + //line php5/php5.y:840 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:843 + //line php5/php5.y:845 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:848 + //line php5/php5.y:850 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:850 + //line php5/php5.y:852 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:855 + //line php5/php5.y:857 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:857 + //line php5/php5.y:859 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 91: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:862 + //line php5/php5.y:864 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3072,7 +3072,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:875 + //line php5/php5.y:877 { switch n := yyDollar[1].node.(type) { case *stmt.Class: @@ -3095,7 +3095,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:896 + //line php5/php5.y:898 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3107,7 +3107,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:910 + //line php5/php5.y:912 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3115,7 +3115,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:916 + //line php5/php5.y:918 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3127,7 +3127,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:926 + //line php5/php5.y:928 { yyVAL.node = stmt.NewTrait(nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3135,7 +3135,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:932 + //line php5/php5.y:934 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3147,85 +3147,85 @@ yydefault: } case 98: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:945 + //line php5/php5.y:947 { yyVAL.node = nil } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:947 + //line php5/php5.y:949 { yyVAL.node = yyDollar[2].node } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:952 + //line php5/php5.y:954 { yyVAL.token = yyDollar[1].token } case 101: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:957 + //line php5/php5.y:959 { yyVAL.list = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:961 { yyVAL.list = yyDollar[2].list } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:964 + //line php5/php5.y:966 { yyVAL.list = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:966 + //line php5/php5.y:968 { yyVAL.list = yyDollar[2].list } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:971 + //line php5/php5.y:973 { yyVAL.list = []node.Node{yyDollar[1].node} } case 106: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:975 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:978 + //line php5/php5.y:980 { yyVAL.foreachVariable = foreachVariable{nil, false} } case 108: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:982 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:987 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:989 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 111: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:991 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3234,13 +3234,13 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:1001 { yyVAL.node = yyDollar[1].node } case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1003 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3248,13 +3248,13 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1013 { yyVAL.node = yyDollar[1].node } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1015 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3262,13 +3262,13 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1023 + //line php5/php5.y:1025 { yyVAL.node = yyDollar[1].node } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1027 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3276,7 +3276,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1035 + //line php5/php5.y:1037 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3290,7 +3290,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1047 + //line php5/php5.y:1049 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3304,37 +3304,37 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1063 + //line php5/php5.y:1065 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 121: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1067 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1069 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 123: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1069 + //line php5/php5.y:1071 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 124: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1075 + //line php5/php5.y:1077 { yyVAL.list = []node.Node{} } case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1079 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3343,7 +3343,7 @@ yydefault: } case 126: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1084 + //line php5/php5.y:1086 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3352,26 +3352,26 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1103 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1105 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 131: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1115 { yyVAL.list = []node.Node{} } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1117 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3381,13 +3381,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1129 { yyVAL.list = []node.Node{} } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1131 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3400,13 +3400,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1144 + //line php5/php5.y:1146 { yyVAL.node = nil } case 136: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1148 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3414,13 +3414,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1156 + //line php5/php5.y:1158 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1160 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3431,31 +3431,31 @@ yydefault: } case 139: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1171 + //line php5/php5.y:1173 { yyVAL.list = yyDollar[1].list } case 140: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1173 + //line php5/php5.y:1175 { yyVAL.list = nil } case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1178 + //line php5/php5.y:1180 { yyVAL.list = []node.Node{yyDollar[1].node} } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1180 + //line php5/php5.y:1182 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 143: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1185 + //line php5/php5.y:1187 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3483,7 +3483,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1211 + //line php5/php5.y:1213 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3511,13 +3511,13 @@ yydefault: } case 145: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1241 + //line php5/php5.y:1243 { yyVAL.node = nil } case 146: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1243 + //line php5/php5.y:1245 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3525,7 +3525,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1249 + //line php5/php5.y:1251 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3533,25 +3533,25 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1255 + //line php5/php5.y:1257 { yyVAL.node = yyDollar[1].node } case 149: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1261 + //line php5/php5.y:1263 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1263 + //line php5/php5.y:1265 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1267 { arg := node.NewArgument(yyDollar[2].node, false, false) positions.AddPosition(arg, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3561,19 +3561,19 @@ yydefault: } case 152: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1277 + //line php5/php5.y:1279 { yyVAL.list = []node.Node{yyDollar[1].node} } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1279 + //line php5/php5.y:1281 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1284 + //line php5/php5.y:1286 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3581,7 +3581,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1290 + //line php5/php5.y:1292 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3589,7 +3589,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1296 + //line php5/php5.y:1298 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3597,7 +3597,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1302 + //line php5/php5.y:1304 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3605,19 +3605,19 @@ yydefault: } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1311 + //line php5/php5.y:1313 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1313 + //line php5/php5.y:1315 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1319 + //line php5/php5.y:1321 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3629,7 +3629,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1329 + //line php5/php5.y:1331 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3637,7 +3637,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1335 + //line php5/php5.y:1337 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3645,7 +3645,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1347 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3664,7 +3664,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1362 + //line php5/php5.y:1364 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3683,7 +3683,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1379 + //line php5/php5.y:1381 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3702,7 +3702,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1396 + //line php5/php5.y:1398 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3721,19 +3721,19 @@ yydefault: } case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1418 + //line php5/php5.y:1420 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 168: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1420 + //line php5/php5.y:1422 { yyVAL.list = []node.Node{} } case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1426 + //line php5/php5.y:1428 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3741,19 +3741,19 @@ yydefault: } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1432 + //line php5/php5.y:1434 { yyVAL.node = yyDollar[1].node } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1436 { yyVAL.node = yyDollar[1].node } case 172: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1436 + //line php5/php5.y:1438 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3765,263 +3765,370 @@ yydefault: } case 173: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1449 + //line php5/php5.y:1451 { + yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1453 + //line php5/php5.y:1460 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1454 + //line php5/php5.y:1462 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 176: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1467 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} + } + case 177: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1469 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} + } + case 178: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1474 + { + yyVAL.list = nil + } + case 179: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1476 + { + yyVAL.list = yyDollar[1].list + } + case 180: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1481 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 181: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1483 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 182: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1488 + { + yyVAL.node = yyDollar[1].node + } + case 183: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1490 + { + yyVAL.node = yyDollar[1].node } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1478 + //line php5/php5.y:1495 { + name := name.NewName(yyDollar[3].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) + yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, name) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[3].list)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1508 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1483 + //line php5/php5.y:1510 { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1487 + //line php5/php5.y:1515 { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(name, yyDollar[1].token.Comments()) + + yyVAL.node = stmt.NewTraitMethodRef(nil, name) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1525 { + yyVAL.node = yyDollar[1].node } case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1492 + //line php5/php5.y:1530 { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(target, yyDollar[3].token.Comments()) + + yyVAL.node = stmt.NewTraitMethodRef(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:1543 { + alias := node.NewIdentifier(yyDollar[4].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + + comments.AddComments(alias, yyDollar[4].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1497 + //line php5/php5.y:1553 { + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 192: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1501 + //line php5/php5.y:1562 { + yyVAL.node = nil } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1502 + //line php5/php5.y:1564 { + yyVAL.node = yyDollar[1].node } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1506 + //line php5/php5.y:1568 { } case 195: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1507 + //line php5/php5.y:1569 { } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1511 + //line php5/php5.y:1573 { } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1512 + //line php5/php5.y:1574 { } case 198: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1516 + //line php5/php5.y:1578 { } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1517 + //line php5/php5.y:1579 { } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1521 + //line php5/php5.y:1583 { } case 201: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1522 + //line php5/php5.y:1584 { } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1526 + //line php5/php5.y:1589 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1527 + //line php5/php5.y:1595 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1528 + //line php5/php5.y:1601 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1529 + //line php5/php5.y:1607 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1530 + //line php5/php5.y:1613 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1531 + //line php5/php5.y:1619 { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1535 + //line php5/php5.y:1627 { } case 209: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1536 + //line php5/php5.y:1628 { } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1537 + //line php5/php5.y:1629 { } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1538 + //line php5/php5.y:1630 { } case 212: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1542 + //line php5/php5.y:1634 { } case 213: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1543 + //line php5/php5.y:1635 { } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1548 + //line php5/php5.y:1640 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1550 + //line php5/php5.y:1642 { yyVAL.list = []node.Node{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1648 { yyVAL.list = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1558 + //line php5/php5.y:1650 { yyVAL.list = yyDollar[1].list } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1563 + //line php5/php5.y:1655 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1565 + //line php5/php5.y:1657 { yyVAL.list = []node.Node{yyDollar[1].node} } case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1569 + //line php5/php5.y:1661 { } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1662 { } case 222: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1574 + //line php5/php5.y:1666 { } case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1575 + //line php5/php5.y:1667 { } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1671 { } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1671 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1580 + //line php5/php5.y:1672 { } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1581 + //line php5/php5.y:1673 { } case 228: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1585 + //line php5/php5.y:1677 { } case 229: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1586 + //line php5/php5.y:1678 { } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1587 + //line php5/php5.y:1679 { } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1592 + //line php5/php5.y:1684 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4035,7 +4142,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1607 + //line php5/php5.y:1699 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4047,454 +4154,454 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1616 + //line php5/php5.y:1708 { } case 234: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1617 + //line php5/php5.y:1709 { } case 235: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1710 { } case 236: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1618 + //line php5/php5.y:1710 { } case 237: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1619 + //line php5/php5.y:1711 { } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1620 + //line php5/php5.y:1712 { } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1621 + //line php5/php5.y:1713 { } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1622 + //line php5/php5.y:1714 { } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1623 + //line php5/php5.y:1715 { } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1624 + //line php5/php5.y:1716 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1625 + //line php5/php5.y:1717 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1626 + //line php5/php5.y:1718 { } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1627 + //line php5/php5.y:1719 { } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1720 { } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1629 + //line php5/php5.y:1721 { } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1722 { } case 249: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1631 + //line php5/php5.y:1723 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1632 + //line php5/php5.y:1724 { } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1633 + //line php5/php5.y:1725 { } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1634 + //line php5/php5.y:1726 { } case 253: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1635 + //line php5/php5.y:1727 { } case 254: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1636 + //line php5/php5.y:1728 { } case 255: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1636 + //line php5/php5.y:1728 { } case 256: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1637 + //line php5/php5.y:1729 { } case 257: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1637 + //line php5/php5.y:1729 { } case 258: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1638 + //line php5/php5.y:1730 { } case 259: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1638 + //line php5/php5.y:1730 { } case 260: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1639 + //line php5/php5.y:1731 { } case 261: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1639 + //line php5/php5.y:1731 { } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1640 + //line php5/php5.y:1732 { } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1641 + //line php5/php5.y:1733 { } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1642 + //line php5/php5.y:1734 { } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1643 + //line php5/php5.y:1735 { } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1644 + //line php5/php5.y:1736 { } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1645 + //line php5/php5.y:1737 { } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1646 + //line php5/php5.y:1738 { } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1647 + //line php5/php5.y:1739 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1648 + //line php5/php5.y:1740 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1649 + //line php5/php5.y:1741 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1650 + //line php5/php5.y:1742 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1651 + //line php5/php5.y:1743 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:1744 { } case 275: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1653 + //line php5/php5.y:1745 { } case 276: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1654 + //line php5/php5.y:1746 { } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1655 + //line php5/php5.y:1747 { } case 278: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1656 + //line php5/php5.y:1748 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1657 + //line php5/php5.y:1749 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1658 + //line php5/php5.y:1750 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1751 { } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1660 + //line php5/php5.y:1752 { } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1661 + //line php5/php5.y:1753 { } case 284: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1662 + //line php5/php5.y:1754 { } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1663 + //line php5/php5.y:1755 { } case 286: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1664 + //line php5/php5.y:1756 { } case 287: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1665 + //line php5/php5.y:1757 { } case 288: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1666 + //line php5/php5.y:1758 { } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1668 + //line php5/php5.y:1760 { yyVAL.node = yyDollar[1].node } case 290: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1669 + //line php5/php5.y:1761 { } case 291: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1669 + //line php5/php5.y:1761 { } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1670 + //line php5/php5.y:1762 { } case 293: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1763 { } case 294: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1672 + //line php5/php5.y:1764 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1673 + //line php5/php5.y:1765 { } case 296: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1674 + //line php5/php5.y:1766 { } case 297: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1675 + //line php5/php5.y:1767 { } case 298: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1676 + //line php5/php5.y:1768 { } case 299: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1677 + //line php5/php5.y:1769 { } case 300: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1678 + //line php5/php5.y:1770 { } case 301: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1679 + //line php5/php5.y:1771 { } case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1680 + //line php5/php5.y:1772 { } case 303: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1681 + //line php5/php5.y:1773 { } case 304: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1682 + //line php5/php5.y:1774 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1683 + //line php5/php5.y:1775 { } case 306: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1684 + //line php5/php5.y:1776 { } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1684 + //line php5/php5.y:1776 { } case 308: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1685 + //line php5/php5.y:1777 { yyVAL.node = yyDollar[1].node } case 309: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1686 + //line php5/php5.y:1778 { } case 310: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1687 + //line php5/php5.y:1779 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1688 + //line php5/php5.y:1780 { } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1689 + //line php5/php5.y:1781 { } case 313: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1782 { } case 314: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1691 + //line php5/php5.y:1783 { } case 315: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1693 + //line php5/php5.y:1785 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1694 + //line php5/php5.y:1786 { } case 317: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1696 + //line php5/php5.y:1788 { } case 318: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1700 + //line php5/php5.y:1792 { } case 319: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1701 + //line php5/php5.y:1793 { } case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1702 + //line php5/php5.y:1794 { } case 321: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1703 + //line php5/php5.y:1795 { } case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1708 + //line php5/php5.y:1800 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4502,7 +4609,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1714 + //line php5/php5.y:1806 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4510,7 +4617,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1720 + //line php5/php5.y:1812 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4522,7 +4629,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1730 + //line php5/php5.y:1822 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4530,7 +4637,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1739 + //line php5/php5.y:1831 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4538,7 +4645,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1745 + //line php5/php5.y:1837 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4546,25 +4653,25 @@ yydefault: } case 328: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1754 + //line php5/php5.y:1846 { yyVAL.token = yyDollar[1].token } case 329: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1759 + //line php5/php5.y:1851 { yyVAL.list = []node.Node{} } case 330: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1761 + //line php5/php5.y:1853 { yyVAL.list = yyDollar[3].list } case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1766 + //line php5/php5.y:1858 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4582,7 +4689,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1782 + //line php5/php5.y:1874 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4600,7 +4707,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1798 + //line php5/php5.y:1890 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4618,7 +4725,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1814 + //line php5/php5.y:1906 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4636,7 +4743,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1833 + //line php5/php5.y:1925 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4648,7 +4755,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1843 + //line php5/php5.y:1935 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4660,7 +4767,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1853 + //line php5/php5.y:1945 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4672,7 +4779,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1863 + //line php5/php5.y:1955 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4680,7 +4787,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1869 + //line php5/php5.y:1961 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4688,7 +4795,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1875 + //line php5/php5.y:1967 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4696,7 +4803,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1881 + //line php5/php5.y:1973 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4704,7 +4811,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1887 + //line php5/php5.y:1979 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4712,7 +4819,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1896 + //line php5/php5.y:1988 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4720,7 +4827,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1902 + //line php5/php5.y:1994 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4728,7 +4835,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1908 + //line php5/php5.y:2000 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4736,7 +4843,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1914 + //line php5/php5.y:2006 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4744,7 +4851,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1923 + //line php5/php5.y:2015 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4752,7 +4859,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1929 + //line php5/php5.y:2021 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4760,7 +4867,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:2027 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4768,19 +4875,19 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1944 + //line php5/php5.y:2036 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1946 + //line php5/php5.y:2038 { yyVAL.node = yyDollar[1].node } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1951 + //line php5/php5.y:2043 { yyVAL.node = yyDollar[1].node @@ -4812,76 +4919,76 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1981 + //line php5/php5.y:2073 { yyVAL.node = yyDollar[1].node } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1987 + //line php5/php5.y:2079 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } case 355: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1989 + //line php5/php5.y:2081 { yyVAL.objectPropertyList = []objectProperty{} } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1995 + //line php5/php5.y:2087 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } case 357: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2000 + //line php5/php5.y:2092 { yyVAL.node = nil } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2002 + //line php5/php5.y:2094 { yyVAL.node = nil } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2004 + //line php5/php5.y:2096 { yyVAL.node = yyDollar[1].node } case 360: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2008 + //line php5/php5.y:2100 { } case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2009 + //line php5/php5.y:2101 { } case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2010 + //line php5/php5.y:2102 { } case 363: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2015 + //line php5/php5.y:2107 { yyVAL.nodesWithEndToken = nil } case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2017 + //line php5/php5.y:2109 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2022 + //line php5/php5.y:2114 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4889,7 +4996,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2028 + //line php5/php5.y:2120 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4897,7 +5004,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2034 + //line php5/php5.y:2126 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4905,7 +5012,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2040 + //line php5/php5.y:2132 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4913,7 +5020,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2046 + //line php5/php5.y:2138 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4921,7 +5028,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2052 + //line php5/php5.y:2144 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4929,7 +5036,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2058 + //line php5/php5.y:2150 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4937,7 +5044,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2064 + //line php5/php5.y:2156 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4945,7 +5052,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2070 + //line php5/php5.y:2162 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4953,7 +5060,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2076 + //line php5/php5.y:2168 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4961,7 +5068,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2082 + //line php5/php5.y:2174 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -4969,7 +5076,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2087 + //line php5/php5.y:2179 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -4977,7 +5084,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2096 + //line php5/php5.y:2188 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4989,233 +5096,233 @@ yydefault: } case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2108 + //line php5/php5.y:2200 { } case 379: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2112 + //line php5/php5.y:2204 { } case 380: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2113 + //line php5/php5.y:2205 { } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2114 + //line php5/php5.y:2206 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2115 + //line php5/php5.y:2207 { } case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2116 + //line php5/php5.y:2208 { } case 384: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2117 + //line php5/php5.y:2209 { } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2118 + //line php5/php5.y:2210 { } case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2119 + //line php5/php5.y:2211 { } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2120 + //line php5/php5.y:2212 { } case 388: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2121 + //line php5/php5.y:2213 { } case 389: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2125 + //line php5/php5.y:2217 { } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2126 + //line php5/php5.y:2218 { } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2127 + //line php5/php5.y:2219 { } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2128 + //line php5/php5.y:2220 { } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2129 + //line php5/php5.y:2221 { } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2130 + //line php5/php5.y:2222 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2131 + //line php5/php5.y:2223 { } case 396: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2132 + //line php5/php5.y:2224 { } case 397: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2133 + //line php5/php5.y:2225 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2134 + //line php5/php5.y:2226 { } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2135 + //line php5/php5.y:2227 { } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2136 + //line php5/php5.y:2228 { } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2137 + //line php5/php5.y:2229 { } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2138 + //line php5/php5.y:2230 { } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2139 + //line php5/php5.y:2231 { } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2140 + //line php5/php5.y:2232 { } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2141 + //line php5/php5.y:2233 { } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2142 + //line php5/php5.y:2234 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2143 + //line php5/php5.y:2235 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2144 + //line php5/php5.y:2236 { } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2145 + //line php5/php5.y:2237 { } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2146 + //line php5/php5.y:2238 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2147 + //line php5/php5.y:2239 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2148 + //line php5/php5.y:2240 { } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2149 + //line php5/php5.y:2241 { } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2150 + //line php5/php5.y:2242 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2151 + //line php5/php5.y:2243 { } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2152 + //line php5/php5.y:2244 { } case 417: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2153 + //line php5/php5.y:2245 { } case 418: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2154 + //line php5/php5.y:2246 { } case 419: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2155 + //line php5/php5.y:2247 { } case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2156 + //line php5/php5.y:2248 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2157 + //line php5/php5.y:2249 { } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2162 + //line php5/php5.y:2254 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2164 + //line php5/php5.y:2256 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5223,7 +5330,7 @@ yydefault: } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2170 + //line php5/php5.y:2262 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5231,7 +5338,7 @@ yydefault: } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2176 + //line php5/php5.y:2268 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5239,7 +5346,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2185 + //line php5/php5.y:2277 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5251,25 +5358,25 @@ yydefault: } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2195 + //line php5/php5.y:2287 { yyVAL.node = yyDollar[1].node } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2197 + //line php5/php5.y:2289 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2199 + //line php5/php5.y:2291 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2201 + //line php5/php5.y:2293 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5277,7 +5384,7 @@ yydefault: } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2207 + //line php5/php5.y:2299 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5285,7 +5392,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2213 + //line php5/php5.y:2305 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5293,151 +5400,151 @@ yydefault: } case 433: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2221 + //line php5/php5.y:2313 { } case 434: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2222 + //line php5/php5.y:2314 { } case 437: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2231 + //line php5/php5.y:2323 { } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2232 + //line php5/php5.y:2324 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2233 + //line php5/php5.y:2325 { } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2234 + //line php5/php5.y:2326 { } case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2239 + //line php5/php5.y:2331 { yyVAL.node = yyDollar[1].node } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2241 + //line php5/php5.y:2333 { yyVAL.node = yyDollar[1].node } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2246 + //line php5/php5.y:2338 { yyVAL.node = yyDollar[2].node } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2248 + //line php5/php5.y:2340 { yyVAL.node = yyDollar[2].node } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2254 + //line php5/php5.y:2346 { yyVAL.node = yyDollar[1].node } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2262 + //line php5/php5.y:2354 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2269 + //line php5/php5.y:2361 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2276 + //line php5/php5.y:2368 { } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2278 + //line php5/php5.y:2370 { yyVAL.node = yyDollar[1].node } case 450: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2282 + //line php5/php5.y:2374 { } case 451: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2283 + //line php5/php5.y:2375 { } case 452: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2288 + //line php5/php5.y:2380 { } case 453: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2288 + //line php5/php5.y:2380 { } case 454: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2292 + //line php5/php5.y:2384 { } case 455: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2293 + //line php5/php5.y:2385 { } case 456: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2297 + //line php5/php5.y:2389 { } case 457: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2298 + //line php5/php5.y:2390 { } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2302 + //line php5/php5.y:2394 { } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2303 + //line php5/php5.y:2395 { } case 460: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2304 + //line php5/php5.y:2396 { } case 461: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2309 + //line php5/php5.y:2401 { yyVAL.node = yyDollar[1].node } case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2311 + //line php5/php5.y:2403 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5449,7 +5556,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2324 + //line php5/php5.y:2416 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5457,7 +5564,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2330 + //line php5/php5.y:2422 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5465,47 +5572,47 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2340 + //line php5/php5.y:2432 { yyVAL.node = yyDollar[1].node } case 466: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2345 + //line php5/php5.y:2437 { } case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2347 + //line php5/php5.y:2439 { } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2351 + //line php5/php5.y:2443 { yyVAL.node = yyDollar[1].node } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2352 + //line php5/php5.y:2444 { yyVAL.node = yyDollar[1].node } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2353 + //line php5/php5.y:2445 { yyVAL.node = yyDollar[1].node } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2359 + //line php5/php5.y:2451 { yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2361 + //line php5/php5.y:2453 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5517,13 +5624,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2371 + //line php5/php5.y:2463 { yyVAL.node = yyDollar[1].node } case 474: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2376 + //line php5/php5.y:2468 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5531,7 +5638,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2382 + //line php5/php5.y:2474 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5539,13 +5646,13 @@ yydefault: } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2388 + //line php5/php5.y:2480 { yyVAL.node = yyDollar[1].node } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2394 + //line php5/php5.y:2486 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5557,7 +5664,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2404 + //line php5/php5.y:2496 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5565,53 +5672,53 @@ yydefault: } case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2412 + //line php5/php5.y:2504 { yyVAL.node = nil } case 480: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2413 + //line php5/php5.y:2505 { yyVAL.node = yyDollar[1].node } case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2419 + //line php5/php5.y:2511 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2421 + //line php5/php5.y:2513 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 483: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2429 + //line php5/php5.y:2521 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2434 + //line php5/php5.y:2526 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2439 + //line php5/php5.y:2531 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2447 + //line php5/php5.y:2539 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5619,13 +5726,13 @@ yydefault: } case 487: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2453 + //line php5/php5.y:2545 { yyVAL.node = yyDollar[2].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2458 + //line php5/php5.y:2550 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5635,7 +5742,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2466 + //line php5/php5.y:2558 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5649,25 +5756,25 @@ yydefault: } case 490: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2481 + //line php5/php5.y:2573 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2483 + //line php5/php5.y:2575 { yyVAL.list = []node.Node{yyDollar[1].node} } case 492: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2489 + //line php5/php5.y:2581 { yyVAL.node = yyDollar[1].node } case 493: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2491 + //line php5/php5.y:2583 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5675,25 +5782,25 @@ yydefault: } case 494: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2497 + //line php5/php5.y:2589 { yyVAL.node = nil } case 495: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2503 + //line php5/php5.y:2595 { yyVAL.list = nil } case 496: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2505 + //line php5/php5.y:2597 { yyVAL.list = yyDollar[1].list } case 497: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2510 + //line php5/php5.y:2602 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5703,7 +5810,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2518 + //line php5/php5.y:2610 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5713,7 +5820,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2526 + //line php5/php5.y:2618 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5723,7 +5830,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2534 + //line php5/php5.y:2626 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5733,7 +5840,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2542 + //line php5/php5.y:2634 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5743,7 +5850,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2550 + //line php5/php5.y:2642 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5753,7 +5860,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2558 + //line php5/php5.y:2650 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5763,7 +5870,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2566 + //line php5/php5.y:2658 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5773,13 +5880,13 @@ yydefault: } case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2577 + //line php5/php5.y:2669 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2579 + //line php5/php5.y:2671 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5788,13 +5895,13 @@ yydefault: } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2586 + //line php5/php5.y:2678 { yyVAL.list = []node.Node{yyDollar[1].node} } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2588 + //line php5/php5.y:2680 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5803,7 +5910,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2598 + //line php5/php5.y:2690 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5815,7 +5922,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2608 + //line php5/php5.y:2700 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5830,7 +5937,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2621 + //line php5/php5.y:2713 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5848,7 +5955,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2637 + //line php5/php5.y:2729 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5856,7 +5963,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2643 + //line php5/php5.y:2735 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5871,13 +5978,13 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2657 + //line php5/php5.y:2749 { yyVAL.node = yyDollar[2].node } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2662 + //line php5/php5.y:2754 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5885,7 +5992,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2668 + //line php5/php5.y:2760 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5899,7 +6006,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2680 + //line php5/php5.y:2772 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5911,7 +6018,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2693 + //line php5/php5.y:2785 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5919,7 +6026,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2699 + //line php5/php5.y:2791 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5927,7 +6034,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2705 + //line php5/php5.y:2797 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5935,7 +6042,7 @@ yydefault: } case 521: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2711 + //line php5/php5.y:2803 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5943,7 +6050,7 @@ yydefault: } case 522: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2717 + //line php5/php5.y:2809 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5951,7 +6058,7 @@ yydefault: } case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2723 + //line php5/php5.y:2815 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5959,7 +6066,7 @@ yydefault: } case 524: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2729 + //line php5/php5.y:2821 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5967,7 +6074,7 @@ yydefault: } case 525: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2735 + //line php5/php5.y:2827 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5975,31 +6082,31 @@ yydefault: } case 526: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2744 + //line php5/php5.y:2836 { yyVAL.list = []node.Node{yyDollar[1].node} } case 527: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2746 + //line php5/php5.y:2838 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2750 + //line php5/php5.y:2842 { yyVAL.node = yyDollar[1].node } case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2751 + //line php5/php5.y:2843 { yyVAL.node = yyDollar[1].node } case 530: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2756 + //line php5/php5.y:2848 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6011,7 +6118,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2766 + //line php5/php5.y:2858 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6023,7 +6130,7 @@ yydefault: } case 532: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2779 + //line php5/php5.y:2871 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6035,7 +6142,7 @@ yydefault: } case 533: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2792 + //line php5/php5.y:2884 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 2839cb2..f49f412 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -208,7 +208,8 @@ import ( %type else_single new_else_single while_statement for_statement unset_variable foreach_statement declare_statement %type finally_statement additional_catch unticked_function_declaration_statement unticked_class_declaration_statement %type optional_class_type parameter class_entry_type extends_from class_statement class_constant_declaration -%type trait_use_statement function_call_parameter +%type trait_use_statement function_call_parameter trait_adaptation_statement trait_precedence trait_alias +%type trait_method_reference_fully_qualified trait_method_reference trait_modifiers member_modifier %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -216,13 +217,14 @@ import ( %type for_expr case_list echo_expr_list unset_variables declare_list catch_statement additional_catches %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list -%type interface_list non_empty_function_call_parameter_list +%type interface_list non_empty_function_call_parameter_list trait_list trait_adaptation_list non_empty_trait_adaptation_list +%type trait_reference_list %type simple_indirect_reference %type foreach_variable foreach_optional_arg %type object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property -%type ctor_arguments function_call_parameter_list switch_case_list method_body +%type ctor_arguments function_call_parameter_list switch_case_list method_body trait_adaptations %type is_reference is_variadic %% @@ -1446,60 +1448,120 @@ class_statement: trait_use_statement: T_USE trait_list trait_adaptations - { } + { + $$ = stmt.NewTraitUse($2, $3.nodes) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) + comments.AddComments($$, $1.Comments()) + } ; trait_list: - fully_qualified_class_name { } - | trait_list ',' fully_qualified_class_name { } + fully_qualified_class_name + { $$ = []node.Node{$1} } + | trait_list ',' fully_qualified_class_name + { $$ = append($1, $3) } ; trait_adaptations: ';' + { $$ = &nodesWithEndToken{nil, $1} } | '{' trait_adaptation_list '}' + { $$ = &nodesWithEndToken{$2, $3} } ; trait_adaptation_list: /* empty */ + { $$ = nil } | non_empty_trait_adaptation_list + { $$ = $1 } ; non_empty_trait_adaptation_list: trait_adaptation_statement + { $$ = []node.Node{$1} } | non_empty_trait_adaptation_list trait_adaptation_statement + { $$ = append($1, $2) } ; trait_adaptation_statement: trait_precedence ';' + { $$ = $1 } | trait_alias ';' + { $$ = $1 } ; trait_precedence: - trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { } + trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list + { + name := name.NewName($3) + positions.AddPosition(name, positionBuilder.NewNodeListPosition($3)) + $$ = stmt.NewTraitUsePrecedence($1, name) + positions.AddPosition($$, positionBuilder.NewNodeNodeListPosition($1, $3)) + + comments.AddComments(name, ListGetFirstNodeComments($3)) + comments.AddComments($$, comments[$1]) + } ; trait_reference_list: - fully_qualified_class_name { } - | trait_reference_list ',' fully_qualified_class_name { } + fully_qualified_class_name + { $$ = []node.Node{$1} } + | trait_reference_list ',' fully_qualified_class_name + { $$ = append($1, $3) } ; trait_method_reference: - T_STRING { } - | trait_method_reference_fully_qualified { } + T_STRING + { + name := node.NewIdentifier($1.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) + comments.AddComments(name, $1.Comments()) + + $$ = stmt.NewTraitMethodRef(nil, name) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | trait_method_reference_fully_qualified + { $$ = $1 } ; trait_method_reference_fully_qualified: - fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { } + fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING + { + target := node.NewIdentifier($3.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) + comments.AddComments(target, $3.Comments()) + + $$ = stmt.NewTraitMethodRef($1, target) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } ; trait_alias: - trait_method_reference T_AS trait_modifiers T_STRING { } - | trait_method_reference T_AS member_modifier { } + trait_method_reference T_AS trait_modifiers T_STRING + { + alias := node.NewIdentifier($4.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition($4)) + $$ = stmt.NewTraitUseAlias($1, $3, alias) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + + comments.AddComments(alias, $4.Comments()) + comments.AddComments($$, comments[$1]) + } + | trait_method_reference T_AS member_modifier + { + $$ = stmt.NewTraitUseAlias($1, $3, nil) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } ; trait_modifiers: - /* empty */ { } /* No change of methods visibility */ - | member_modifier { } /* REM: Keep in mind, there are not only visibility modifiers */ + /* empty */ + { $$ = nil } + | member_modifier + { $$ = $1 } ; method_body: @@ -1523,12 +1585,42 @@ non_empty_member_modifiers: ; member_modifier: - T_PUBLIC { } - | T_PROTECTED { } - | T_PRIVATE { } - | T_STATIC { } - | T_ABSTRACT { } - | T_FINAL { } + T_PUBLIC + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_PROTECTED + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_PRIVATE + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_STATIC + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_ABSTRACT + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | T_FINAL + { + $$ = node.NewIdentifier($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } ; class_variable_declaration: From 1f448dade7c1a7881d66cde2a14192029b0458d5 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 00:37:43 +0200 Subject: [PATCH 25/31] php5 syntax --- php5/php5.go | 865 ++++++++++++++++++++++++++++----------------------- php5/php5.y | 131 +++++++- 2 files changed, 592 insertions(+), 404 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 5f044b2..3af770f 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -347,7 +347,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2895 +//line php5/php5.y:2996 //line yacctab:1 var yyExca = [...]int{ @@ -680,9 +680,9 @@ var yyAct = [...]int{ 968, 518, 976, 979, 448, 675, 527, 906, 949, 520, 964, 550, 398, 967, 254, 954, 520, 251, 558, 517, 809, 572, 385, 959, 586, 993, 362, 361, 360, 976, - 359, 844, 984, 737, 736, 905, 847, 848, 832, 990, - 520, 1, 572, 980, 981, 1006, 889, 572, 259, 260, - 1010, 940, 38, 1022, 341, 1008, 859, 747, 444, 1007, + 359, 844, 984, 737, 736, 905, 847, 848, 1, 990, + 520, 889, 572, 980, 981, 1006, 940, 572, 259, 260, + 1010, 1022, 38, 341, 859, 1008, 747, 444, 832, 1007, 970, 969, 901, 1005, 482, 401, 530, 572, 898, 191, 894, 1026, 530, 530, 1002, 1025, 831, 828, 572, 569, 719, 1019, 1018, 445, 716, 392, 1029, 387, 163, 339, @@ -1547,15 +1547,15 @@ var yyPgo = [...]int{ 1044, 50, 18, 1043, 28, 1042, 1040, 1039, 25, 43, 1038, 1037, 1035, 1034, 1032, 1031, 3, 1030, 19, 1029, 1027, 1026, 1020, 1015, 33, 1014, 1012, 1011, 1010, 1009, - 93, 14, 22, 7, 1008, 1007, 1006, 13, 30, 1004, - 1003, 1001, 15, 996, 991, 20, 988, 12, 11, 987, + 1008, 93, 14, 22, 7, 1007, 1006, 1004, 13, 30, + 1003, 1001, 996, 15, 991, 988, 20, 12, 11, 987, 986, 985, 984, 983, 981, 980, 978, 977, 976, 974, 972, 970, 968, 967, 964, 962, 961, 969, 26, 956, 955, 21, 5, 941, 938, 936, 933, 932, } var yyR1 = [...]int{ - 0, 134, 80, 80, 81, 81, 3, 3, 3, 3, + 0, 135, 80, 80, 81, 81, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 82, 82, 4, 4, 4, 4, 83, 83, 5, 5, 5, 5, 84, 84, 6, 6, 6, 6, 53, 53, 85, 85, 24, @@ -1563,19 +1563,19 @@ var yyR1 = [...]int{ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 103, 103, 61, 61, 104, 104, 105, - 105, 62, 101, 101, 58, 51, 52, 132, 132, 133, - 133, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 113, 113, 109, 109, 114, 114, 122, 122, 121, - 121, 121, 57, 57, 59, 59, 60, 60, 102, 102, - 129, 129, 129, 129, 99, 99, 99, 135, 135, 56, + 105, 62, 101, 101, 58, 51, 52, 133, 133, 134, + 134, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 113, 113, 109, 109, 114, 114, 123, 123, 122, + 122, 122, 57, 57, 59, 59, 60, 60, 102, 102, + 130, 130, 130, 130, 99, 99, 99, 136, 136, 56, 56, 95, 95, 96, 96, 54, 54, 55, 55, 106, - 106, 107, 107, 66, 66, 65, 65, 65, 65, 128, - 128, 128, 115, 115, 72, 72, 72, 72, 86, 86, + 106, 107, 107, 66, 66, 65, 65, 65, 65, 129, + 129, 129, 115, 115, 72, 72, 72, 72, 86, 86, 27, 27, 27, 87, 87, 87, 87, 108, 108, 69, - 69, 69, 69, 71, 116, 116, 131, 131, 117, 117, + 69, 69, 69, 71, 116, 116, 132, 132, 117, 117, 118, 118, 73, 73, 74, 119, 119, 77, 77, 76, - 75, 75, 78, 78, 130, 130, 110, 110, 111, 111, - 136, 136, 79, 79, 79, 79, 79, 79, 112, 112, + 75, 75, 78, 78, 131, 131, 110, 110, 111, 111, + 120, 120, 79, 79, 79, 79, 79, 79, 112, 112, 112, 112, 70, 70, 100, 100, 98, 98, 97, 97, 137, 137, 139, 139, 141, 140, 140, 140, 142, 143, 142, 42, 15, 15, 15, 144, 15, 15, 15, 15, @@ -1590,8 +1590,8 @@ var yyR1 = [...]int{ 50, 50, 47, 47, 47, 47, 46, 46, 1, 94, 94, 93, 93, 93, 93, 23, 23, 23, 23, 23, 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, - 43, 43, 41, 41, 125, 125, 126, 49, 49, 49, - 154, 154, 154, 127, 127, 7, 7, 7, 7, 7, + 43, 43, 41, 41, 126, 126, 127, 49, 49, 49, + 154, 154, 154, 128, 128, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 28, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, @@ -1603,7 +1603,7 @@ var yyR1 = [...]int{ 163, 163, 164, 138, 165, 165, 167, 166, 162, 162, 162, 40, 40, 44, 44, 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, 10, 9, 9, 13, - 13, 123, 123, 124, 124, 124, 39, 39, 120, 120, + 13, 124, 124, 125, 125, 125, 39, 39, 121, 121, 92, 92, 38, 38, 38, 91, 91, 90, 90, 90, 90, 90, 90, 90, 90, 88, 88, 88, 88, 33, 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, @@ -1669,7 +1669,7 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -134, -80, -3, -25, -51, -52, 51, 79, 44, + -1000, -135, -80, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1680,7 +1680,7 @@ var yyChk = [...]int{ 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, -30, -81, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -120, -44, -12, -40, -9, 134, + 64, 65, 80, -10, -121, -44, -12, -40, -9, 134, 12, 123, -81, 119, 82, 10, -82, 37, 38, -4, -81, 82, 121, 135, 122, 10, -85, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, @@ -1688,7 +1688,7 @@ var yyChk = [...]int{ -87, -1, 12, -100, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -132, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -133, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, 147, 123, -14, 104, 105, -18, -19, -81, 79, 82, @@ -1696,15 +1696,15 @@ var yyChk = [...]int{ -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, -48, -153, 125, 125, -154, 17, -88, -33, 12, 76, 77, -14, 57, -43, -11, -41, -81, 79, 82, -21, - -10, -120, -12, 123, 123, -14, -14, 123, -14, -14, + -10, -121, -12, 123, 123, -14, -14, 123, -14, -14, 125, -88, 17, 17, 75, -88, 125, 123, -91, -90, - -14, 128, 125, 125, 82, -128, 123, -81, 78, 125, - 119, -10, 134, 78, -128, 119, 124, 121, 119, -80, + -14, 128, 125, 125, 82, -129, 123, -81, 78, 125, + 119, -10, 134, 78, -129, 119, 124, 121, 119, -80, -81, 121, 135, -83, -5, -81, 82, -84, -6, -81, 82, 29, -81, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -132, -98, -97, - -14, -129, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -132, 136, 121, 135, -145, + 51, -25, 122, -56, -25, 122, 21, -133, -98, -97, + -14, -130, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -133, 136, 121, 135, -145, -146, -147, -148, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -43, -150, 122, -101, -58, -19, @@ -1713,13 +1713,13 @@ var yyChk = [...]int{ -14, -14, -14, -14, -14, -14, -14, -14, -92, -38, -19, 59, 82, -81, 78, 78, 124, 124, 124, 124, -14, -13, -14, -13, 118, -33, -33, 17, 125, 57, - -14, 11, -19, -123, -124, -40, -39, -10, -120, 10, - 119, -127, -128, 78, 82, -81, 57, -10, 78, -89, + -14, 11, -19, -124, -125, -40, -39, -10, -121, 10, + 119, -128, -129, 78, 82, -81, 57, -10, 78, -89, -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, -13, -91, 126, -161, 135, 58, -17, -19, -13, -13, - 10, 124, -115, -50, -72, -15, -19, 128, 83, -128, + 10, 124, -115, -50, -72, -15, -19, 128, 83, -129, -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, - 121, -80, 120, -128, -4, 121, 135, 29, -81, 121, + 121, -80, 120, -129, -4, 121, 135, 29, -81, 121, 135, 29, -81, 10, 29, 136, -28, -157, -7, -31, -81, 79, 82, 60, 125, -8, 62, -159, 18, 74, -11, 131, 132, 130, 129, 123, 123, -95, -85, -85, @@ -1729,41 +1729,41 @@ var yyChk = [...]int{ 56, -45, -81, 79, 82, 119, -114, -45, -15, -19, -19, 91, 124, 135, 123, -81, -149, 126, 126, -34, 10, 13, 12, 10, 120, 125, 120, -162, -166, -165, - -167, 125, 119, -10, -14, -40, -81, -123, -40, 124, + -167, 125, 119, -10, -14, -40, -81, -124, -40, 124, 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, - 128, 126, 126, 124, 135, 124, -17, -14, -128, -128, - 126, 120, -128, -128, 120, 120, -5, 10, 29, -6, + 128, 126, 126, 124, 135, 124, -17, -14, -129, -129, + 126, 120, -129, -129, 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, 127, 82, -81, 123, -158, -160, -157, 17, 78, -157, -157, -157, -157, -157, 124, -54, 93, 94, -96, 22, 121, -98, -14, 120, 32, 33, -99, 31, -99, 120, - 136, 123, 122, -14, 121, -58, -121, -19, 128, 59, - -121, -60, -25, 122, 10, -28, -103, 41, -106, -107, + 136, 123, 122, -14, 121, -58, -122, -19, 128, 59, + -122, -60, -25, 122, 10, -28, -103, 41, -106, -107, -66, -65, 60, 61, -45, -106, 119, -114, 82, -81, -108, 135, -43, 136, -38, -92, -142, -143, 126, -14, - -163, 125, 125, -128, -13, -14, 120, -125, -36, 58, + -163, 125, 125, -129, -13, -14, 120, -126, -36, 58, -17, -17, -72, 10, 10, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, 122, -157, -81, -158, 126, -161, 135, 58, 10, 52, 124, 121, -48, -25, -55, 93, 94, 121, 121, - -14, -135, 122, 121, 120, 121, 31, -28, -106, -151, - -122, 58, -19, 123, -122, -85, 136, -61, 42, 123, - 124, 135, -132, 124, -108, -81, 120, -69, -110, -70, - -71, -111, -136, 47, 38, 44, -79, 103, 102, 101, + -14, -136, 122, 121, 120, 121, 31, -28, -106, -151, + -123, 58, -19, 123, -123, -85, 136, -61, 42, 123, + 124, 135, -133, 124, -108, -81, 120, -69, -110, -70, + -71, -111, -120, 47, 38, 44, -79, 103, 102, 101, 98, 99, 100, -45, -144, -14, 124, -140, -139, -137, - 125, -138, 57, 126, -138, -13, -13, 126, 120, -126, + 125, -138, 57, 126, -138, -13, -13, 126, 120, -127, 57, -14, 128, 126, -157, 122, 124, -157, -157, -25, - 95, -48, 122, -98, -135, -85, 121, 124, -14, 124, - -121, -92, 124, 28, -28, 119, -45, 119, -66, -133, + 95, -48, 122, -98, -136, -85, 121, 124, -14, 124, + -122, -92, 124, 28, -28, 119, -45, 119, -66, -134, 83, -94, 44, 120, -112, 12, 121, 135, -1, -79, - 10, -116, -45, -127, 125, -141, -138, -13, -123, 120, - 126, 126, -123, -17, -157, 58, 121, 122, -85, 124, + 10, -116, -45, -128, 125, -141, -138, -13, -124, 120, + 126, 126, -124, -17, -157, 58, 121, 122, -85, 124, -85, -94, -59, -25, 122, 124, -59, 121, -85, 12, - -85, 12, 119, 123, 121, 135, 136, 10, -132, 136, - -131, 135, 121, 119, -13, -137, 126, -164, -157, -85, + -85, 12, 119, 123, 121, 135, 136, 10, -133, 136, + -132, 135, 121, 119, -13, -137, 126, -164, -157, -85, -57, -25, 122, 119, -85, 120, 124, 120, 136, -85, -93, 12, 128, 12, -28, 136, 10, -28, -45, -117, -118, -73, -74, -75, -76, -77, -45, 10, 126, -162, @@ -1771,7 +1771,7 @@ var yyChk = [...]int{ -28, 123, 120, -73, 121, 121, 45, 29, 78, 24, 120, 121, -85, 12, 128, -28, -106, -119, -45, -78, -79, 10, 121, 120, 12, 124, 135, 10, -104, -105, - -62, 41, -130, 121, 119, -45, -62, 123, -85, -45, + -62, 41, -131, 121, 119, -45, -62, 123, -85, -45, 120, 12, 124, 119, -85, 120, } var yyDef = [...]int{ @@ -3919,47 +3919,59 @@ yydefault: } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1568 + //line php5/php5.y:1569 { + yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 195: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1569 + //line php5/php5.y:1571 { + yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1573 + //line php5/php5.y:1576 { + yyVAL.list = yyDollar[1].list } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1574 + //line php5/php5.y:1578 { + modifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(modifier, yyDollar[1].token.Comments()) + + yyVAL.list = []node.Node{modifier} } case 198: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1578 + //line php5/php5.y:1589 { + yyVAL.list = nil } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1591 { + yyVAL.list = yyDollar[1].list } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1583 + //line php5/php5.y:1596 { + yyVAL.list = []node.Node{yyDollar[1].node} } case 201: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1584 + //line php5/php5.y:1598 { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1589 + //line php5/php5.y:1603 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3967,7 +3979,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1595 + //line php5/php5.y:1609 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3975,7 +3987,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1615 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3983,7 +3995,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1607 + //line php5/php5.y:1621 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3991,7 +4003,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1613 + //line php5/php5.y:1627 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3999,7 +4011,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1619 + //line php5/php5.y:1633 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4007,128 +4019,203 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1627 + //line php5/php5.y:1642 { + identifier := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(identifier, yyDollar[3].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(variable, yyDollar[3].token.Comments()) + + property := stmt.NewProperty(variable, nil, "") + positions.AddPosition(property, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(property, yyDollar[3].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, property) } case 209: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1658 { + identifier := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(identifier, yyDollar[3].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(variable, yyDollar[3].token.Comments()) + + property := stmt.NewProperty(variable, yyDollar[5].node, "") + positions.AddPosition(property, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node)) + comments.AddComments(property, yyDollar[3].token.Comments()) + + yyVAL.list = append(yyDollar[1].list, property) } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1629 + //line php5/php5.y:1674 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(identifier, yyDollar[1].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(variable, yyDollar[1].token.Comments()) + + property := stmt.NewProperty(variable, nil, "") + positions.AddPosition(property, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(property, yyDollar[1].token.Comments()) + + yyVAL.list = []node.Node{property} } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1690 { + identifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(identifier, yyDollar[1].token.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(variable, yyDollar[1].token.Comments()) + + property := stmt.NewProperty(variable, yyDollar[3].node, "") + positions.AddPosition(property, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + comments.AddComments(property, yyDollar[1].token.Comments()) + + yyVAL.list = []node.Node{property} } case 212: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1634 + //line php5/php5.y:1709 { + name := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + comments.AddComments(name, yyDollar[3].token.Comments()) + + constant := stmt.NewConstant(name, yyDollar[5].node, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node)) + comments.AddComments(constant, yyDollar[3].token.Comments()) + + yyDollar[1].node.(*stmt.ConstList).Consts = append(yyDollar[1].node.(*stmt.ConstList).Consts, constant) + positions.AddPosition(yyDollar[1].node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) + + yyVAL.node = yyDollar[1].node } case 213: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1635 + //line php5/php5.y:1724 { + name := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(name, yyDollar[2].token.Comments()) + + constant := stmt.NewConstant(name, yyDollar[4].node, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) + comments.AddComments(constant, yyDollar[2].token.Comments()) + + yyVAL.node = stmt.NewClassConstList(nil, []node.Node{constant}) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1640 + //line php5/php5.y:1741 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1642 + //line php5/php5.y:1743 { yyVAL.list = []node.Node{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1648 + //line php5/php5.y:1749 { yyVAL.list = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1650 + //line php5/php5.y:1751 { yyVAL.list = yyDollar[1].list } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1655 + //line php5/php5.y:1756 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1657 + //line php5/php5.y:1758 { yyVAL.list = []node.Node{yyDollar[1].node} } case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1661 + //line php5/php5.y:1762 { } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1662 + //line php5/php5.y:1763 { } case 222: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1666 + //line php5/php5.y:1767 { } case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1667 + //line php5/php5.y:1768 { } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1772 { } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1671 + //line php5/php5.y:1772 { } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1672 + //line php5/php5.y:1773 { } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1673 + //line php5/php5.y:1774 { } case 228: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1677 + //line php5/php5.y:1778 { } case 229: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1678 + //line php5/php5.y:1779 { } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1679 + //line php5/php5.y:1780 { } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1684 + //line php5/php5.y:1785 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4142,7 +4229,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1699 + //line php5/php5.y:1800 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4154,454 +4241,454 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1708 + //line php5/php5.y:1809 { } case 234: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1709 + //line php5/php5.y:1810 { } case 235: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1710 + //line php5/php5.y:1811 { } case 236: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1710 + //line php5/php5.y:1811 { } case 237: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1711 + //line php5/php5.y:1812 { } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1712 + //line php5/php5.y:1813 { } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1713 + //line php5/php5.y:1814 { } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1714 + //line php5/php5.y:1815 { } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1715 + //line php5/php5.y:1816 { } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1716 + //line php5/php5.y:1817 { } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1717 + //line php5/php5.y:1818 { } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1718 + //line php5/php5.y:1819 { } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1719 + //line php5/php5.y:1820 { } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1720 + //line php5/php5.y:1821 { } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1721 + //line php5/php5.y:1822 { } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1722 + //line php5/php5.y:1823 { } case 249: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1723 + //line php5/php5.y:1824 { } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1724 + //line php5/php5.y:1825 { } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1725 + //line php5/php5.y:1826 { } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1726 + //line php5/php5.y:1827 { } case 253: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1727 + //line php5/php5.y:1828 { } case 254: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1728 + //line php5/php5.y:1829 { } case 255: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1728 + //line php5/php5.y:1829 { } case 256: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1729 + //line php5/php5.y:1830 { } case 257: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1729 + //line php5/php5.y:1830 { } case 258: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1730 + //line php5/php5.y:1831 { } case 259: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1730 + //line php5/php5.y:1831 { } case 260: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1731 + //line php5/php5.y:1832 { } case 261: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1731 + //line php5/php5.y:1832 { } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1732 + //line php5/php5.y:1833 { } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1733 + //line php5/php5.y:1834 { } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1734 + //line php5/php5.y:1835 { } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1735 + //line php5/php5.y:1836 { } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1736 + //line php5/php5.y:1837 { } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1737 + //line php5/php5.y:1838 { } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1738 + //line php5/php5.y:1839 { } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1739 + //line php5/php5.y:1840 { } case 270: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1740 + //line php5/php5.y:1841 { } case 271: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1741 + //line php5/php5.y:1842 { } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1742 + //line php5/php5.y:1843 { } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1743 + //line php5/php5.y:1844 { } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1744 + //line php5/php5.y:1845 { } case 275: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1745 + //line php5/php5.y:1846 { } case 276: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1746 + //line php5/php5.y:1847 { } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1747 + //line php5/php5.y:1848 { } case 278: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1748 + //line php5/php5.y:1849 { } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1749 + //line php5/php5.y:1850 { } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1750 + //line php5/php5.y:1851 { } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1751 + //line php5/php5.y:1852 { } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1752 + //line php5/php5.y:1853 { } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1753 + //line php5/php5.y:1854 { } case 284: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1754 + //line php5/php5.y:1855 { } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1755 + //line php5/php5.y:1856 { } case 286: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1756 + //line php5/php5.y:1857 { } case 287: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1757 + //line php5/php5.y:1858 { } case 288: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1758 + //line php5/php5.y:1859 { } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1760 + //line php5/php5.y:1861 { yyVAL.node = yyDollar[1].node } case 290: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1761 + //line php5/php5.y:1862 { } case 291: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1761 + //line php5/php5.y:1862 { } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1762 + //line php5/php5.y:1863 { } case 293: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1763 + //line php5/php5.y:1864 { } case 294: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1764 + //line php5/php5.y:1865 { } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1765 + //line php5/php5.y:1866 { } case 296: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1766 + //line php5/php5.y:1867 { } case 297: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1767 + //line php5/php5.y:1868 { } case 298: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1869 { } case 299: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1769 + //line php5/php5.y:1870 { } case 300: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1770 + //line php5/php5.y:1871 { } case 301: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1771 + //line php5/php5.y:1872 { } case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1772 + //line php5/php5.y:1873 { } case 303: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1773 + //line php5/php5.y:1874 { } case 304: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1774 + //line php5/php5.y:1875 { } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1775 + //line php5/php5.y:1876 { } case 306: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1776 + //line php5/php5.y:1877 { } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1776 + //line php5/php5.y:1877 { } case 308: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1777 + //line php5/php5.y:1878 { yyVAL.node = yyDollar[1].node } case 309: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1778 + //line php5/php5.y:1879 { } case 310: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1779 + //line php5/php5.y:1880 { } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1780 + //line php5/php5.y:1881 { } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1781 + //line php5/php5.y:1882 { } case 313: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1782 + //line php5/php5.y:1883 { } case 314: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1783 + //line php5/php5.y:1884 { } case 315: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1785 + //line php5/php5.y:1886 { } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1786 + //line php5/php5.y:1887 { } case 317: yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1788 + //line php5/php5.y:1889 { } case 318: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1893 { } case 319: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1793 + //line php5/php5.y:1894 { } case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1794 + //line php5/php5.y:1895 { } case 321: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1795 + //line php5/php5.y:1896 { } case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1800 + //line php5/php5.y:1901 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4609,7 +4696,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1806 + //line php5/php5.y:1907 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4617,7 +4704,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1812 + //line php5/php5.y:1913 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4629,7 +4716,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1822 + //line php5/php5.y:1923 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4637,7 +4724,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1831 + //line php5/php5.y:1932 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4645,7 +4732,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1837 + //line php5/php5.y:1938 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4653,25 +4740,25 @@ yydefault: } case 328: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1846 + //line php5/php5.y:1947 { yyVAL.token = yyDollar[1].token } case 329: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1851 + //line php5/php5.y:1952 { yyVAL.list = []node.Node{} } case 330: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1853 + //line php5/php5.y:1954 { yyVAL.list = yyDollar[3].list } case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1858 + //line php5/php5.y:1959 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4689,7 +4776,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1874 + //line php5/php5.y:1975 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4707,7 +4794,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1890 + //line php5/php5.y:1991 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4725,7 +4812,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1906 + //line php5/php5.y:2007 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4743,7 +4830,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1925 + //line php5/php5.y:2026 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4755,7 +4842,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:2036 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4767,7 +4854,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1945 + //line php5/php5.y:2046 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4779,7 +4866,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1955 + //line php5/php5.y:2056 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4787,7 +4874,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1961 + //line php5/php5.y:2062 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4795,7 +4882,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:2068 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4803,7 +4890,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1973 + //line php5/php5.y:2074 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4811,7 +4898,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1979 + //line php5/php5.y:2080 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4819,7 +4906,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:2089 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4827,7 +4914,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1994 + //line php5/php5.y:2095 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4835,7 +4922,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2000 + //line php5/php5.y:2101 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4843,7 +4930,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2006 + //line php5/php5.y:2107 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4851,7 +4938,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2015 + //line php5/php5.y:2116 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4859,7 +4946,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2021 + //line php5/php5.y:2122 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4867,7 +4954,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2027 + //line php5/php5.y:2128 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4875,19 +4962,19 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2036 + //line php5/php5.y:2137 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2038 + //line php5/php5.y:2139 { yyVAL.node = yyDollar[1].node } case 352: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2043 + //line php5/php5.y:2144 { yyVAL.node = yyDollar[1].node @@ -4919,76 +5006,76 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2073 + //line php5/php5.y:2174 { yyVAL.node = yyDollar[1].node } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2079 + //line php5/php5.y:2180 { yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) } case 355: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2081 + //line php5/php5.y:2182 { yyVAL.objectPropertyList = []objectProperty{} } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2087 + //line php5/php5.y:2188 { yyVAL.objectPropertyList = yyDollar[2].objectPropertyList } case 357: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2092 + //line php5/php5.y:2193 { yyVAL.node = nil } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2094 + //line php5/php5.y:2195 { yyVAL.node = nil } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2096 + //line php5/php5.y:2197 { yyVAL.node = yyDollar[1].node } case 360: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2100 + //line php5/php5.y:2201 { } case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2101 + //line php5/php5.y:2202 { } case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2102 + //line php5/php5.y:2203 { } case 363: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2107 + //line php5/php5.y:2208 { yyVAL.nodesWithEndToken = nil } case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2109 + //line php5/php5.y:2210 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2114 + //line php5/php5.y:2215 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4996,7 +5083,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2120 + //line php5/php5.y:2221 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5004,7 +5091,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2126 + //line php5/php5.y:2227 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5012,7 +5099,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2132 + //line php5/php5.y:2233 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5020,7 +5107,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2138 + //line php5/php5.y:2239 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5028,7 +5115,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2144 + //line php5/php5.y:2245 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5036,7 +5123,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2150 + //line php5/php5.y:2251 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5044,7 +5131,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2156 + //line php5/php5.y:2257 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5052,7 +5139,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2162 + //line php5/php5.y:2263 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5060,7 +5147,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2168 + //line php5/php5.y:2269 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5068,7 +5155,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2174 + //line php5/php5.y:2275 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5076,7 +5163,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2179 + //line php5/php5.y:2280 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5084,7 +5171,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2188 + //line php5/php5.y:2289 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5096,233 +5183,233 @@ yydefault: } case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2200 + //line php5/php5.y:2301 { } case 379: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2204 + //line php5/php5.y:2305 { } case 380: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2205 + //line php5/php5.y:2306 { } case 381: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2206 + //line php5/php5.y:2307 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2207 + //line php5/php5.y:2308 { } case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2208 + //line php5/php5.y:2309 { } case 384: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2209 + //line php5/php5.y:2310 { } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2210 + //line php5/php5.y:2311 { } case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2211 + //line php5/php5.y:2312 { } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2212 + //line php5/php5.y:2313 { } case 388: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2213 + //line php5/php5.y:2314 { } case 389: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2217 + //line php5/php5.y:2318 { } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2218 + //line php5/php5.y:2319 { } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2219 + //line php5/php5.y:2320 { } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2220 + //line php5/php5.y:2321 { } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2221 + //line php5/php5.y:2322 { } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2222 + //line php5/php5.y:2323 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2223 + //line php5/php5.y:2324 { } case 396: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2224 + //line php5/php5.y:2325 { } case 397: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2225 + //line php5/php5.y:2326 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2226 + //line php5/php5.y:2327 { } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2227 + //line php5/php5.y:2328 { } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2228 + //line php5/php5.y:2329 { } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2229 + //line php5/php5.y:2330 { } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2230 + //line php5/php5.y:2331 { } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2231 + //line php5/php5.y:2332 { } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2232 + //line php5/php5.y:2333 { } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2233 + //line php5/php5.y:2334 { } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2234 + //line php5/php5.y:2335 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2235 + //line php5/php5.y:2336 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2236 + //line php5/php5.y:2337 { } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2237 + //line php5/php5.y:2338 { } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2238 + //line php5/php5.y:2339 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2239 + //line php5/php5.y:2340 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2240 + //line php5/php5.y:2341 { } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2241 + //line php5/php5.y:2342 { } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2242 + //line php5/php5.y:2343 { } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2243 + //line php5/php5.y:2344 { } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2244 + //line php5/php5.y:2345 { } case 417: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2245 + //line php5/php5.y:2346 { } case 418: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2246 + //line php5/php5.y:2347 { } case 419: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2247 + //line php5/php5.y:2348 { } case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2248 + //line php5/php5.y:2349 { } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2249 + //line php5/php5.y:2350 { } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2254 + //line php5/php5.y:2355 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2256 + //line php5/php5.y:2357 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5330,7 +5417,7 @@ yydefault: } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2262 + //line php5/php5.y:2363 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5338,7 +5425,7 @@ yydefault: } case 425: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2268 + //line php5/php5.y:2369 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5346,7 +5433,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2277 + //line php5/php5.y:2378 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5358,25 +5445,25 @@ yydefault: } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2287 + //line php5/php5.y:2388 { yyVAL.node = yyDollar[1].node } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2390 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2291 + //line php5/php5.y:2392 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2293 + //line php5/php5.y:2394 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5384,7 +5471,7 @@ yydefault: } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2299 + //line php5/php5.y:2400 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5392,7 +5479,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2305 + //line php5/php5.y:2406 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5400,151 +5487,151 @@ yydefault: } case 433: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2313 + //line php5/php5.y:2414 { } case 434: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2314 + //line php5/php5.y:2415 { } case 437: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2323 + //line php5/php5.y:2424 { } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2324 + //line php5/php5.y:2425 { } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2325 + //line php5/php5.y:2426 { } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2326 + //line php5/php5.y:2427 { } case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2331 + //line php5/php5.y:2432 { yyVAL.node = yyDollar[1].node } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2333 + //line php5/php5.y:2434 { yyVAL.node = yyDollar[1].node } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2338 + //line php5/php5.y:2439 { yyVAL.node = yyDollar[2].node } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2340 + //line php5/php5.y:2441 { yyVAL.node = yyDollar[2].node } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2346 + //line php5/php5.y:2447 { yyVAL.node = yyDollar[1].node } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2354 + //line php5/php5.y:2455 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2361 + //line php5/php5.y:2462 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2368 + //line php5/php5.y:2469 { } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2370 + //line php5/php5.y:2471 { yyVAL.node = yyDollar[1].node } case 450: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2374 + //line php5/php5.y:2475 { } case 451: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2375 + //line php5/php5.y:2476 { } case 452: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2380 + //line php5/php5.y:2481 { } case 453: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2380 + //line php5/php5.y:2481 { } case 454: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2384 + //line php5/php5.y:2485 { } case 455: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2385 + //line php5/php5.y:2486 { } case 456: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2389 + //line php5/php5.y:2490 { } case 457: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2390 + //line php5/php5.y:2491 { } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2394 + //line php5/php5.y:2495 { } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2395 + //line php5/php5.y:2496 { } case 460: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2396 + //line php5/php5.y:2497 { } case 461: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2401 + //line php5/php5.y:2502 { yyVAL.node = yyDollar[1].node } case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2403 + //line php5/php5.y:2504 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5556,7 +5643,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2416 + //line php5/php5.y:2517 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5564,7 +5651,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2422 + //line php5/php5.y:2523 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5572,47 +5659,47 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2432 + //line php5/php5.y:2533 { yyVAL.node = yyDollar[1].node } case 466: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2437 + //line php5/php5.y:2538 { } case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2439 + //line php5/php5.y:2540 { } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2443 + //line php5/php5.y:2544 { yyVAL.node = yyDollar[1].node } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2444 + //line php5/php5.y:2545 { yyVAL.node = yyDollar[1].node } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2445 + //line php5/php5.y:2546 { yyVAL.node = yyDollar[1].node } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2451 + //line php5/php5.y:2552 { yyVAL.node = yyDollar[1].node } case 472: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2453 + //line php5/php5.y:2554 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5624,13 +5711,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2463 + //line php5/php5.y:2564 { yyVAL.node = yyDollar[1].node } case 474: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2468 + //line php5/php5.y:2569 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5638,7 +5725,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2474 + //line php5/php5.y:2575 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5646,13 +5733,13 @@ yydefault: } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2480 + //line php5/php5.y:2581 { yyVAL.node = yyDollar[1].node } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2486 + //line php5/php5.y:2587 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5664,7 +5751,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2496 + //line php5/php5.y:2597 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5672,53 +5759,53 @@ yydefault: } case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2504 + //line php5/php5.y:2605 { yyVAL.node = nil } case 480: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2505 + //line php5/php5.y:2606 { yyVAL.node = yyDollar[1].node } case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2511 + //line php5/php5.y:2612 { yyVAL.objectPropertyList = yyDollar[1].objectPropertyList } case 482: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2513 + //line php5/php5.y:2614 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 483: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2521 + //line php5/php5.y:2622 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2526 + //line php5/php5.y:2627 { op := objectProperty{yyDollar[3].node, arrayFetchType} yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2531 + //line php5/php5.y:2632 { op := objectProperty{yyDollar[1].node, propertyFetchType} yyVAL.objectPropertyList = []objectProperty{op} } case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2539 + //line php5/php5.y:2640 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5726,13 +5813,13 @@ yydefault: } case 487: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2545 + //line php5/php5.y:2646 { yyVAL.node = yyDollar[2].node } case 488: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2550 + //line php5/php5.y:2651 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5742,7 +5829,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2558 + //line php5/php5.y:2659 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5756,25 +5843,25 @@ yydefault: } case 490: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2573 + //line php5/php5.y:2674 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2575 + //line php5/php5.y:2676 { yyVAL.list = []node.Node{yyDollar[1].node} } case 492: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2581 + //line php5/php5.y:2682 { yyVAL.node = yyDollar[1].node } case 493: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2583 + //line php5/php5.y:2684 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5782,25 +5869,25 @@ yydefault: } case 494: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2589 + //line php5/php5.y:2690 { yyVAL.node = nil } case 495: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2595 + //line php5/php5.y:2696 { yyVAL.list = nil } case 496: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2597 + //line php5/php5.y:2698 { yyVAL.list = yyDollar[1].list } case 497: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2602 + //line php5/php5.y:2703 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5810,7 +5897,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2610 + //line php5/php5.y:2711 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5820,7 +5907,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2618 + //line php5/php5.y:2719 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5830,7 +5917,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2626 + //line php5/php5.y:2727 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5840,7 +5927,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2634 + //line php5/php5.y:2735 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5850,7 +5937,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2642 + //line php5/php5.y:2743 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5860,7 +5947,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2650 + //line php5/php5.y:2751 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5870,7 +5957,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2658 + //line php5/php5.y:2759 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5880,13 +5967,13 @@ yydefault: } case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2669 + //line php5/php5.y:2770 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2671 + //line php5/php5.y:2772 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5895,13 +5982,13 @@ yydefault: } case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2678 + //line php5/php5.y:2779 { yyVAL.list = []node.Node{yyDollar[1].node} } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2680 + //line php5/php5.y:2781 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5910,7 +5997,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2690 + //line php5/php5.y:2791 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5922,7 +6009,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2700 + //line php5/php5.y:2801 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5937,7 +6024,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2713 + //line php5/php5.y:2814 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5955,7 +6042,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2729 + //line php5/php5.y:2830 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5963,7 +6050,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2735 + //line php5/php5.y:2836 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5978,13 +6065,13 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2749 + //line php5/php5.y:2850 { yyVAL.node = yyDollar[2].node } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2754 + //line php5/php5.y:2855 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5992,7 +6079,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2760 + //line php5/php5.y:2861 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6006,7 +6093,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2772 + //line php5/php5.y:2873 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6018,7 +6105,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2785 + //line php5/php5.y:2886 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6026,7 +6113,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2791 + //line php5/php5.y:2892 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6034,7 +6121,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2797 + //line php5/php5.y:2898 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6042,7 +6129,7 @@ yydefault: } case 521: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2803 + //line php5/php5.y:2904 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6050,7 +6137,7 @@ yydefault: } case 522: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2809 + //line php5/php5.y:2910 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6058,7 +6145,7 @@ yydefault: } case 523: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2815 + //line php5/php5.y:2916 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6066,7 +6153,7 @@ yydefault: } case 524: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2821 + //line php5/php5.y:2922 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6074,7 +6161,7 @@ yydefault: } case 525: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2827 + //line php5/php5.y:2928 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6082,31 +6169,31 @@ yydefault: } case 526: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2836 + //line php5/php5.y:2937 { yyVAL.list = []node.Node{yyDollar[1].node} } case 527: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2838 + //line php5/php5.y:2939 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 528: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2842 + //line php5/php5.y:2943 { yyVAL.node = yyDollar[1].node } case 529: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2843 + //line php5/php5.y:2944 { yyVAL.node = yyDollar[1].node } case 530: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2848 + //line php5/php5.y:2949 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6118,7 +6205,7 @@ yydefault: } case 531: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2858 + //line php5/php5.y:2959 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6130,7 +6217,7 @@ yydefault: } case 532: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2871 + //line php5/php5.y:2972 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6142,7 +6229,7 @@ yydefault: } case 533: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2884 + //line php5/php5.y:2985 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index f49f412..1f2a05b 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -218,7 +218,7 @@ import ( %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list %type interface_list non_empty_function_call_parameter_list trait_list trait_adaptation_list non_empty_trait_adaptation_list -%type trait_reference_list +%type trait_reference_list non_empty_member_modifiers %type simple_indirect_reference @@ -1565,23 +1565,37 @@ trait_modifiers: ; method_body: - ';' /* abstract method */ { } - | '{' inner_statement_list '}' { } + ';' /* abstract method */ + { $$ = &nodesWithEndToken{nil, $1} } + | '{' inner_statement_list '}' + { $$ = &nodesWithEndToken{$2, $3} } ; variable_modifiers: - non_empty_member_modifiers { } - | T_VAR { } + non_empty_member_modifiers + { $$ = $1; } + | T_VAR + { + modifier := node.NewIdentifier($1.Value) + positions.AddPosition(modifier, positionBuilder.NewTokenPosition($1)) + comments.AddComments(modifier, $1.Comments()) + + $$ = []node.Node{modifier} + } ; method_modifiers: - /* empty */ { } - | non_empty_member_modifiers { } + /* empty */ + { $$ = nil } + | non_empty_member_modifiers + { $$ = $1 } ; non_empty_member_modifiers: - member_modifier { } - | non_empty_member_modifiers member_modifier { } + member_modifier + { $$ = []node.Node{$1} } + | non_empty_member_modifiers member_modifier + { $$ = append($1, $2) } ; member_modifier: @@ -1624,15 +1638,102 @@ member_modifier: ; class_variable_declaration: - class_variable_declaration ',' T_VARIABLE { } - | class_variable_declaration ',' T_VARIABLE '=' static_scalar { } - | T_VARIABLE { } - | T_VARIABLE '=' static_scalar { } + class_variable_declaration ',' T_VARIABLE + { + identifier := node.NewIdentifier($3.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($3)) + comments.AddComments(identifier, $3.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($3)) + comments.AddComments(variable, $3.Comments()) + + property := stmt.NewProperty(variable, nil, "") + positions.AddPosition(property, positionBuilder.NewTokenPosition($3)) + comments.AddComments(property, $3.Comments()) + + $$ = append($1, property) + } + | class_variable_declaration ',' T_VARIABLE '=' static_scalar + { + identifier := node.NewIdentifier($3.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($3)) + comments.AddComments(identifier, $3.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($3)) + comments.AddComments(variable, $3.Comments()) + + property := stmt.NewProperty(variable, $5, "") + positions.AddPosition(property, positionBuilder.NewTokenNodePosition($3, $5)) + comments.AddComments(property, $3.Comments()) + + $$ = append($1, property) + } + | T_VARIABLE + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + comments.AddComments(identifier, $1.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + comments.AddComments(variable, $1.Comments()) + + property := stmt.NewProperty(variable, nil, "") + positions.AddPosition(property, positionBuilder.NewTokenPosition($1)) + comments.AddComments(property, $1.Comments()) + + $$ = []node.Node{property} + } + | T_VARIABLE '=' static_scalar + { + identifier := node.NewIdentifier($1.Value) + positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) + comments.AddComments(identifier, $1.Comments()) + + variable := expr.NewVariable(identifier) + positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) + comments.AddComments(variable, $1.Comments()) + + property := stmt.NewProperty(variable, $3, "") + positions.AddPosition(property, positionBuilder.NewTokenNodePosition($1, $3)) + comments.AddComments(property, $1.Comments()) + + $$ = []node.Node{property} + } ; class_constant_declaration: - class_constant_declaration ',' T_STRING '=' static_scalar { } - | T_CONST T_STRING '=' static_scalar { } + class_constant_declaration ',' T_STRING '=' static_scalar + { + name := node.NewIdentifier($3.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) + comments.AddComments(name, $3.Comments()) + + constant := stmt.NewConstant(name, $5, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition($3, $5)) + comments.AddComments(constant, $3.Comments()) + + $1.(*stmt.ConstList).Consts = append($1.(*stmt.ConstList).Consts, constant) + positions.AddPosition($1, positionBuilder.NewNodesPosition($1, $5)) + + $$ = $1 + } + | T_CONST T_STRING '=' static_scalar + { + name := node.NewIdentifier($2.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) + comments.AddComments(name, $2.Comments()) + + constant := stmt.NewConstant(name, $4, "") + positions.AddPosition(constant, positionBuilder.NewTokenNodePosition($2, $4)) + comments.AddComments(constant, $2.Comments()) + + $$ = stmt.NewClassConstList(nil, []node.Node{constant}) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; echo_expr_list: From b1c1bb6dc66fb294afc660c2f8a87ca8b740831f Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 18:51:44 +0200 Subject: [PATCH 26/31] php5 syntax --- php5/parser.go | 45 +- php5/php5.go | 4265 +++++++++++++++++++++++++----------------------- php5/php5.y | 257 ++- 3 files changed, 2401 insertions(+), 2166 deletions(-) diff --git a/php5/parser.go b/php5/parser.go index e78bc8f..5627045 100644 --- a/php5/parser.go +++ b/php5/parser.go @@ -1,9 +1,10 @@ package php5 import ( - "github.com/z7zmey/php-parser/node/expr" "io" + "github.com/z7zmey/php-parser/node/expr" + "github.com/z7zmey/php-parser/comment" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/stmt" @@ -16,15 +17,17 @@ var comments comment.Comments var positions position.Positions var positionBuilder position.Builder +var parentNode node.Node + func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { - yyDebug = 0 - yyErrorVerbose = true - rootnode = stmt.NewStmtList([]node.Node{}) //reset - comments = comment.Comments{} - positions = position.Positions{} - positionBuilder = position.Builder{&positions} - yyParse(newLexer(src, fName)) - return rootnode, comments, positions + yyDebug = 0 + yyErrorVerbose = true + rootnode = stmt.NewStmtList([]node.Node{}) //reset + comments = comment.Comments{} + positions = position.Positions{} + positionBuilder = position.Builder{&positions} + yyParse(newLexer(src, fName)) + return rootnode, comments, positions } func ListGetFirstNodeComments(list []node.Node) []comment.Comment { @@ -38,29 +41,21 @@ func ListGetFirstNodeComments(list []node.Node) []comment.Comment { } type foreachVariable struct { - node node.Node - byRef bool + node node.Node + byRef bool } type nodesWithEndToken struct { - nodes []node.Node - endToken token.Token + nodes []node.Node + endToken token.Token } type boolWithToken struct { - value bool - token *token.Token + value bool + token *token.Token } type simpleIndirectReference struct { - all []*expr.Variable - last *expr.Variable + all []*expr.Variable + last *expr.Variable } - -const arrayFetchType = 0 -const propertyFetchType = 1 - -type objectProperty struct { - node node.Node - fetchType int -} \ No newline at end of file diff --git a/php5/php5.go b/php5/php5.go index 3af770f..8cf230f 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -31,7 +31,6 @@ type yySymType struct { foreachVariable foreachVariable nodesWithEndToken *nodesWithEndToken simpleIndirectReference simpleIndirectReference - objectPropertyList []objectProperty // str string } @@ -347,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:2996 +//line php5/php5.y:3145 //line yacctab:1 var yyExca = [...]int{ @@ -355,130 +354,127 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 447, - 105, 447, - -2, 445, - -1, 101, - 78, 344, - -2, 423, - -1, 113, - 78, 465, - 123, 461, - -2, 471, - -1, 153, - 104, 447, - 105, 447, - -2, 445, - -1, 203, - 121, 318, - 124, 318, + 104, 444, + 105, 444, -2, 442, + -1, 101, + 78, 341, + -2, 420, + -1, 113, + 78, 460, + 123, 456, + -2, 466, + -1, 153, + 104, 444, + 105, 444, + -2, 442, + -1, 203, + 121, 315, + 124, 315, + -2, 439, -1, 204, - 104, 447, - 105, 447, - 121, 319, - 124, 319, - -2, 445, + 104, 444, + 105, 444, + 121, 316, + 124, 316, + -2, 442, -1, 270, - 78, 465, - -2, 471, + 78, 460, + -2, 466, -1, 297, - 78, 346, - -2, 425, + 78, 343, + -2, 422, -1, 301, - 123, 462, - -2, 472, + 123, 457, + -2, 467, -1, 310, - 78, 345, - -2, 424, + 78, 342, + -2, 421, -1, 376, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 279, + -2, 277, -1, 377, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 280, + -2, 278, -1, 378, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 281, + -2, 279, -1, 379, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 282, + -2, 280, -1, 380, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 283, + -2, 281, -1, 381, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 284, + -2, 282, -1, 382, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 285, + -2, 283, -1, 383, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 286, + -2, 284, -1, 390, - 104, 447, - 105, 447, - -2, 445, - -1, 443, - 123, 456, - -2, 460, - -1, 461, - 104, 447, - 105, 447, - 124, 528, - 135, 528, - -2, 445, - -1, 462, - 124, 529, - 135, 529, + 104, 444, + 105, 444, -2, 442, + -1, 461, + 104, 444, + 105, 444, + 124, 523, + 135, 523, + -2, 442, + -1, 462, + 124, 524, + 135, 524, + -2, 439, -1, 463, - 104, 447, - 105, 447, - -2, 445, + 104, 444, + 105, 444, + -2, 442, -1, 485, 124, 154, 135, 154, - -2, 442, + -2, 439, -1, 486, - 104, 447, - 105, 447, + 104, 444, + 105, 444, 124, 155, 135, 155, - -2, 445, + -2, 442, -1, 492, - 123, 486, - -2, 530, + 123, 481, + -2, 525, -1, 498, - 123, 486, - -2, 531, + 123, 481, + -2, 526, -1, 520, - 78, 344, - -2, 381, + 78, 341, + -2, 378, -1, 567, 124, 140, -2, 145, @@ -486,354 +482,376 @@ var yyExca = [...]int{ 124, 140, -2, 145, -1, 578, - 121, 320, - 124, 320, - -2, 442, + 121, 317, + 124, 317, + -2, 439, -1, 579, - 104, 447, - 105, 447, - 121, 321, - 124, 321, - -2, 445, - -1, 586, - 57, 229, - 125, 229, - -2, 228, - -1, 672, - 78, 346, - -2, 383, - -1, 701, + 104, 444, + 105, 444, + 121, 318, + 124, 318, + -2, 442, + -1, 678, + 78, 343, + -2, 380, + -1, 707, 124, 140, -2, 145, - -1, 773, + -1, 781, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 406, + -1, 782, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 407, + -1, 783, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 408, + -1, 784, 153, 0, 154, 0, 155, 0, 156, 0, -2, 409, - -1, 774, - 153, 0, - 154, 0, - 155, 0, - 156, 0, + -1, 785, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 410, - -1, 775, - 153, 0, - 154, 0, - 155, 0, - 156, 0, + -1, 786, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 411, - -1, 776, - 153, 0, - 154, 0, - 155, 0, - 156, 0, + -1, 787, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 412, - -1, 777, + -1, 788, 157, 0, 158, 0, 159, 0, 160, 0, -2, 413, - -1, 778, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 414, - -1, 779, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 415, - -1, 780, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 416, - -1, 783, - 78, 345, - -2, 382, - -1, 832, + -1, 791, + 78, 342, + -2, 379, + -1, 840, 37, 199, -2, 196, - -1, 848, - 57, 224, - -2, 226, - -1, 947, - 123, 456, - -2, 460, - -1, 977, + -1, 974, 29, 187, -2, 4, - -1, 991, + -1, 986, 124, 140, -2, 145, - -1, 1010, + -1, 1005, 121, 191, -2, 193, } const yyPrivate = 57344 -const yyLast = 8422 +const yyLast = 8391 var yyAct = [...]int{ - 101, 1020, 836, 718, 971, 597, 431, 443, 724, 122, - 130, 851, 849, 451, 706, 199, 113, 720, 418, 730, - 801, 473, 810, 516, 922, 338, 674, 460, 891, 327, - 295, 419, 4, 576, 388, 97, 263, 318, 157, 314, - 136, 60, 329, 543, 2, 6, 446, 129, 257, 140, - 288, 328, 484, 644, 5, 227, 227, 476, 25, 137, - 139, 178, 43, 144, 42, 989, 943, 449, 942, 120, - 965, 958, 191, 986, 939, 936, 934, 925, 896, 816, - 266, 492, 941, 120, 987, 1016, 846, 152, 583, 498, - 935, 120, 897, 114, 733, 648, 270, 583, 978, 700, - 623, 609, 565, 297, 203, 644, 515, 191, 652, 646, - 645, 624, 610, 250, 644, 269, 582, 356, 646, 645, - 324, 240, 731, 493, 200, 310, 821, 583, 315, 319, - 787, 301, 322, 664, 665, 662, 663, 666, 668, 667, - 669, 654, 655, 656, 647, 649, 650, 648, 304, 178, - 654, 655, 656, 647, 649, 650, 648, 337, 509, 120, - 227, 644, 120, 563, 559, 646, 645, 331, 309, 334, - 644, 505, 510, 271, 564, 560, 450, 355, 169, 191, - 117, 177, 179, 180, 178, 506, 141, 158, 542, 38, - 450, 119, 266, 357, 227, 474, 1003, 240, 450, 656, - 647, 649, 650, 648, 946, 119, 353, 358, 270, 647, - 649, 650, 648, 119, 161, 348, 192, 172, 176, 175, - 354, 311, 227, 911, 350, 910, 904, 269, 384, 349, - 423, 857, 961, 852, 103, 312, 785, 394, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 391, 132, 300, - 433, 227, 738, 1032, 630, 299, 1027, 622, 621, 455, - 615, 614, 133, 742, 125, 125, 120, 120, 588, 447, - 602, 119, 587, 472, 302, 271, 601, 466, 457, 230, - 230, 741, 227, 470, 452, 595, 125, 293, 120, 478, - 479, 850, 439, 292, 435, 436, 494, 286, 240, 159, - 280, 253, 1004, 130, 264, 447, 252, 508, 1015, 956, - 447, 512, 919, 38, 709, 520, 882, 879, 489, 877, - 436, 435, 435, 866, 436, 161, 462, 464, 471, 4, - 823, 503, 191, 228, 228, 490, 229, 229, 962, 820, - 496, 684, 6, 501, 294, 483, 448, 520, 625, 485, - 504, 5, 232, 232, 616, 228, 612, 428, 229, 991, - 438, 426, 306, 538, 933, 917, 539, 581, 540, 296, - 551, 176, 175, 351, 232, 191, 138, 545, 547, 819, - 813, 701, 448, 708, 230, 296, 673, 448, 119, 119, - 584, 572, 568, 572, 567, 125, 227, 120, 536, 571, - 294, 577, 287, 181, 182, 174, 177, 179, 180, 178, - 119, 803, 802, 585, 176, 175, 264, 342, 230, 277, - 343, 872, 125, 274, 120, 273, 125, 249, 120, 221, - 195, 447, 447, 445, 194, 193, 143, 308, 121, 307, - 1024, 386, 1023, 1012, 489, 606, 230, 134, 174, 177, - 179, 180, 178, 1001, 607, 603, 578, 694, 695, 995, - 447, 490, 496, 447, 228, 447, 994, 229, 927, 491, - 916, 421, 694, 695, 497, 876, 805, 799, 227, 798, - 792, 704, 690, 232, 546, 230, 38, 544, 541, 500, - 396, 228, 346, 155, 229, 267, 992, 315, 268, 258, - 909, 319, 596, 1033, 437, 125, 520, 983, 448, 448, - 232, 628, 629, 672, 232, 520, 230, 632, 633, 119, - 953, 4, 520, 520, 520, 520, 520, 932, 887, 643, - 885, 870, 726, 575, 6, 626, 636, 448, 639, 305, - 448, 196, 448, 5, 434, 804, 119, 223, 224, 530, - 119, 227, 227, 227, 796, 797, 520, 691, 572, 572, - 693, 572, 725, 259, 260, 729, 890, 710, 294, 577, - 641, 38, 266, 638, 227, 227, 728, 124, 696, 715, - 698, 530, 256, 712, 90, 705, 686, 687, 270, 671, - 454, 422, 124, 735, 727, 491, 497, 998, 744, 125, - 125, 125, 678, 458, 467, 734, 503, 269, 732, 227, - 453, 227, 425, 125, 123, 840, 841, 842, 839, 838, - 837, 743, 677, 294, 605, 424, 294, 445, 748, 608, - 230, 125, 977, 303, 298, 520, 520, 520, 520, 520, + 101, 1015, 844, 724, 968, 451, 199, 443, 726, 122, + 130, 418, 295, 338, 809, 114, 712, 736, 473, 591, + 419, 680, 589, 923, 603, 818, 460, 388, 97, 60, + 896, 263, 730, 543, 314, 318, 446, 141, 157, 2, + 38, 576, 329, 327, 257, 6, 4, 137, 139, 129, + 328, 144, 484, 5, 476, 227, 227, 136, 25, 178, + 650, 288, 984, 140, 42, 161, 962, 955, 981, 940, + 937, 43, 824, 191, 944, 449, 943, 120, 650, 982, + 266, 191, 652, 651, 492, 739, 120, 926, 706, 854, + 942, 498, 935, 120, 565, 271, 152, 125, 583, 120, + 583, 250, 654, 297, 515, 650, 936, 1011, 269, 652, + 651, 629, 615, 203, 660, 661, 662, 653, 655, 656, + 654, 240, 630, 616, 516, 310, 493, 737, 315, 319, + 304, 650, 322, 670, 671, 668, 669, 672, 674, 673, + 675, 660, 661, 662, 653, 655, 656, 654, 337, 650, + 178, 901, 356, 652, 651, 177, 179, 180, 178, 324, + 227, 829, 509, 309, 582, 902, 228, 113, 355, 229, + 653, 655, 656, 654, 38, 583, 510, 795, 581, 542, + 117, 331, 120, 334, 450, 232, 161, 662, 653, 655, + 656, 654, 266, 450, 227, 474, 125, 240, 120, 119, + 450, 650, 563, 559, 505, 652, 651, 271, 119, 751, + 120, 158, 357, 564, 560, 119, 200, 353, 506, 912, + 269, 119, 227, 384, 350, 50, 358, 125, 998, 120, + 423, 354, 103, 672, 674, 673, 675, 660, 661, 662, + 653, 655, 656, 654, 348, 421, 311, 270, 958, 132, + 153, 1028, 911, 909, 394, 862, 856, 793, 349, 747, + 312, 227, 125, 133, 120, 228, 391, 204, 229, 455, + 125, 300, 120, 636, 628, 592, 452, 299, 448, 627, + 226, 226, 301, 621, 232, 620, 594, 230, 230, 593, + 472, 608, 227, 750, 601, 592, 228, 607, 191, 229, + 435, 436, 293, 292, 119, 286, 280, 125, 240, 120, + 489, 1027, 264, 130, 448, 232, 439, 508, 253, 448, + 119, 512, 252, 503, 1010, 520, 436, 435, 435, 953, + 436, 228, 302, 159, 229, 490, 351, 176, 175, 267, + 496, 191, 268, 742, 999, 462, 464, 38, 501, 471, + 232, 119, 6, 4, 920, 483, 715, 520, 232, 270, + 5, 887, 504, 590, 959, 884, 540, 882, 485, 181, + 182, 174, 177, 179, 180, 178, 228, 545, 871, 229, + 176, 175, 831, 918, 438, 352, 119, 828, 547, 690, + 538, 631, 230, 539, 119, 232, 294, 622, 618, 428, + 426, 572, 306, 572, 1022, 986, 227, 934, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 389, + 390, 296, 138, 585, 264, 714, 230, 827, 821, 707, + 447, 119, 38, 571, 679, 577, 489, 296, 584, 457, + 448, 448, 568, 445, 811, 810, 294, 420, 567, 536, + 342, 287, 277, 343, 230, 612, 606, 274, 431, 273, + 249, 490, 496, 221, 613, 195, 447, 194, 193, 448, + 143, 447, 448, 121, 448, 578, 1019, 877, 1018, 491, + 386, 551, 134, 308, 497, 307, 442, 1007, 227, 996, + 990, 989, 928, 230, 917, 700, 701, 881, 813, 461, + 463, 807, 806, 634, 635, 800, 710, 315, 696, 638, + 639, 319, 546, 700, 701, 544, 520, 477, 541, 500, + 396, 346, 486, 678, 230, 520, 155, 125, 987, 910, + 602, 978, 520, 520, 520, 520, 520, 950, 933, 38, + 892, 642, 632, 890, 6, 4, 645, 732, 575, 305, + 196, 434, 5, 223, 224, 697, 875, 530, 804, 805, + 895, 227, 227, 227, 692, 693, 520, 647, 572, 572, + 125, 572, 731, 294, 734, 735, 38, 38, 702, 716, + 704, 258, 266, 812, 227, 227, 437, 677, 711, 530, + 454, 644, 447, 447, 90, 514, 741, 271, 503, 124, + 746, 699, 422, 577, 740, 491, 497, 718, 448, 744, + 269, 743, 733, 738, 124, 993, 609, 256, 684, 458, + 294, 447, 453, 425, 447, 227, 447, 227, 424, 579, + 303, 580, 125, 125, 611, 298, 123, 445, 230, 614, + 649, 683, 320, 756, 294, 259, 260, 125, 294, 468, + 819, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 783, 462, 520, 271, 750, 752, 751, 125, - 573, 320, 316, 574, 281, 285, 468, 485, 38, 514, - 284, 722, 723, 811, 511, 131, 852, 786, 258, 860, - 784, 520, 572, 507, 321, 808, 127, 128, 456, 227, - 573, 573, 262, 574, 574, 570, 402, 794, 400, 258, - 207, 996, 230, 61, 807, 38, 38, 892, 793, 825, - 206, 818, 572, 814, 1021, 717, 44, 822, 997, 644, - 843, 562, 294, 646, 645, 336, 824, 294, 855, 856, - 530, 131, 854, 1031, 815, 53, 294, 294, 1014, 530, - 789, 468, 259, 260, 988, 162, 530, 530, 530, 530, - 530, 666, 668, 667, 669, 654, 655, 656, 647, 649, - 650, 648, 520, 259, 260, 834, 238, 258, 520, 520, - 44, 835, 437, 963, 833, 230, 230, 230, 931, 929, - 530, 895, 790, 806, 694, 695, 549, 1017, 258, 1011, - 225, 233, 227, 437, 227, 966, 264, 520, 230, 230, - 572, 874, 572, 869, 937, 873, 880, 900, 886, 697, - 694, 695, 881, 125, 754, 899, 572, 753, 871, 888, - 884, 714, 875, 642, 902, 840, 841, 842, 839, 838, - 837, 259, 260, 230, 640, 230, 637, 907, 903, 258, - 908, 906, 593, 227, 283, 258, 520, 893, 912, 447, - 282, 469, 259, 260, 513, 452, 480, 447, 397, 530, + 520, 520, 520, 520, 520, 520, 520, 520, 791, 758, + 520, 759, 258, 760, 125, 865, 467, 517, 462, 592, + 721, 848, 849, 850, 847, 846, 845, 728, 729, 284, + 794, 792, 485, 125, 316, 131, 456, 520, 572, 281, + 285, 816, 433, 477, 262, 227, 573, 570, 842, 574, + 230, 511, 801, 507, 843, 207, 402, 841, 61, 53, + 127, 128, 974, 400, 830, 833, 321, 802, 572, 466, + 206, 991, 822, 258, 897, 470, 259, 260, 530, 270, + 832, 478, 479, 573, 826, 1016, 574, 530, 494, 606, + 447, 797, 723, 744, 530, 530, 530, 530, 530, 859, + 851, 857, 44, 445, 294, 131, 294, 823, 848, 849, + 850, 847, 846, 845, 225, 233, 389, 713, 713, 294, + 520, 238, 992, 230, 230, 230, 520, 520, 530, 162, + 898, 573, 562, 798, 574, 336, 468, 259, 260, 420, + 420, 814, 700, 701, 264, 1026, 230, 230, 1009, 983, + 227, 878, 227, 879, 44, 520, 960, 932, 572, 930, + 572, 815, 900, 886, 876, 549, 885, 1012, 893, 703, + 700, 701, 461, 904, 572, 874, 596, 1006, 598, 597, + 477, 963, 477, 938, 905, 125, 486, 230, 908, 230, + 891, 38, 762, 761, 720, 452, 648, 880, 227, 258, + 646, 520, 643, 913, 437, 599, 907, 903, 513, 480, + 397, 448, 393, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, - 530, 530, 530, 530, 530, 530, 921, 926, 530, 923, - 393, 944, 923, 918, 938, 920, 520, 323, 945, 518, - 913, 202, 284, 259, 260, 201, 928, 198, 930, 259, - 260, 135, 600, 598, 258, 530, 599, 520, 947, 255, - 520, 740, 572, 230, 572, 590, 448, 592, 591, 951, - 968, 518, 976, 979, 448, 675, 527, 906, 949, 520, - 964, 550, 398, 967, 254, 954, 520, 251, 558, 517, - 809, 572, 385, 959, 586, 993, 362, 361, 360, 976, - 359, 844, 984, 737, 736, 905, 847, 848, 1, 990, - 520, 889, 572, 980, 981, 1006, 940, 572, 259, 260, - 1010, 1022, 38, 341, 859, 1008, 747, 444, 832, 1007, - 970, 969, 901, 1005, 482, 401, 530, 572, 898, 191, - 894, 1026, 530, 530, 1002, 1025, 831, 828, 572, 569, - 719, 1019, 1018, 445, 716, 392, 1029, 387, 163, 339, - 688, 445, 537, 960, 289, 459, 230, 160, 230, 156, - 317, 530, 313, 126, 1009, 975, 192, 172, 176, 175, - 974, 973, 38, 972, 830, 1028, 829, 827, 399, 39, - 721, 14, 13, 817, 1034, 711, 950, 333, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 230, 795, 685, - 530, 10, 248, 74, 75, 38, 115, 38, 265, 63, - 518, 88, 589, 89, 519, 38, 100, 38, 561, 518, - 73, 11, 325, 50, 99, 98, 518, 518, 518, 518, - 518, 78, 118, 525, 834, 3, 38, 191, 40, 0, - 835, 38, 0, 833, 0, 0, 38, 0, 153, 0, - 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 518, 0, 0, 0, 0, 204, 0, 38, 38, 0, - 0, 530, 0, 0, 530, 0, 176, 175, 226, 226, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 0, 530, 840, 841, 842, 839, 838, 837, - 530, 0, 0, 0, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 38, 826, 0, 0, 0, - 0, 38, 0, 0, 530, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 0, 518, + 939, 927, 530, 922, 323, 258, 202, 520, 38, 518, + 283, 201, 914, 198, 135, 681, 527, 550, 924, 398, + 254, 924, 469, 259, 260, 919, 251, 921, 520, 530, + 820, 520, 558, 572, 817, 572, 385, 230, 929, 889, + 931, 518, 362, 361, 360, 258, 520, 38, 359, 38, + 437, 258, 852, 520, 948, 191, 282, 38, 572, 38, + 1, 894, 988, 941, 1017, 965, 946, 973, 284, 259, + 260, 341, 749, 951, 38, 520, 755, 572, 864, 38, + 1001, 956, 572, 444, 38, 1005, 605, 586, 587, 588, + 973, 840, 1002, 967, 176, 175, 966, 975, 976, 842, + 906, 482, 572, 38, 38, 843, 1021, 401, 841, 259, + 260, 899, 530, 572, 1003, 259, 260, 839, 530, 530, + 836, 569, 258, 447, 725, 38, 997, 255, 174, 177, + 179, 180, 178, 1014, 1020, 713, 445, 420, 1013, 745, + 722, 392, 230, 387, 230, 1024, 163, 530, 339, 694, + 537, 38, 961, 957, 289, 964, 752, 38, 191, 848, + 849, 850, 847, 846, 845, 459, 160, 1023, 156, 317, + 979, 313, 126, 604, 1004, 972, 1029, 985, 971, 970, + 969, 834, 838, 477, 837, 835, 259, 260, 399, 39, + 230, 727, 14, 530, 13, 825, 172, 176, 175, 1000, + 518, 717, 947, 333, 803, 691, 10, 248, 74, 518, + 75, 115, 265, 63, 88, 595, 518, 518, 518, 518, + 518, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 89, 519, 100, 530, + 73, 11, 325, 99, 98, 78, 118, 525, 3, 347, + 518, 40, 168, 170, 169, 191, 0, 0, 0, 0, + 530, 0, 0, 530, 208, 209, 210, 211, 213, 214, + 215, 216, 217, 218, 219, 220, 212, 0, 530, 0, + 0, 0, 0, 0, 0, 530, 811, 810, 0, 0, + 0, 855, 192, 172, 176, 175, 0, 0, 0, 860, + 861, 0, 682, 0, 0, 0, 0, 530, 0, 685, + 686, 687, 688, 689, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 663, 664, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 0, 0, 518, 208, - 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 220, 212, 0, 352, 0, 0, 0, 0, 0, 0, - 0, 611, 0, 0, 0, 518, 0, 0, 0, 0, - 0, 0, 30, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 0, 389, 390, 0, - 0, 0, 0, 0, 0, 146, 150, 154, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 197, - 0, 0, 0, 0, 205, 420, 0, 0, 0, 116, - 0, 0, 0, 0, 0, 222, 0, 0, 0, 234, - 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, - 244, 245, 246, 247, 0, 0, 518, 0, 0, 0, - 261, 0, 518, 518, 442, 275, 276, 0, 278, 279, - 0, 0, 0, 0, 0, 0, 0, 461, 463, 290, - 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, - 0, 518, 0, 0, 0, 477, 0, 0, 0, 0, - 486, 0, 0, 0, 0, 0, 0, 0, 0, 272, - 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 239, 0, 0, 0, 0, 340, 208, 209, 210, + 518, 518, 0, 0, 518, 617, 0, 0, 0, 0, + 650, 0, 676, 658, 652, 651, 0, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 676, 0, 0, 154, 0, 0, - 0, 679, 680, 681, 682, 683, 0, 0, 0, 231, - 518, 404, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 0, 0, 0, 579, 0, 580, - 0, 518, 0, 0, 518, 0, 0, 0, 0, 0, + 0, 518, 0, 916, 667, 666, 657, 659, 670, 671, + 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, + 655, 656, 654, 0, 0, 0, 0, 0, 561, 0, + 0, 0, 665, 663, 664, 0, 0, 0, 763, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, + 785, 786, 787, 788, 790, 0, 0, 682, 0, 116, + 650, 0, 676, 658, 652, 651, 0, 0, 0, 0, + 0, 0, 0, 0, 518, 0, 0, 0, 0, 0, + 518, 518, 0, 0, 667, 666, 657, 659, 670, 671, + 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, + 655, 656, 654, 0, 0, 0, 0, 0, 0, 518, + 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 208, 209, 210, 211, 213, + 214, 215, 216, 217, 218, 219, 220, 212, 0, 272, + 0, 0, 0, 0, 0, 0, 0, 146, 150, 154, + 0, 0, 0, 164, 0, 518, 0, 0, 0, 0, + 0, 197, 0, 0, 0, 0, 205, 869, 0, 0, + 0, 0, 0, 872, 873, 0, 0, 222, 0, 0, + 0, 234, 235, 236, 237, 0, 0, 239, 0, 241, + 242, 243, 244, 245, 246, 247, 0, 0, 0, 0, + 0, 518, 261, 0, 0, 0, 0, 275, 276, 0, + 278, 279, 0, 0, 0, 0, 0, 0, 0, 231, + 0, 290, 518, 0, 0, 518, 208, 209, 210, 211, + 213, 214, 215, 216, 217, 218, 219, 220, 212, 0, + 518, 0, 0, 0, 0, 0, 0, 518, 915, 0, 0, 272, 0, 231, 0, 0, 0, 0, 0, 0, - 0, 0, 239, 518, 430, 432, 432, 0, 0, 0, - 518, 0, 440, 0, 0, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 0, 0, 154, 154, 0, 0, - 465, 0, 0, 432, 518, 0, 0, 0, 0, 432, - 290, 0, 0, 0, 0, 432, 432, 0, 0, 154, - 0, 0, 432, 495, 0, 0, 0, 0, 499, 0, - 231, 477, 0, 0, 755, 756, 757, 758, 759, 760, - 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, - 782, 231, 0, 676, 0, 0, 0, 0, 0, 168, - 170, 169, 191, 0, 548, 0, 0, 0, 0, 0, - 0, 552, 553, 554, 555, 556, 0, 0, 0, 0, + 0, 0, 0, 239, 0, 0, 0, 0, 340, 518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 858, 0, 389, 707, 707, 0, 557, 192, - 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 154, 420, 420, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 168, 170, 169, 191, 461, 0, 0, 0, 0, 0, - 0, 0, 477, 0, 477, 0, 0, 0, 486, 0, - 0, 864, 0, 604, 0, 231, 0, 867, 868, 0, - 0, 0, 0, 0, 803, 802, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 617, 619, 0, - 0, 0, 0, 0, 0, 644, 0, 0, 652, 646, - 645, 627, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 651, 653, 664, 665, 662, 663, 666, 668, 667, - 669, 654, 655, 656, 647, 649, 650, 648, 0, 0, - 0, 0, 812, 0, 0, 914, 0, 231, 0, 0, - 0, 0, 0, 0, 340, 692, 0, 915, 0, 0, + 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 945, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 0, 0, 0, 154, + 231, 0, 0, 0, 0, 0, 0, 650, 0, 0, + 658, 652, 651, 404, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 0, 0, + 0, 231, 666, 657, 659, 670, 671, 668, 669, 672, + 674, 673, 675, 660, 661, 662, 653, 655, 656, 654, + 0, 0, 0, 0, 239, 0, 430, 432, 432, 0, + 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 154, 154, + 0, 0, 465, 0, 0, 432, 0, 0, 0, 0, + 650, 432, 290, 658, 652, 651, 0, 432, 432, 0, + 0, 154, 0, 0, 432, 495, 665, 663, 664, 0, + 499, 0, 0, 0, 667, 666, 657, 659, 670, 671, + 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, + 655, 656, 654, 0, 0, 0, 0, 0, 0, 0, + 0, 870, 0, 0, 650, 231, 676, 658, 652, 651, + 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, + 0, 0, 0, 552, 553, 554, 555, 556, 667, 666, + 657, 659, 670, 671, 668, 669, 672, 674, 673, 675, + 660, 661, 662, 653, 655, 656, 654, 0, 0, 0, + 557, 0, 0, 0, 665, 663, 664, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, + 0, 0, 650, 0, 0, 658, 652, 651, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, + 0, 0, 650, 868, 676, 658, 652, 651, 657, 659, + 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, + 662, 653, 655, 656, 654, 610, 667, 666, 657, 659, + 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, + 662, 653, 655, 656, 654, 0, 0, 0, 0, 623, + 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, + 231, 231, 231, 0, 0, 0, 0, 0, 168, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 272, 0, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 659, 657, 658, 0, - 0, 0, 0, 0, 0, 948, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, - 0, 0, 0, 0, 432, 745, 0, 0, 0, 0, - 231, 231, 231, 154, 644, 0, 670, 652, 646, 645, - 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, - 0, 272, 0, 231, 231, 707, 0, 420, 661, 660, - 651, 653, 664, 665, 662, 663, 666, 668, 667, 669, - 654, 655, 656, 647, 649, 650, 648, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, - 231, 0, 0, 0, 0, 0, 0, 0, 644, 0, - 670, 652, 646, 645, 0, 0, 477, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 800, 0, 659, - 657, 658, 661, 660, 651, 653, 664, 665, 662, 663, - 666, 668, 667, 669, 654, 655, 656, 647, 649, 650, - 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 865, 0, 845, 644, 0, 670, - 652, 646, 645, 0, 432, 432, 0, 0, 0, 0, - 0, 0, 861, 659, 657, 658, 0, 0, 231, 0, - 0, 661, 660, 651, 653, 664, 665, 662, 663, 666, - 668, 667, 669, 654, 655, 656, 647, 649, 650, 648, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 644, 863, 670, 652, 646, 645, 0, 0, 0, - 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 878, 0, 0, 661, 660, 651, 653, 664, - 665, 662, 663, 666, 668, 667, 669, 654, 655, 656, - 647, 649, 650, 648, 0, 0, 0, 0, 0, 0, - 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 432, 0, 94, 28, 19, 18, 0, - 20, 231, 32, 231, 33, 0, 0, 21, 0, 0, + 0, 863, 0, 0, 0, 0, 340, 698, 192, 172, + 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 709, 231, 0, 231, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 0, 0, 0, 0, 0, 432, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 748, 0, 0, 0, + 0, 0, 432, 753, 0, 0, 0, 0, 0, 0, + 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 154, 858, 192, 172, 176, + 175, 0, 0, 0, 665, 663, 664, 0, 0, 0, + 0, 0, 0, 0, 231, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, + 0, 799, 650, 0, 676, 658, 652, 651, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, + 0, 658, 652, 651, 0, 808, 667, 666, 657, 659, + 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, + 662, 653, 655, 656, 654, 659, 670, 671, 668, 669, + 672, 674, 673, 675, 660, 661, 662, 653, 655, 656, + 654, 0, 0, 0, 853, 0, 0, 432, 0, 0, + 0, 0, 0, 0, 0, 432, 432, 0, 0, 231, + 0, 231, 866, 0, 0, 0, 0, 0, 0, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 15, 24, 35, 0, 231, 36, 9, + 0, 26, 340, 31, 80, 81, 7, 45, 47, 49, + 0, 0, 883, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 641, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, + 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 502, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 432, 0, 0, - 0, 92, 231, 0, 0, 0, 8, 112, 108, 102, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 635, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, - 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 502, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 1030, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 15, 24, 35, - 0, 0, 36, 9, 0, 26, 0, 31, 80, 81, - 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 1025, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, @@ -847,7 +865,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1035, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 1008, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -860,10 +878,10 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 1030, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 995, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 94, 28, 19, 18, 0, 20, 994, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, @@ -873,7 +891,7 @@ var yyAct = [...]int{ 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 1013, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, @@ -886,11 +904,11 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 1000, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 980, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, - 0, 0, 94, 28, 19, 18, 0, 20, 999, 32, - 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 977, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, @@ -912,11 +930,11 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 985, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 954, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 982, 33, 0, 0, 21, 0, 0, 0, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, @@ -925,11 +943,11 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 952, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 20, 0, 32, 0, 33, 888, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, @@ -938,11 +956,11 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 957, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 695, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, @@ -951,11 +969,11 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 955, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 883, 0, 21, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, @@ -964,11 +982,11 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 566, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 689, 20, 0, 32, 0, 33, 0, 0, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, @@ -978,7 +996,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -991,33 +1009,33 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 566, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, + 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 326, 34, 0, 62, 0, 96, 0, 0, + 76, 16, 0, 34, 949, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, + 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, + 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 0, 34, 925, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, @@ -1030,7 +1048,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 952, 62, 0, 96, + 0, 91, 76, 16, 0, 34, 719, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -1043,7 +1061,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 924, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 335, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -1056,7 +1074,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 713, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 332, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -1064,86 +1082,51 @@ var yyAct = [...]int{ 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 109, 110, 111, 106, 107, 0, 0, 796, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, + 0, 0, 0, 77, 41, 27, 665, 663, 664, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 335, + 70, 757, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 332, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 168, 170, - 169, 191, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 0, 0, 0, 853, 192, 172, - 176, 175, 659, 657, 658, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 791, - 644, 0, 670, 652, 646, 645, 659, 657, 658, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 749, 0, 0, 661, 660, 651, 653, 664, 665, - 662, 663, 666, 668, 667, 669, 654, 655, 656, 647, - 649, 650, 648, 0, 644, 0, 670, 652, 646, 645, + 72, 119, 0, 0, 650, 0, 676, 658, 652, 651, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 661, 660, - 651, 653, 664, 665, 662, 663, 666, 668, 667, 669, - 654, 655, 656, 647, 649, 650, 648, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 667, 666, + 657, 659, 670, 671, 668, 669, 672, 674, 673, 675, + 660, 661, 662, 653, 655, 656, 654, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 746, 0, 0, 0, 0, 0, 0, 192, 172, + 178, 754, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 702, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 708, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 699, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 705, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 634, 0, 0, 0, 0, 0, 0, + 179, 180, 178, 640, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 631, 0, 0, 0, 0, 0, 0, 192, 172, + 178, 637, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 613, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 619, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 594, 0, 0, 0, 0, 0, 0, + 179, 180, 178, 600, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, @@ -1180,156 +1163,73 @@ var yyAct = [...]int{ 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 659, 657, 658, 0, 0, 0, 0, 0, 0, + 175, 665, 663, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 644, - 0, 670, 652, 646, 645, 168, 170, 169, 191, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 650, + 0, 676, 658, 652, 651, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 661, 660, 651, 653, 664, 665, 662, - 663, 666, 668, 667, 669, 654, 655, 656, 647, 649, - 650, 648, 0, 0, 0, 192, 172, 176, 175, 657, - 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 667, 666, 657, 659, 670, 671, 668, + 669, 672, 674, 673, 675, 660, 661, 662, 653, 655, + 656, 654, 0, 0, 0, 192, 172, 176, 175, 170, + 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 644, 0, 670, 652, - 646, 645, 170, 169, 191, 0, 0, 0, 0, 0, + 182, 174, 177, 179, 180, 178, 0, 0, 192, 172, + 176, 175, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 661, 660, 651, 653, 664, 665, 662, 663, 666, 668, - 667, 669, 654, 655, 656, 647, 649, 650, 648, 0, - 0, 192, 172, 176, 175, 0, 658, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 644, 0, 670, 652, 646, 645, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 661, 660, 651, 653, - 664, 665, 662, 663, 666, 668, 667, 669, 654, 655, - 656, 647, 649, 650, 648, 644, 0, 0, 652, 646, - 645, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, - 660, 651, 653, 664, 665, 662, 663, 666, 668, 667, - 669, 654, 655, 656, 647, 649, 650, 648, 0, 172, - 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 644, 0, 0, 652, 646, 645, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 660, - 651, 653, 664, 665, 662, 663, 666, 668, 667, 669, - 654, 655, 656, 647, 649, 650, 648, 191, 0, 0, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 650, + 0, 676, 658, 652, 651, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 667, 666, 657, 659, 670, 671, 668, + 669, 672, 674, 673, 675, 660, 661, 662, 653, 655, + 656, 654, 0, 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 176, 175, 0, 0, - 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 488, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 148, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 644, 62, 481, 96, 646, 645, 487, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 664, 665, - 662, 663, 666, 668, 667, 669, 654, 655, 656, 647, - 649, 650, 648, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 191, 0, 0, 142, 112, - 108, 102, 488, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 172, 176, 175, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 487, 57, 56, - 58, 59, 72, 119, 0, 0, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 644, 0, 0, 652, 646, 645, 0, - 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, - 653, 664, 665, 662, 663, 666, 668, 667, 669, 654, - 655, 656, 647, 649, 650, 648, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 191, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 176, 175, 862, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 185, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 0, 0, 62, 0, 96, 0, 0, 620, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 177, 179, 180, 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 618, - 57, 56, 58, 59, 72, 119, 0, 0, 0, 173, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 174, 177, 179, 180, 178, 650, 0, 676, 658, 652, + 651, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, + 666, 657, 659, 670, 671, 668, 669, 672, 674, 673, + 675, 660, 661, 662, 653, 655, 656, 654, 0, 172, + 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 291, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 191, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 429, 96, 172, 176, - 175, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 172, 176, 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, + 0, 94, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, + 0, 0, 142, 112, 108, 102, 488, 84, 85, 86, + 191, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 405, 57, 56, 58, 59, 72, 119, 82, 83, + 91, 76, 0, 0, 0, 0, 62, 481, 96, 176, + 175, 487, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, + 0, 0, 94, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 191, 0, 0, 142, 112, 108, 102, 488, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 172, 176, + 175, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 0, 487, 57, 56, 58, 59, 72, 119, 0, + 0, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1341,8 +1241,8 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 151, 0, 62, 0, 96, - 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 0, 867, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1354,8 +1254,23 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 149, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, + 96, 0, 0, 626, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 191, 0, 0, 142, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 172, 176, 175, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 624, 57, 56, 58, 59, 72, + 119, 0, 0, 0, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1367,8 +1282,8 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 145, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1378,11 +1293,92 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 429, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 405, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 151, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, + 0, 149, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 145, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, + 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 650, 91, + 76, 658, 652, 651, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 670, 671, 668, 669, + 672, 674, 673, 675, 660, 661, 662, 653, 655, 656, + 654, 82, 83, 71, 0, 104, 105, 125, 441, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 441, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, @@ -1391,224 +1387,210 @@ var yyAct = [...]int{ 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 52, 104, 105, 125, 77, 41, 148, 0, 0, 0, + 0, 528, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 523, 0, 526, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 529, 0, 0, + 0, 0, 521, 112, 108, 522, 104, 105, 125, 0, + 0, 0, 0, 0, 0, 0, 528, 0, 0, 0, + 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 104, 105, 125, 77, 41, 148, 0, 0, - 0, 0, 528, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 523, 0, 526, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 529, 0, - 0, 0, 0, 521, 112, 108, 522, 104, 105, 125, - 0, 0, 0, 0, 0, 0, 0, 528, 0, 0, - 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 781, 535, 0, 524, - 0, 0, 0, 534, 533, 531, 532, 0, 0, 523, - 0, 526, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 529, 0, 0, 0, 0, 521, 112, - 108, 522, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, + 0, 0, 0, 0, 0, 789, 535, 0, 524, 0, + 0, 0, 534, 533, 531, 532, 0, 0, 523, 0, + 526, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 529, 0, 0, 0, 0, 521, 112, 108, + 522, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 535, 0, 524, 0, 0, 0, 534, 533, - 531, 532, + 0, 535, 0, 524, 0, 0, 0, 534, 533, 531, + 532, } var yyPact = [...]int{ - -1000, -1000, 2399, -1000, -1000, -1000, -1000, 325, 505, 669, - 137, -1000, 335, -1000, -1000, 921, -1000, 263, 263, 5019, - 323, 263, 7736, 7605, 7474, 382, 175, 753, 7867, -1000, - 5850, 322, 321, 317, -1000, 432, 7867, 917, -4, 915, - 911, 7867, -1000, -1000, -1000, -1000, 678, -1000, 668, -1000, - 1133, 316, 7867, 453, 395, 395, 7867, 7867, 7867, 7867, - -1000, -1000, 8129, -1000, 7867, 7867, 7867, 7867, 7867, 7867, - 7867, 314, -1000, -1000, 191, 186, 922, 7867, 655, 426, - 312, 310, 7867, 7867, 306, 7867, 7867, -1000, 185, -1000, - -1000, 853, 847, -1000, 182, 289, 7081, -1000, 178, 172, - -1000, 272, 823, 566, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 140, 150, -1000, 565, 256, -1000, 430, - -1000, 248, 328, -1000, 823, -1000, 100, 600, 599, -1000, - 675, 823, -1000, 907, -1000, -16, 4102, 4888, 8129, 4757, - 724, -4, 520, 7867, 308, -1000, 5803, -1000, 699, -1000, - 5756, -1000, 381, 1311, 5938, -1000, 94, -1000, -1000, 264, - 85, -4, -19, 72, 5938, -1000, -1000, -1000, -1000, -1000, - 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, - 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, - 7867, 426, 329, 395, 7867, 900, -1000, 5709, 379, 868, - -1000, 663, 661, -1000, 1133, 5662, -1000, -1000, 7343, 7867, - 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, 7867, - 7867, 422, -1000, -1000, -1000, -1000, -1000, 272, 519, 823, - 557, 544, -1000, -1000, -106, -106, -18, -106, 247, 5618, - 243, -106, -106, -106, -106, -106, -106, -106, -1000, 7212, - -1000, 7867, 7867, 7867, 436, 707, 775, -1000, 245, 7998, - 395, 929, 57, 256, 542, -1000, 496, 518, 823, 651, - 140, 150, 535, 7867, 7867, 5938, 5938, 7867, 5938, 5938, - 7867, 497, 707, 686, -1000, 796, 7867, 7081, 157, 60, - 5574, 395, 7867, 7867, 866, -1000, 6378, 272, 71, 7867, - 7867, 140, 430, 79, -1000, 7867, 378, -1000, -1000, 2268, - 272, -1000, 613, 50, -1000, 674, 823, 37, -1000, 665, - 823, 864, 660, -30, 8289, -1000, -1000, -1000, -1000, -1000, - 285, -1000, -1000, -1000, -1000, -1000, 263, -1000, 377, 53, - 5938, -1000, 376, 373, -1000, -1000, -1000, -1000, -1000, 175, - -1000, 7867, -1000, -1000, 794, -1000, 8289, -1000, 7867, 7867, - 7867, 7867, 7867, 89, 6917, 6666, 7210, 17, 17, 17, - -18, -106, -18, -18, 295, 295, 1047, 1047, 1047, 1047, - 252, 252, 252, 252, -1000, 7867, -1000, 40, -1000, -1000, - 1089, 712, 39, -34, 3971, -1000, -1000, 281, 279, 659, - 601, 424, 601, 7867, 929, 286, 929, 929, 929, 929, - 929, 929, 929, 929, 929, 929, 929, 929, -8, -1000, - -1000, 277, 823, 272, 57, 57, -1000, -1000, -1000, -1000, - -106, 156, 5938, 152, -1000, -1000, -1000, -1000, 935, 852, - 5493, 170, 392, -1000, 161, -1000, -1000, 140, 150, -1000, - 7867, -1000, -1000, 147, 823, 496, 57, 140, 147, -23, - -1000, 1133, -1000, 1167, 242, 5445, 145, -1000, -1000, -1000, - 144, 240, -1000, -1000, 6931, 6800, -1000, -1000, 142, 141, - -1000, -1000, -24, 234, -1000, -1000, 1133, 395, 7867, -1000, - 256, 256, -1000, -1000, 138, 5401, 256, 256, -1000, 5353, - -1000, 2137, -1000, -1000, -1000, -1000, 600, 846, 554, -1000, - 599, 844, 551, -1000, 833, 8289, -1000, 5894, -1000, -1000, - 496, 517, 823, 273, 8289, -1000, -1000, -1000, -1000, 615, - 534, 8289, 8289, 8289, 8289, 8289, 227, 503, 4233, 3840, - 371, 7867, 7867, 450, -1000, 798, -1000, -1000, 5305, -37, - 268, -1000, 5938, 6247, 6495, 6024, 929, 5257, 7867, 370, - 395, 265, 265, 4626, 831, 8289, 694, 631, 631, 423, - 601, -1000, 496, 504, 823, -1000, -13, -1000, -1000, 1133, - -1000, 426, -42, 422, 422, 272, -1000, -1000, -1000, 136, - -1000, -1000, -1000, -1000, -1000, 7867, -1000, -1000, 166, 148, - 256, 7867, 7867, 140, 5211, -1000, 496, -1000, -1000, -1000, - 7867, -1000, -1000, -1000, -1000, -1000, -1000, 5163, 395, 5938, - 395, -1000, -1000, -1000, 6509, -1000, -1000, 5938, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 827, -1000, - -1000, 824, -1000, -1000, 8289, 8289, 8289, 8289, 8289, 8289, - 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, - 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, 8289, - 8214, 823, 496, 8289, 110, -5, 5119, 611, 750, -72, - -72, 45, 45, 5075, 369, -1000, 263, 5019, 471, 368, - -1000, 366, 5938, -1000, 7867, 300, 435, 365, 772, -1000, - 8289, 631, -1000, 6151, -1000, -1000, 635, -1000, 395, 267, - 635, -1000, -1000, -1000, -57, -1000, 689, 266, 225, -9, - -1000, -4, -1000, -1000, -1000, 216, -1000, -13, 823, 496, - 1096, 601, -1000, 7867, -1000, -38, -1000, 176, -1000, 5031, - 639, 7867, 7867, -1000, 105, 1562, -1000, 642, -1000, 6669, - -1000, -1000, -1000, -1000, -1000, 1966, 45, 45, -72, -72, - -72, -72, 6538, 6375, -20, 36, 36, 45, 6067, 1853, - 5981, 1660, 6169, 614, 614, 614, 614, -11, -11, -11, - -11, 8289, 1912, 496, 209, -1000, -1000, 8289, 8289, -1000, - -1000, -1000, -1000, 5019, -1000, 446, 263, 309, -1000, 7867, - 1643, -1000, -1000, -1000, -1000, -1000, 364, -1000, 205, 7867, - 203, 265, -1000, 422, 202, 3709, 8289, -1000, 421, 601, - 419, 631, 493, 683, 747, 496, -1000, -1000, 789, -43, - -1000, 699, 527, -1000, 817, 601, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 256, 929, -1000, -1000, 101, 639, - 7867, -1000, 57, 390, -1000, 99, 97, -1000, -1000, -1000, - 57, 5938, 395, -1000, 6110, 8289, -1000, 1789, 5894, -1000, - 359, 253, -1000, 198, -1000, 4233, -1000, 683, 6151, 4495, - -1000, -47, 4495, 357, -1000, -1000, 787, -1000, -1000, 786, - -1000, 418, 251, -1000, -45, -61, -1000, 814, -4, -1000, - -62, -53, -1000, -1000, 7867, 639, -1000, 78, -1000, -1000, - -1000, -1000, -1000, -1000, 6110, 8289, -1000, -1000, 4233, 4364, - 4233, 411, -1000, -1000, -1000, -1000, -1000, -1000, 3578, 195, - 3447, -65, -1000, 220, -1000, 781, 8289, -66, 805, 8289, - -1000, 601, -1000, 632, -28, 639, -1000, -1000, 5894, 4233, - -1000, -1000, -1000, -1000, 3316, -1000, 398, -1000, 8289, 3185, - -51, -1000, 752, -71, -1000, 8289, 246, -1000, -1000, 386, - 632, -1000, 355, 348, 676, 709, 529, -1000, -1000, -1000, - 3054, 2923, 342, -1000, -1000, -1000, -1000, 184, -1000, 8289, - -1000, 631, -1000, -1000, -1000, -1000, 601, 527, 799, 332, - -1000, -1000, 2792, -1000, 746, -1000, 194, -50, -1000, 797, - -1000, -1000, -1000, 693, -1000, 331, 601, -1000, -1000, 693, - -1000, 143, -1000, -1000, -1000, -1000, -1000, 601, 2661, 741, - -1000, 139, 394, -1000, 2530, -1000, + -1000, -1000, 2457, -1000, -1000, -1000, -1000, 350, 517, 693, + 128, -1000, 360, -1000, -1000, 914, -1000, 299, 299, 5077, + 347, 299, 7681, 7550, 7419, 405, 199, 787, 7812, -1000, + 5820, 345, 344, 342, -1000, 431, 7812, 913, 88, 911, + 906, 7812, -1000, -1000, -1000, -1000, 688, -1000, 673, -1000, + 1400, 340, 7812, 449, 252, 252, 7812, 7812, 7812, 7812, + -1000, -1000, 8098, -1000, 7812, 7812, 7812, 7812, 7812, 7812, + 7812, 337, -1000, -1000, 197, 193, 1020, 7812, 657, 260, + 336, 334, 7812, 7812, 329, 7812, 7812, -1000, 181, -1000, + -1000, 949, 903, -1000, 180, 328, 7026, -1000, 178, 177, + -1000, 314, 845, 557, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 152, 198, -1000, 552, 298, -1000, 430, + -1000, 278, 364, -1000, 845, -1000, 125, 622, 560, -1000, + 707, 845, -1000, 904, -1000, 23, 4160, 4946, 8098, 4815, + 784, 88, 532, 7812, 331, -1000, 5773, -1000, 735, -1000, + 5726, -1000, 400, 1038, 5908, -1000, 123, -1000, -1000, 217, + 96, 88, 16, 91, 5908, -1000, -1000, -1000, -1000, -1000, + 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, + 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, + 7812, 260, 358, 252, 7812, 872, -1000, 5679, 399, 870, + -1000, 678, 671, -1000, 1400, 5632, -1000, -1000, 7288, 7812, + 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, + 7812, 186, -1000, -1000, -1000, -1000, -1000, 314, 520, 845, + 550, 545, -1000, -1000, -108, -108, -17, -108, 276, 5588, + 275, -108, -108, -108, -108, -108, -108, -108, -1000, 7157, + -1000, 7812, 7812, 7812, 433, 670, 943, -1000, 259, 7967, + 252, 6077, 65, 298, 544, -1000, 491, 508, 845, 649, + 152, 198, 541, 7812, 7812, 5908, 5908, 7812, 5908, 5908, + 7812, 569, 670, 731, -1000, 857, 7812, 7026, 164, 60, + 5544, 252, 7812, 7812, 869, -1000, 6333, 314, 74, 7812, + 7812, 152, 430, 81, -1000, 7812, 398, -1000, -1000, 2326, + 314, -1000, 623, 83, -1000, 694, 845, 41, -1000, 692, + 845, 868, 566, -32, 8258, -1000, -1000, -1000, -1000, -1000, + 326, -1000, -1000, -1000, -1000, -1000, 299, -1000, 397, 44, + 5908, -1000, 394, 391, -1000, -1000, -1000, -1000, -1000, 199, + -1000, 7812, -1000, -1000, 823, -1000, 8258, -1000, 7812, 7812, + 7812, 7812, 7812, 6036, 6862, 6330, 978, -9, -9, -9, + -17, -108, -17, -17, 875, 875, 251, 251, 251, 251, + 208, 208, 208, 208, -1000, 7812, -1000, 79, -1000, -1000, + 1299, 773, 78, -42, 4029, -1000, -1000, 325, 319, 661, + 674, 429, 674, 7812, 6077, 87, 6077, 6077, 6077, 6077, + 6077, 6077, 6077, 6077, 6077, 6077, 6077, 6077, 40, -1000, + -1000, 315, 845, 314, 65, 65, 238, -1000, -1000, -1000, + -108, 163, 5908, 160, -1000, -1000, -1000, -1000, 836, 865, + 5463, 169, 410, 298, 172, -1000, -1000, 152, 198, -1000, + 7812, -1000, -1000, 170, 845, 491, 65, 152, 170, -12, + -1000, 1400, -1000, 1151, 274, 5415, 159, -1000, -1000, -1000, + 157, 273, -1000, -1000, 6876, 6745, -1000, -1000, 153, 148, + -1000, -1000, -13, 267, -1000, -1000, 1400, 252, 7812, -1000, + 298, 298, -1000, -1000, 147, 5371, 298, 298, -1000, 5323, + -1000, 2195, -1000, -1000, -1000, -1000, 622, 862, 562, -1000, + 560, 860, 538, -1000, 856, 8258, -1000, 5864, -1000, -1000, + 491, 505, 845, 311, 8258, -1000, -1000, -1000, -1000, 624, + 540, 8258, 8258, 8258, 8258, 8258, 265, 471, 4291, 3898, + 387, 7812, 7812, 481, -1000, 808, -1000, -1000, 5275, -48, + 306, -1000, 5908, 6202, 6450, 5951, 6077, 5227, 7812, 385, + 252, 297, 297, 4684, 854, 8258, 721, 637, 637, 428, + 674, -1000, 491, 492, 845, -1000, -8, -1000, -1000, 1400, + -1000, 260, -51, 186, 186, 314, -1000, -1000, 218, 632, + 7812, -1000, 65, -1000, -1000, 133, -1000, -1000, -1000, -1000, + -1000, 7812, -1000, -1000, 168, 84, -1000, 7812, 7812, 152, + 5181, -1000, 491, -1000, -1000, -1000, 7812, -1000, -1000, -1000, + -1000, -1000, -1000, 5133, 252, 5908, 252, -1000, -1000, -1000, + 6464, -1000, -1000, 5908, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 853, -1000, -1000, 852, -1000, -1000, + 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, + 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, + 8258, 8258, 8258, 8258, 8258, 8258, 8183, 845, 491, 8258, + 131, 42, 5089, 574, 751, -65, -65, 6, 6, 1987, + 384, -1000, 299, 5077, 465, 381, -1000, 380, 5908, -1000, + 7812, 323, 463, 377, 780, -1000, 8258, 637, -1000, 6161, + -1000, -1000, 592, -1000, 252, 305, 592, -1000, -1000, -1000, + -64, -1000, 712, 304, 263, 26, -1000, 88, -1000, -1000, + -1000, 258, -1000, -8, 845, 491, 971, 674, -1000, 7812, + -1000, -35, 7812, 632, -1000, 130, 298, -1000, 1940, 632, + 7812, 7812, 129, 1851, -1000, 628, -1000, 6614, -1000, -1000, + -1000, -1000, -1000, 1737, 6, 6, -65, -65, -65, -65, + 2003, -20, 7803, 24, 24, 6, 5994, 6120, 1155, 1717, + 1512, 76, 76, 76, 76, -47, -47, -47, -47, 8258, + 1649, 491, 254, -1000, -1000, 8258, 8258, -1000, -1000, -1000, + -1000, 5077, -1000, 461, 299, 355, -1000, 7812, 1075, -1000, + -1000, -1000, -1000, -1000, 376, -1000, 243, 7812, 241, 297, + -1000, 186, 237, 3767, 8258, -1000, 424, 674, 421, 637, + 477, 700, 680, 491, -1000, -1000, 820, 30, -1000, 735, + 593, -1000, 844, 674, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 298, 6077, -1000, 127, -1000, -1000, 409, -1000, + 126, 93, -1000, -1000, -1000, 65, 5908, 252, -1000, 1595, + 8258, -1000, 1245, 5864, -1000, 373, 261, -1000, 230, -1000, + 4291, -1000, 700, 6161, 4553, -1000, -37, 4553, 371, -1000, + -1000, 817, -1000, -1000, 815, -1000, 419, 284, -1000, -29, + -66, -1000, 843, 88, -1000, -67, -45, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1595, 8258, -1000, -1000, 4291, + 4422, 4291, 418, -1000, -1000, -1000, -1000, -1000, -1000, 3636, + 205, 3505, -69, -1000, 236, -1000, 814, 8258, -70, 841, + 8258, -1000, 674, -1000, 722, 5864, 4291, -1000, -1000, -1000, + -1000, 3374, -1000, 412, -1000, 8258, 3243, -56, -1000, 807, + -74, -1000, 8258, 282, -1000, -1000, 408, 722, -1000, 370, + 369, 696, 763, 537, -1000, 3112, 2981, 368, -1000, -1000, + -1000, -1000, 216, -1000, 8258, -1000, 637, -1000, -1000, -1000, + -1000, 674, 593, 837, 366, -1000, -1000, 2850, -1000, 806, + -1000, 200, -28, -1000, 827, -1000, -1000, -1000, 714, -1000, + 357, 674, -1000, -1000, 714, -1000, 281, -1000, -1000, -1000, + -1000, -1000, 674, 2719, 803, -1000, 187, 132, -1000, 2588, + -1000, } var yyPgo = [...]int{ - 0, 186, 1138, 1135, 47, 39, 37, 594, 1133, 1132, - 16, 234, 1349, 6, 1302, 62, 64, 57, 755, 1123, - 1131, 35, 1125, 1124, 1122, 29, 1121, 38, 23, 1120, - 1116, 1114, 1113, 48, 1112, 1111, 27, 1109, 31, 46, - 180, 1108, 723, 36, 1106, 8, 1104, 1103, 41, 1102, - 58, 51, 42, 1101, 1099, 1098, 1077, 1076, 34, 24, - 1075, 1073, 1, 1072, 1071, 1070, 17, 1069, 1068, 1067, - 1066, 1064, 52, 4, 1063, 1061, 1060, 1055, 1054, 2, - 44, 0, 1053, 1052, 1050, 40, 1049, 1047, 592, 1045, - 1044, 50, 18, 1043, 28, 1042, 1040, 1039, 25, 43, - 1038, 1037, 1035, 1034, 1032, 1031, 3, 1030, 19, 1029, - 1027, 1026, 1020, 1015, 33, 1014, 1012, 1011, 1010, 1009, - 1008, 93, 14, 22, 7, 1007, 1006, 1004, 13, 30, - 1003, 1001, 996, 15, 991, 988, 20, 12, 11, 987, - 986, 985, 984, 983, 981, 980, 978, 977, 976, 974, - 972, 970, 968, 967, 964, 962, 961, 969, 26, 956, - 955, 21, 5, 941, 938, 936, 933, 932, + 0, 37, 1161, 1158, 49, 34, 35, 594, 1157, 1156, + 167, 232, 1369, 458, 1434, 71, 64, 54, 729, 225, + 1155, 28, 1154, 1153, 1152, 43, 1151, 38, 124, 1150, + 1148, 1147, 1146, 44, 1125, 1124, 26, 1123, 20, 36, + 180, 1122, 728, 31, 1121, 32, 1120, 1118, 29, 1117, + 58, 50, 42, 1116, 1115, 1114, 1113, 1112, 27, 23, + 1111, 1105, 1, 1104, 1102, 1101, 8, 1099, 1098, 1095, + 1094, 1092, 52, 4, 1090, 1089, 1088, 1085, 1084, 2, + 1083, 39, 0, 1082, 1081, 1079, 57, 1078, 1076, 617, + 1075, 1064, 61, 11, 1063, 30, 1060, 1059, 1058, 13, + 33, 1056, 1053, 1051, 1050, 1048, 1043, 3, 1034, 17, + 1031, 1030, 1027, 1021, 1017, 41, 1011, 1010, 1006, 1003, + 1002, 1001, 999, 998, 22, 997, 19, 24, 996, 7, + 993, 988, 986, 982, 15, 16, 25, 5, 12, 981, + 974, 973, 6, 971, 970, 14, 962, 958, 954, 953, + 952, 946, 944, 942, 936, 930, 929, 927, 687, 21, + 926, 925, 18, } var yyR1 = [...]int{ - 0, 135, 80, 80, 81, 81, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 82, 82, 4, - 4, 4, 4, 83, 83, 5, 5, 5, 5, 84, - 84, 6, 6, 6, 6, 53, 53, 85, 85, 24, + 0, 144, 81, 81, 82, 82, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 83, 83, 4, + 4, 4, 4, 84, 84, 5, 5, 5, 5, 85, + 85, 6, 6, 6, 6, 53, 53, 86, 86, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 103, 103, 61, 61, 104, 104, 105, - 105, 62, 101, 101, 58, 51, 52, 133, 133, 134, - 134, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 113, 113, 109, 109, 114, 114, 123, 123, 122, - 122, 122, 57, 57, 59, 59, 60, 60, 102, 102, - 130, 130, 130, 130, 99, 99, 99, 136, 136, 56, - 56, 95, 95, 96, 96, 54, 54, 55, 55, 106, - 106, 107, 107, 66, 66, 65, 65, 65, 65, 129, - 129, 129, 115, 115, 72, 72, 72, 72, 86, 86, - 27, 27, 27, 87, 87, 87, 87, 108, 108, 69, - 69, 69, 69, 71, 116, 116, 132, 132, 117, 117, - 118, 118, 73, 73, 74, 119, 119, 77, 77, 76, - 75, 75, 78, 78, 131, 131, 110, 110, 111, 111, - 120, 120, 79, 79, 79, 79, 79, 79, 112, 112, - 112, 112, 70, 70, 100, 100, 98, 98, 97, 97, - 137, 137, 139, 139, 141, 140, 140, 140, 142, 143, - 142, 42, 15, 15, 15, 144, 15, 15, 15, 15, + 26, 26, 26, 104, 104, 61, 61, 105, 105, 106, + 106, 62, 102, 102, 58, 51, 52, 142, 142, 143, + 143, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 114, 114, 110, 110, 115, 115, 136, 136, 135, + 135, 135, 57, 57, 59, 59, 60, 60, 103, 103, + 139, 139, 139, 139, 100, 100, 100, 145, 145, 56, + 56, 96, 96, 97, 97, 54, 54, 55, 55, 107, + 107, 108, 108, 66, 66, 65, 65, 65, 65, 138, + 138, 138, 116, 116, 72, 72, 72, 72, 87, 87, + 27, 27, 27, 88, 88, 88, 88, 109, 109, 69, + 69, 69, 69, 71, 117, 117, 141, 141, 118, 118, + 119, 119, 73, 73, 74, 120, 120, 77, 77, 76, + 75, 75, 78, 78, 140, 140, 111, 111, 112, 112, + 121, 121, 79, 79, 79, 79, 79, 79, 113, 113, + 113, 113, 70, 70, 101, 101, 99, 99, 98, 98, + 124, 124, 122, 122, 123, 123, 123, 125, 125, 42, + 15, 15, 15, 146, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 145, 15, 146, 15, 147, 15, - 148, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 147, 15, 148, 15, 149, 15, 150, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 149, 15, 150, 151, 15, 152, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 153, 15, 15, 15, - 15, 15, 15, 15, 155, 15, 156, 15, 50, 50, - 50, 50, 47, 47, 47, 47, 46, 46, 1, 94, - 94, 93, 93, 93, 93, 23, 23, 23, 23, 23, - 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, - 43, 43, 41, 41, 126, 126, 127, 49, 49, 49, - 154, 154, 154, 128, 128, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 8, 28, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 35, 35, 35, 35, 29, 29, 29, 29, - 29, 29, 29, 158, 158, 161, 161, 160, 160, 160, - 160, 14, 14, 48, 48, 16, 17, 18, 19, 19, - 163, 163, 164, 138, 165, 165, 167, 166, 162, 162, - 162, 40, 40, 44, 44, 12, 22, 22, 20, 20, - 20, 21, 21, 21, 10, 10, 10, 9, 9, 13, - 13, 124, 124, 125, 125, 125, 39, 39, 121, 121, - 92, 92, 38, 38, 38, 91, 91, 90, 90, 90, - 90, 90, 90, 90, 90, 88, 88, 88, 88, 33, - 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, - 37, 37, 37, 37, 37, 37, 89, 89, 36, 36, - 30, 30, 31, 32, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 151, + 152, 15, 153, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 154, 15, 15, 15, 15, 15, 15, + 15, 156, 15, 157, 15, 50, 50, 50, 50, 47, + 47, 47, 47, 46, 46, 1, 95, 95, 94, 94, + 94, 94, 23, 23, 23, 23, 23, 23, 23, 23, + 11, 11, 11, 11, 45, 45, 45, 43, 43, 41, + 41, 132, 132, 131, 49, 49, 49, 155, 155, 155, + 137, 137, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 8, 28, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 35, + 35, 35, 35, 29, 29, 29, 29, 29, 29, 29, + 159, 159, 162, 162, 161, 161, 161, 161, 14, 14, + 48, 48, 16, 17, 18, 19, 19, 133, 133, 126, + 128, 128, 80, 127, 127, 127, 40, 40, 44, 44, + 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, + 10, 10, 9, 9, 13, 13, 129, 129, 130, 130, + 130, 39, 39, 134, 134, 93, 93, 38, 38, 38, + 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, + 89, 89, 89, 89, 33, 33, 33, 33, 33, 33, + 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, + 37, 90, 90, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1634,42 +1616,41 @@ var yyR2 = [...]int{ 4, 3, 0, 1, 1, 3, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, 1, 3, 1, - 2, 1, 4, 3, 0, 3, 1, 1, 0, 0, - 2, 3, 6, 3, 4, 0, 7, 2, 3, 3, + 2, 1, 4, 3, 2, 1, 1, 0, 1, 3, + 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 0, 4, 0, 4, 0, 4, - 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, - 0, 5, 0, 0, 7, 0, 5, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 0, 3, 1, 1, - 1, 3, 2, 1, 0, 10, 0, 11, 2, 2, - 4, 4, 4, 4, 4, 4, 4, 3, 1, 0, - 4, 3, 4, 1, 2, 2, 4, 3, 4, 4, - 4, 4, 2, 1, 1, 3, 2, 1, 3, 2, - 1, 1, 4, 1, 2, 0, 2, 0, 2, 1, - 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 2, 3, 1, 1, - 1, 1, 3, 2, 4, 3, 1, 1, 1, 4, - 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, + 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 1, 4, 0, + 0, 7, 0, 5, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 0, 3, 1, 1, 1, 3, 2, + 1, 0, 10, 0, 11, 2, 2, 4, 4, 4, + 4, 4, 4, 4, 3, 1, 0, 4, 3, 4, + 1, 2, 2, 4, 3, 4, 4, 4, 4, 2, + 1, 1, 3, 2, 1, 3, 2, 1, 1, 4, + 1, 2, 0, 2, 0, 2, 1, 0, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 2, 3, 1, 1, 1, 1, 3, + 2, 4, 3, 1, 1, 1, 4, 3, 3, 3, + 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 4, 5, 2, - 2, 3, 1, 1, 3, 2, 1, 1, 1, 1, - 3, 3, 1, 0, 2, 0, 1, 5, 3, 3, - 1, 1, 1, 3, 3, 1, 1, 1, 5, 1, - 2, 0, 0, 4, 4, 4, 0, 2, 1, 1, - 0, 1, 2, 3, 3, 1, 4, 4, 1, 1, - 1, 1, 2, 1, 4, 4, 1, 1, 4, 0, - 1, 1, 1, 4, 4, 1, 1, 3, 1, 2, - 3, 1, 1, 4, 0, 0, 2, 5, 3, 3, - 1, 6, 4, 4, 2, 2, 2, 1, 2, 1, - 4, 3, 3, 6, 3, 1, 1, 1, 4, 4, - 4, 2, 2, 4, 2, 2, 1, 3, 1, 1, - 3, 3, 3, 3, + 3, 3, 3, 3, 4, 5, 2, 2, 3, 1, + 1, 3, 2, 1, 1, 1, 1, 3, 3, 1, + 0, 2, 0, 1, 5, 3, 3, 1, 1, 1, + 3, 3, 1, 1, 1, 5, 1, 2, 0, 3, + 4, 4, 1, 1, 1, 0, 1, 2, 3, 3, + 1, 4, 4, 1, 1, 1, 1, 2, 1, 4, + 4, 1, 1, 4, 0, 1, 1, 1, 4, 4, + 1, 1, 3, 1, 2, 3, 1, 1, 4, 0, + 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, + 2, 2, 1, 2, 1, 4, 3, 3, 6, 3, + 1, 1, 1, 4, 4, 4, 2, 2, 4, 2, + 2, 1, 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -135, -80, -3, -25, -51, -52, 51, 79, 44, + -1000, -144, -81, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1679,207 +1660,207 @@ var yyChk = [...]int{ 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, - -30, -81, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -121, -44, -12, -40, -9, 134, - 12, 123, -81, 119, 82, 10, -82, 37, 38, -4, - -81, 82, 121, 135, 122, 10, -85, -48, 123, -48, + -30, -82, 82, -11, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -10, -134, -44, -12, -40, -9, 134, + 12, 123, -82, 119, 82, 10, -83, 37, 38, -4, + -82, 82, 121, 135, 122, 10, -86, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, - -14, 121, -15, -19, -14, 121, -86, -27, 12, 134, - -87, -1, 12, -100, -14, 121, 149, 150, 87, 89, + -14, 121, -15, -19, -14, 121, -87, -27, 12, 134, + -88, -1, 12, -101, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -133, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -142, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -14, 104, 105, -18, -19, -81, 79, 82, + 147, 123, -14, 104, 105, -18, -19, -82, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -153, 125, 125, -154, 17, -88, -33, 12, 76, - 77, -14, 57, -43, -11, -41, -81, 79, 82, -21, - -10, -121, -12, 123, 123, -14, -14, 123, -14, -14, - 125, -88, 17, 17, 75, -88, 125, 123, -91, -90, - -14, 128, 125, 125, 82, -129, 123, -81, 78, 125, - 119, -10, 134, 78, -129, 119, 124, 121, 119, -80, - -81, 121, 135, -83, -5, -81, 82, -84, -6, -81, - 82, 29, -81, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -133, -98, -97, - -14, -130, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -133, 136, 121, 135, -145, - -146, -147, -148, -14, -14, -14, -14, -14, -14, -14, + -48, -154, 125, 125, -155, 17, -89, -33, 12, 76, + 77, -14, 57, -43, -11, -41, -82, 79, 82, -21, + -10, -134, -12, 123, 123, -14, -14, 123, -14, -14, + 125, -89, 17, 17, 75, -89, 125, 123, -92, -91, + -14, 128, 125, 125, 82, -138, 123, -82, 78, 125, + 119, -10, 134, 78, -138, 119, 124, 121, 119, -81, + -82, 121, 135, -84, -5, -82, 82, -85, -6, -82, + 82, 29, -82, 10, 136, -24, 120, -25, -51, -52, + 51, -25, 122, -56, -25, 122, 21, -142, -99, -98, + -14, -139, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -142, 136, 121, 135, -147, + -148, -149, -150, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -150, 122, -101, -58, -19, - -19, -15, -102, 10, -85, 121, 121, 10, -155, -68, - 55, -113, 55, 58, -14, 128, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -92, -38, - -19, 59, 82, -81, 78, 78, 124, 124, 124, 124, + -14, -14, -14, -14, -43, -151, 122, -102, -58, -19, + -19, -15, -103, 10, -86, 121, 121, 10, -156, -68, + 55, -114, 55, 58, -14, 128, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -93, -38, + -19, 59, 82, -82, 78, 78, 124, 124, 124, 124, -14, -13, -14, -13, 118, -33, -33, 17, 125, 57, - -14, 11, -19, -124, -125, -40, -39, -10, -121, 10, - 119, -128, -129, 78, 82, -81, 57, -10, 78, -89, + -14, 11, -19, -129, -130, -40, -39, -10, -134, 10, + 119, -137, -138, 78, 82, -82, 57, -10, 78, -90, -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, - -13, -91, 126, -161, 135, 58, -17, -19, -13, -13, - 10, 124, -115, -50, -72, -15, -19, 128, 83, -129, + -13, -92, 126, -162, 135, 58, -17, -19, -13, -13, + 10, 124, -116, -50, -72, -15, -19, 128, 83, -138, -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, - 121, -80, 120, -129, -4, 121, 135, 29, -81, 121, - 135, 29, -81, 10, 29, 136, -28, -157, -7, -31, - -81, 79, 82, 60, 125, -8, 62, -159, 18, 74, - -11, 131, 132, 130, 129, 123, 123, -95, -85, -85, - -48, 121, 135, -99, 121, -99, 121, -27, -14, 12, - -156, -28, -14, -14, -14, -14, -14, -14, -152, 124, - 135, 29, 29, 124, 135, 136, 120, 123, 123, -109, - 56, -45, -81, 79, 82, 119, -114, -45, -15, -19, - -19, 91, 124, 135, 123, -81, -149, 126, 126, -34, - 10, 13, 12, 10, 120, 125, 120, -162, -166, -165, - -167, 125, 119, -10, -14, -40, -81, -124, -40, 124, - 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, - 128, 126, 126, 124, 135, 124, -17, -14, -129, -129, - 126, 120, -129, -129, 120, 120, -5, 10, 29, -6, - 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, - 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, - 150, 149, 155, 156, 153, 154, 157, 159, 158, 160, - 127, 82, -81, 123, -158, -160, -157, 17, 78, -157, - -157, -157, -157, -157, 124, -54, 93, 94, -96, 22, - 121, -98, -14, 120, 32, 33, -99, 31, -99, 120, - 136, 123, 122, -14, 121, -58, -122, -19, 128, 59, - -122, -60, -25, 122, 10, -28, -103, 41, -106, -107, - -66, -65, 60, 61, -45, -106, 119, -114, 82, -81, - -108, 135, -43, 136, -38, -92, -142, -143, 126, -14, - -163, 125, 125, -129, -13, -14, 120, -126, -36, 58, - -17, -17, -72, 10, 10, -157, -157, -157, -157, -157, - -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, 122, -157, -81, -158, 126, -161, 135, 58, 10, - 52, 124, 121, -48, -25, -55, 93, 94, 121, 121, - -14, -136, 122, 121, 120, 121, 31, -28, -106, -151, - -123, 58, -19, 123, -123, -85, 136, -61, 42, 123, - 124, 135, -133, 124, -108, -81, 120, -69, -110, -70, - -71, -111, -120, 47, 38, 44, -79, 103, 102, 101, - 98, 99, 100, -45, -144, -14, 124, -140, -139, -137, - 125, -138, 57, 126, -138, -13, -13, 126, 120, -127, - 57, -14, 128, 126, -157, 122, 124, -157, -157, -25, - 95, -48, 122, -98, -136, -85, 121, 124, -14, 124, - -122, -92, 124, 28, -28, 119, -45, 119, -66, -134, - 83, -94, 44, 120, -112, 12, 121, 135, -1, -79, - 10, -116, -45, -128, 125, -141, -138, -13, -124, 120, - 126, 126, -124, -17, -157, 58, 121, 122, -85, 124, - -85, -94, -59, -25, 122, 124, -59, 121, -85, 12, - -85, 12, 119, 123, 121, 135, 136, 10, -133, 136, - -132, 135, 121, 119, -13, -137, 126, -164, -157, -85, - -57, -25, 122, 119, -85, 120, 124, 120, 136, -85, - -93, 12, 128, 12, -28, 136, 10, -28, -45, -117, - -118, -73, -74, -75, -76, -77, -45, 10, 126, -162, - -85, -85, 26, 119, -28, 120, 124, 135, 12, 136, - -28, 123, 120, -73, 121, 121, 45, 29, 78, 24, - 120, 121, -85, 12, 128, -28, -106, -119, -45, -78, - -79, 10, 121, 120, 12, 124, 135, 10, -104, -105, - -62, 41, -131, 121, 119, -45, -62, 123, -85, -45, - 120, 12, 124, 119, -85, 120, + 121, -81, 120, -138, -4, 121, 135, 29, -82, 121, + 135, 29, -82, 10, 29, 136, -28, -158, -7, -31, + -82, 79, 82, 60, 125, -8, 62, -160, 18, 74, + -11, 131, 132, 130, 129, 123, 123, -96, -86, -86, + -48, 121, 135, -100, 121, -100, 121, -27, -14, 12, + -157, -28, -14, -14, -14, -14, -14, -14, -153, 124, + 135, 29, 29, 124, 135, 136, 120, 123, 123, -110, + 56, -45, -82, 79, 82, 119, -115, -45, -15, -19, + -19, 91, 124, 135, 123, -82, -125, -123, -122, -124, + 125, -126, 57, 126, 126, -34, 10, 13, 12, 10, + 120, 125, 120, -127, -80, -128, -138, 125, 119, -10, + -14, -40, -82, -129, -40, 124, 135, 124, 124, 124, + 126, 126, 124, -14, 128, -14, 128, 126, 126, 124, + 135, 124, -17, -14, -138, -138, 126, 120, -138, -138, + 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, + 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, + 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, + 153, 154, 157, 159, 158, 160, 127, 82, -82, 123, + -159, -161, -158, 17, 78, -158, -158, -158, -158, -158, + 124, -54, 93, 94, -97, 22, 121, -99, -14, 120, + 32, 33, -100, 31, -100, 120, 136, 123, 122, -14, + 121, -58, -135, -19, 128, 59, -135, -60, -25, 122, + 10, -28, -104, 41, -107, -108, -66, -65, 60, 61, + -45, -107, 119, -115, 82, -82, -109, 135, -43, 136, + -38, -93, 125, -124, -126, -13, -129, 126, -14, -133, + 125, 125, -13, -14, 120, -132, -36, 58, -17, -17, + -72, 10, 10, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, + -158, -158, -158, -158, -158, -158, -158, -158, -158, 122, + -158, -82, -159, 126, -162, 135, 58, 10, 52, 124, + 121, -48, -25, -55, 93, 94, 121, 121, -14, -145, + 122, 121, 120, 121, 31, -28, -107, -152, -136, 58, + -19, 123, -136, -86, 136, -61, 42, 123, 124, 135, + -142, 124, -109, -82, 120, -69, -111, -70, -71, -112, + -121, 47, 38, 44, -79, 103, 102, 101, 98, 99, + 100, -45, -146, -14, 124, -13, 126, -127, 126, -126, + -13, -13, 126, 120, -131, 57, -14, 128, 126, -158, + 122, 124, -158, -158, -25, 95, -48, 122, -99, -145, + -86, 121, 124, -14, 124, -135, -93, 124, 28, -28, + 119, -45, 119, -66, -143, 83, -95, 44, 120, -113, + 12, 121, 135, -1, -79, 10, -117, -45, -137, 126, + 120, 126, 126, -129, -17, -158, 58, 121, 122, -86, + 124, -86, -95, -59, -25, 122, 124, -59, 121, -86, + 12, -86, 12, 119, 123, 121, 135, 136, 10, -142, + 136, -141, 135, 121, 119, -158, -86, -57, -25, 122, + 119, -86, 120, 124, 120, 136, -86, -94, 12, 128, + 12, -28, 136, 10, -28, -45, -118, -119, -73, -74, + -75, -76, -77, -45, 10, -86, -86, 26, 119, -28, + 120, 124, 135, 12, 136, -28, 123, 120, -73, 121, + 121, 45, 29, 78, 24, 120, 121, -86, 12, 128, + -28, -107, -120, -45, -78, -79, 10, 121, 120, 12, + 124, 135, 10, -105, -106, -62, 41, -140, 121, 119, + -45, -62, 123, -86, -45, 120, 12, 124, 119, -86, + 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 85, 86, 0, 38, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 343, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 340, 0, 63, 0, 0, 0, 0, 69, 0, 0, 0, 87, 0, - 0, 313, 441, 442, 328, 94, 0, 96, 0, 100, + 0, 310, 438, 439, 325, 94, 0, 96, 0, 100, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 288, 289, 0, 297, 0, 0, 0, 0, 0, 0, - 0, 357, 306, 308, 309, 310, 360, 0, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 426, 427, 428, - 429, 0, 0, 432, 367, 0, 495, 468, 469, 470, - 422, -2, 0, 0, 365, 366, 368, 369, 370, 371, - 372, 373, 374, -2, 0, 473, 0, 0, 476, 488, - 477, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 286, 287, 0, 294, 0, 0, 0, 0, 0, 0, + 0, 354, 303, 305, 306, 307, 357, 0, 446, 0, + 0, 0, 0, 0, 0, 0, 0, 423, 424, 425, + 426, 0, 0, 429, 364, 0, 490, 463, 464, 465, + 419, -2, 0, 0, 362, 363, 365, 366, 367, 368, + 369, 370, 371, -2, 0, 468, 0, 0, 471, 483, + 472, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 0, 0, 0, - 0, 87, 0, 216, 0, 52, 0, 313, 343, 54, - 0, 56, 442, -2, 0, 59, 0, 159, 160, 0, - 0, 87, 165, 0, 215, 64, 254, 256, 258, 260, + 0, 87, 0, 216, 0, 52, 0, 310, 340, 54, + 0, 56, 439, -2, 0, 59, 0, 159, 160, 0, + 0, 87, 165, 0, 215, 64, 252, 254, 256, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 292, 0, 0, 0, 38, 0, 0, 314, + 0, 0, 289, 0, 0, 0, 38, 0, 0, 311, 88, 98, 101, -2, -2, 0, 95, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 494, 237, 250, 252, 251, 447, 344, 0, 0, - 0, 0, 343, 253, 275, 276, 277, 278, 289, 0, - 0, 298, 299, 300, 301, 302, 303, 304, 305, 0, - 359, 0, 479, 479, 0, 361, 362, 507, 509, 0, - 0, 312, 0, 363, 350, 351, 344, 0, 0, 353, - -2, 0, 0, 0, 0, 521, 522, 0, 524, 525, - 479, 0, 0, 0, 376, 0, 479, 495, 0, 435, - 500, 0, 479, 479, 0, 335, 0, -2, 0, 479, - 0, -2, 489, 0, 342, 0, 0, 10, 3, 0, + 0, 489, 235, 248, 250, 249, 444, 341, 0, 0, + 0, 0, 340, 251, 273, 274, 275, 276, 287, 0, + 0, 295, 296, 297, 298, 299, 300, 301, 302, 0, + 356, 0, 474, 474, 0, 358, 359, 502, 504, 0, + 0, 309, 0, 360, 347, 348, 341, 0, 0, 350, + -2, 0, 0, 0, 0, 516, 517, 0, 519, 520, + 474, 0, 0, 0, 373, 0, 474, 490, 0, 432, + 495, 0, 474, 474, 0, 332, 0, -2, 0, 474, + 0, -2, 484, 0, 339, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 131, 38, 48, 129, 38, 0, 314, 0, 217, + 0, 131, 38, 48, 129, 38, 0, 311, 0, 217, 219, 51, 124, 124, 53, 55, 57, 58, 60, 0, - 161, 0, 445, 61, 0, 316, 0, 62, 0, 0, - 0, 0, 0, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, -2, -2, -2, -2, - -2, -2, -2, -2, 287, 0, 295, 0, 82, 84, - -2, 442, 0, 0, 0, 71, 72, 0, 0, 103, - 0, 0, 0, 0, 233, 0, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 0, 491, - 492, 0, 0, 346, 0, 0, 290, 443, 444, 358, - 307, 0, 480, 0, 311, 508, 505, 506, 0, 0, - 0, 426, 0, -2, 481, 482, 485, 461, 0, 486, - 0, 231, 364, 0, 0, 346, 0, 472, 0, 0, - 526, -2, -2, -2, 442, 0, 0, 430, 375, 431, - 0, 0, 327, 496, 436, 0, 504, 446, 0, 0, - 5, 149, 0, 0, 152, -2, -2, 0, 0, 337, - 0, 463, -2, 533, 0, 0, 0, 464, -2, 0, - 9, 0, 12, 336, 17, 14, 0, 0, 27, 15, - 0, 0, 33, 20, 0, 0, 36, 378, 379, 380, - -2, 0, 0, 0, 433, 386, 387, 388, 367, 0, + 161, 0, 442, 61, 0, 313, 0, 62, 0, 0, + 0, 0, 0, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, -2, -2, -2, -2, + -2, -2, -2, -2, 285, 0, 292, 0, 82, 84, + -2, 439, 0, 0, 0, 71, 72, 0, 0, 103, + 0, 0, 0, 0, 231, 0, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 0, 486, + 487, 0, 0, 343, 0, 0, 227, 440, 441, 355, + 304, 0, 475, 0, 308, 503, 500, 501, 0, 0, + 0, 423, 0, 455, 476, 477, 480, 456, 0, 481, + 0, 229, 361, 0, 0, 343, 0, 467, 0, 0, + 521, -2, -2, -2, 439, 0, 0, 427, 372, 428, + 0, 0, 324, 491, 433, 0, 499, 443, 0, 0, + 5, 149, 0, 0, 152, -2, -2, 0, 0, 334, + 0, 458, -2, 528, 0, 0, 0, 459, -2, 0, + 9, 0, 12, 333, 17, 14, 0, 0, 27, 15, + 0, 0, 33, 20, 0, 0, 36, 375, 376, 377, + -2, 0, 0, 0, 430, 383, 384, 385, 364, 0, 0, 0, 0, 0, 0, 0, 0, 135, 133, 0, 0, 216, 0, 0, 124, 0, 124, 158, 0, 163, - 0, 166, 214, 255, 257, 259, 261, 0, 0, 0, + 0, 166, 214, 253, 255, 257, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, -2, -2, 0, - 0, 99, 347, 0, 0, 168, 102, 105, -2, -2, - 234, 0, 0, 494, 494, 345, -2, 323, 322, 0, - 515, 516, 517, 511, 512, 0, 514, 451, 458, 459, - 0, 479, 0, 462, 0, 463, 345, 355, 464, 518, - 0, 519, 520, 523, 325, 324, 326, 498, 0, 499, - 0, 466, 467, 150, 0, 151, 156, 157, 338, 339, - 474, 475, 340, 341, 478, 11, 23, 26, 0, 29, - 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, + 0, 99, 344, 0, 0, 168, 102, 105, -2, -2, + 232, 0, 0, 489, 489, 342, 288, 228, 225, 226, + 474, 221, 0, 320, 319, 0, 510, 511, 512, 506, + 507, 0, 509, 448, 453, 454, 452, 474, 0, 457, + 0, 458, 342, 352, 459, 513, 0, 514, 515, 518, + 322, 321, 323, 493, 0, 494, 0, 461, 462, 150, + 0, 151, 156, 157, 335, 336, 469, 470, 337, 338, + 473, 11, 23, 26, 0, 29, 32, 0, 22, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2, 433, 0, 435, 440, 0, 0, 396, - 397, 419, 420, 0, 0, 46, 0, 0, 137, 0, - 49, 0, 218, 120, 0, 0, 0, 0, 0, 162, - 0, -2, 293, 296, 65, 83, 107, 109, 0, 0, - 107, 68, 116, 38, 0, 118, 75, 0, 0, 139, - 141, 87, 146, 147, 148, 0, 168, 104, 0, 349, - 198, 0, 235, 0, 490, 0, 291, 0, 510, 0, - 448, 479, 479, 457, 0, 0, 487, 352, 527, 0, - 502, 503, 153, 28, 34, 0, 390, 391, 392, 393, - 394, 395, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, -2, -2, -2, -2, -2, -2, -2, - -2, 0, 0, -2, 0, 385, 434, 436, 0, 377, - 532, 421, 42, 0, 136, 0, 0, 0, 130, 216, - 0, 38, 127, 128, 121, 122, 0, 164, 0, 0, - 0, 0, 110, 494, 0, 0, 0, 70, 0, 0, - 0, 145, 89, 329, 198, 348, 93, 167, 0, 0, - 171, 0, -2, 197, 0, 0, 200, 202, 203, 204, - 205, 206, 207, 106, 363, 232, 493, 230, -2, 227, - 479, 221, 0, 0, 450, 0, 0, 483, 484, 354, - 0, 497, 0, 389, 417, 0, 384, 438, 439, 132, - 0, 0, 38, 0, 38, 126, 123, 329, 294, 0, - 108, 0, 0, 0, 119, 38, 0, 38, 142, 0, - 90, 0, 0, 92, 0, 210, 170, 0, 87, 201, - 0, 0, 174, 236, 479, 0, 220, 0, 452, 513, - 455, 454, 356, 501, 418, 0, 47, 38, 138, 0, - 125, 0, 66, 114, 38, 111, 67, 117, 0, 0, - 0, 143, 38, 0, 169, 0, 0, 0, 0, 0, - 173, 0, 176, 178, 0, 225, 223, -2, 437, 134, - 50, 112, 38, 38, 0, 76, 0, 91, 0, 0, - 0, 333, 0, 208, 211, 0, 0, 213, 175, 0, - 179, 180, 0, 0, 188, 0, 0, -2, 222, 453, - 0, 0, 0, 38, 144, 315, 330, 0, 334, 0, - 212, -2, 177, 181, 182, 183, 0, 192, 0, 0, - 317, 115, 0, 331, 0, 209, 0, 184, 185, 0, - -2, 189, 113, 78, 332, 0, 0, 190, 74, 77, - 79, 0, 172, 194, 38, 186, 80, 0, 0, 0, - 195, 0, 0, 38, 0, 81, + 0, 0, 0, 0, 0, 0, 0, 0, -2, 430, + 0, 432, 437, 0, 0, 393, 394, 416, 417, 0, + 0, 46, 0, 0, 137, 0, 49, 0, 218, 120, + 0, 0, 0, 0, 0, 162, 0, -2, 290, 293, + 65, 83, 107, 109, 0, 0, 107, 68, 116, 38, + 0, 118, 75, 0, 0, 139, 141, 87, 146, 147, + 148, 0, 168, 104, 0, 346, 198, 0, 233, 0, + 485, 0, 474, 224, 220, 0, 455, 505, 0, 445, + 474, 474, 0, 0, 482, 349, 522, 0, 497, 498, + 153, 28, 34, 0, 387, 388, 389, 390, 391, 392, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, -2, -2, -2, -2, -2, -2, -2, -2, 0, + 0, -2, 0, 382, 431, 433, 0, 374, 527, 418, + 42, 0, 136, 0, 0, 0, 130, 216, 0, 38, + 127, 128, 121, 122, 0, 164, 0, 0, 0, 0, + 110, 489, 0, 0, 0, 70, 0, 0, 0, 145, + 89, 326, 198, 345, 93, 167, 0, 0, 171, 0, + -2, 197, 0, 0, 200, 202, 203, 204, 205, 206, + 207, 106, 360, 230, 488, 0, 223, 449, 0, 447, + 0, 0, 478, 479, 351, 0, 492, 0, 386, 414, + 0, 381, 435, 436, 132, 0, 0, 38, 0, 38, + 126, 123, 326, 291, 0, 108, 0, 0, 0, 119, + 38, 0, 38, 142, 0, 90, 0, 0, 92, 0, + 210, 170, 0, 87, 201, 0, 0, 174, 234, 222, + 508, 451, 450, 353, 496, 415, 0, 47, 38, 138, + 0, 125, 0, 66, 114, 38, 111, 67, 117, 0, + 0, 0, 143, 38, 0, 169, 0, 0, 0, 0, + 0, 173, 0, 176, 178, 434, 134, 50, 112, 38, + 38, 0, 76, 0, 91, 0, 0, 0, 330, 0, + 208, 211, 0, 0, 213, 175, 0, 179, 180, 0, + 0, 188, 0, 0, -2, 0, 0, 0, 38, 144, + 312, 327, 0, 331, 0, 212, -2, 177, 181, 182, + 183, 0, 192, 0, 0, 314, 115, 0, 328, 0, + 209, 0, 184, 185, 0, -2, 189, 113, 78, 329, + 0, 0, 190, 74, 77, 79, 0, 172, 194, 38, + 186, 80, 0, 0, 0, 195, 0, 0, 38, 0, + 81, } var yyTok1 = [...]int{ @@ -2257,25 +2238,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:234 + //line php5/php5.y:235 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:240 + //line php5/php5.y:241 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:241 + //line php5/php5.y:242 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:246 + //line php5/php5.y:247 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2284,7 +2265,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:253 + //line php5/php5.y:254 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2293,25 +2274,25 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:263 + //line php5/php5.y:264 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:265 + //line php5/php5.y:266 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:267 + //line php5/php5.y:268 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:269 + //line php5/php5.y:270 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2319,7 +2300,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:275 + //line php5/php5.y:276 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2331,7 +2312,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:285 + //line php5/php5.y:286 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2343,7 +2324,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:295 + //line php5/php5.y:296 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2351,7 +2332,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:301 + //line php5/php5.y:302 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2359,7 +2340,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:307 + //line php5/php5.y:308 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2371,7 +2352,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:317 + //line php5/php5.y:318 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2383,25 +2364,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:327 + //line php5/php5.y:328 { yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:332 + //line php5/php5.y:333 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:334 + //line php5/php5.y:335 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:339 + //line php5/php5.y:340 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2413,7 +2394,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:349 + //line php5/php5.y:350 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2428,7 +2409,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:362 + //line php5/php5.y:363 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2440,7 +2421,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:372 + //line php5/php5.y:373 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2455,19 +2436,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:388 + //line php5/php5.y:389 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:390 + //line php5/php5.y:391 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:395 + //line php5/php5.y:396 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2479,7 +2460,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:405 + //line php5/php5.y:406 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2494,7 +2475,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:418 + //line php5/php5.y:419 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2506,7 +2487,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:428 + //line php5/php5.y:429 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2521,19 +2502,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:444 + //line php5/php5.y:445 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:446 + //line php5/php5.y:447 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:451 + //line php5/php5.y:452 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2545,7 +2526,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:461 + //line php5/php5.y:462 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2560,7 +2541,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:474 + //line php5/php5.y:475 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2572,7 +2553,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:484 + //line php5/php5.y:485 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2587,7 +2568,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:500 + //line php5/php5.y:501 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2605,7 +2586,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:517 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2623,37 +2604,37 @@ yydefault: } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:535 + //line php5/php5.y:536 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:537 + //line php5/php5.y:538 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:543 + //line php5/php5.y:544 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:545 + //line php5/php5.y:546 { yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:548 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:550 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2661,13 +2642,13 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:559 + //line php5/php5.y:560 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:561 + //line php5/php5.y:562 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2679,7 +2660,7 @@ yydefault: } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:574 + //line php5/php5.y:575 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2687,7 +2668,7 @@ yydefault: } case 46: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:580 + //line php5/php5.y:581 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2703,7 +2684,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:594 + //line php5/php5.y:595 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2714,7 +2695,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:603 + //line php5/php5.y:604 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[2].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -2722,7 +2703,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:609 + //line php5/php5.y:610 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2730,7 +2711,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:615 + //line php5/php5.y:616 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2738,7 +2719,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:621 + //line php5/php5.y:622 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -2746,7 +2727,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:627 + //line php5/php5.y:628 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2754,7 +2735,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:633 + //line php5/php5.y:634 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2762,7 +2743,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:639 + //line php5/php5.y:640 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2770,7 +2751,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:645 + //line php5/php5.y:646 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2778,7 +2759,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:651 + //line php5/php5.y:652 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2786,7 +2767,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:657 + //line php5/php5.y:658 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2794,7 +2775,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:663 + //line php5/php5.y:664 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2802,13 +2783,13 @@ yydefault: } case 59: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:669 + //line php5/php5.y:670 { yyVAL.node = yyDollar[1].node } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:671 + //line php5/php5.y:672 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2816,7 +2797,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:677 + //line php5/php5.y:678 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2824,7 +2805,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:683 + //line php5/php5.y:684 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2832,7 +2813,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:689 + //line php5/php5.y:690 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2840,13 +2821,13 @@ yydefault: } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:695 + //line php5/php5.y:696 { yyVAL.node = yyDollar[1].node } case 65: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:697 + //line php5/php5.y:698 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2854,7 +2835,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:703 + //line php5/php5.y:704 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2866,7 +2847,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:713 + //line php5/php5.y:714 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2878,7 +2859,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:723 + //line php5/php5.y:724 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2886,7 +2867,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:729 + //line php5/php5.y:730 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2894,7 +2875,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:735 + //line php5/php5.y:736 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -2908,7 +2889,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:747 + //line php5/php5.y:748 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2916,7 +2897,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:753 + //line php5/php5.y:754 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2928,13 +2909,13 @@ yydefault: } case 73: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:766 + //line php5/php5.y:767 { yyVAL.list = []node.Node{} } case 74: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:768 + //line php5/php5.y:769 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2952,13 +2933,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:786 + //line php5/php5.y:787 { yyVAL.node = nil } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:788 + //line php5/php5.y:789 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2966,31 +2947,31 @@ yydefault: } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:797 + //line php5/php5.y:798 { yyVAL.list = yyDollar[1].list } case 78: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:799 + //line php5/php5.y:800 { yyVAL.list = []node.Node{} } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:804 + //line php5/php5.y:805 { yyVAL.list = []node.Node{yyDollar[1].node} } case 80: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:806 + //line php5/php5.y:807 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 81: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:811 + //line php5/php5.y:812 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3006,61 +2987,61 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:828 + //line php5/php5.y:829 { yyVAL.list = []node.Node{yyDollar[1].node} } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:830 + //line php5/php5.y:831 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:835 + //line php5/php5.y:836 { yyVAL.node = yyDollar[1].node } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:840 + //line php5/php5.y:841 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:845 + //line php5/php5.y:846 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:850 + //line php5/php5.y:851 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:852 + //line php5/php5.y:853 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:857 + //line php5/php5.y:858 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:859 + //line php5/php5.y:860 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 91: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:864 + //line php5/php5.y:865 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3072,7 +3053,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:877 + //line php5/php5.y:878 { switch n := yyDollar[1].node.(type) { case *stmt.Class: @@ -3095,7 +3076,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:898 + //line php5/php5.y:899 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3107,7 +3088,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:912 + //line php5/php5.y:913 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3115,7 +3096,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:918 + //line php5/php5.y:919 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3127,7 +3108,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:928 + //line php5/php5.y:929 { yyVAL.node = stmt.NewTrait(nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3135,7 +3116,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:934 + //line php5/php5.y:935 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3147,85 +3128,85 @@ yydefault: } case 98: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:947 + //line php5/php5.y:948 { yyVAL.node = nil } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:949 + //line php5/php5.y:950 { yyVAL.node = yyDollar[2].node } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:954 + //line php5/php5.y:955 { yyVAL.token = yyDollar[1].token } case 101: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:959 + //line php5/php5.y:960 { yyVAL.list = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:961 + //line php5/php5.y:962 { yyVAL.list = yyDollar[2].list } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:966 + //line php5/php5.y:967 { yyVAL.list = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:968 + //line php5/php5.y:969 { yyVAL.list = yyDollar[2].list } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:974 { yyVAL.list = []node.Node{yyDollar[1].node} } case 106: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:976 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:981 { yyVAL.foreachVariable = foreachVariable{nil, false} } case 108: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:982 + //line php5/php5.y:983 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:988 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:990 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 111: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:991 + //line php5/php5.y:992 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3234,13 +3215,13 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1002 { yyVAL.node = yyDollar[1].node } case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1003 + //line php5/php5.y:1004 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3248,13 +3229,13 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1014 { yyVAL.node = yyDollar[1].node } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1015 + //line php5/php5.y:1016 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3262,13 +3243,13 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1026 { yyVAL.node = yyDollar[1].node } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1028 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3276,7 +3257,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1037 + //line php5/php5.y:1038 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3290,7 +3271,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1049 + //line php5/php5.y:1050 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3304,37 +3285,37 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1065 + //line php5/php5.y:1066 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 121: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1068 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1069 + //line php5/php5.y:1070 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 123: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1071 + //line php5/php5.y:1072 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 124: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1077 + //line php5/php5.y:1078 { yyVAL.list = []node.Node{} } case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1080 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3343,7 +3324,7 @@ yydefault: } case 126: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1086 + //line php5/php5.y:1087 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3352,26 +3333,26 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1104 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1106 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 131: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1116 { yyVAL.list = []node.Node{} } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1118 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3381,13 +3362,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1130 { yyVAL.list = []node.Node{} } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1132 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3400,13 +3381,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1147 { yyVAL.node = nil } case 136: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1148 + //line php5/php5.y:1149 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3414,13 +3395,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1159 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1161 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3431,31 +3412,31 @@ yydefault: } case 139: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1173 + //line php5/php5.y:1174 { yyVAL.list = yyDollar[1].list } case 140: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1175 + //line php5/php5.y:1176 { yyVAL.list = nil } case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1180 + //line php5/php5.y:1181 { yyVAL.list = []node.Node{yyDollar[1].node} } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1182 + //line php5/php5.y:1183 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 143: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1187 + //line php5/php5.y:1188 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3483,7 +3464,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1213 + //line php5/php5.y:1214 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3511,13 +3492,13 @@ yydefault: } case 145: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1243 + //line php5/php5.y:1244 { yyVAL.node = nil } case 146: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1245 + //line php5/php5.y:1246 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3525,7 +3506,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1251 + //line php5/php5.y:1252 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3533,25 +3514,25 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1257 + //line php5/php5.y:1258 { yyVAL.node = yyDollar[1].node } case 149: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1263 + //line php5/php5.y:1264 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1266 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1267 + //line php5/php5.y:1268 { arg := node.NewArgument(yyDollar[2].node, false, false) positions.AddPosition(arg, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3561,19 +3542,19 @@ yydefault: } case 152: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1279 + //line php5/php5.y:1280 { yyVAL.list = []node.Node{yyDollar[1].node} } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1282 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1286 + //line php5/php5.y:1287 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3581,7 +3562,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1292 + //line php5/php5.y:1293 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3589,7 +3570,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1298 + //line php5/php5.y:1299 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3597,7 +3578,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1304 + //line php5/php5.y:1305 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3605,19 +3586,19 @@ yydefault: } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1313 + //line php5/php5.y:1314 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1315 + //line php5/php5.y:1316 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1321 + //line php5/php5.y:1322 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3629,7 +3610,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1331 + //line php5/php5.y:1332 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3637,7 +3618,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1337 + //line php5/php5.y:1338 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3645,7 +3626,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1347 + //line php5/php5.y:1348 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3664,7 +3645,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1364 + //line php5/php5.y:1365 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3683,7 +3664,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1381 + //line php5/php5.y:1382 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3702,7 +3683,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1398 + //line php5/php5.y:1399 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3721,19 +3702,19 @@ yydefault: } case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1420 + //line php5/php5.y:1421 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 168: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1422 + //line php5/php5.y:1423 { yyVAL.list = []node.Node{} } case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1428 + //line php5/php5.y:1429 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3741,19 +3722,19 @@ yydefault: } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1435 { yyVAL.node = yyDollar[1].node } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1436 + //line php5/php5.y:1437 { yyVAL.node = yyDollar[1].node } case 172: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1438 + //line php5/php5.y:1439 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3765,7 +3746,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1452 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3773,67 +3754,67 @@ yydefault: } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1460 + //line php5/php5.y:1461 { yyVAL.list = []node.Node{yyDollar[1].node} } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1462 + //line php5/php5.y:1463 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1467 + //line php5/php5.y:1468 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1469 + //line php5/php5.y:1470 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 178: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1474 + //line php5/php5.y:1475 { yyVAL.list = nil } case 179: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1477 { yyVAL.list = yyDollar[1].list } case 180: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1481 + //line php5/php5.y:1482 { yyVAL.list = []node.Node{yyDollar[1].node} } case 181: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1483 + //line php5/php5.y:1484 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1489 { yyVAL.node = yyDollar[1].node } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1490 + //line php5/php5.y:1491 { yyVAL.node = yyDollar[1].node } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1495 + //line php5/php5.y:1496 { name := name.NewName(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3845,19 +3826,19 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1508 + //line php5/php5.y:1509 { yyVAL.list = []node.Node{yyDollar[1].node} } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1510 + //line php5/php5.y:1511 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1515 + //line php5/php5.y:1516 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3869,13 +3850,13 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1525 + //line php5/php5.y:1526 { yyVAL.node = yyDollar[1].node } case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1530 + //line php5/php5.y:1531 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3887,7 +3868,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1543 + //line php5/php5.y:1544 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3899,7 +3880,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1553 + //line php5/php5.y:1554 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3907,37 +3888,37 @@ yydefault: } case 192: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1562 + //line php5/php5.y:1563 { yyVAL.node = nil } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1564 + //line php5/php5.y:1565 { yyVAL.node = yyDollar[1].node } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1569 + //line php5/php5.y:1570 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 195: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1571 + //line php5/php5.y:1572 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1576 + //line php5/php5.y:1577 { yyVAL.list = yyDollar[1].list } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1578 + //line php5/php5.y:1579 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3947,31 +3928,31 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1589 + //line php5/php5.y:1590 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1591 + //line php5/php5.y:1592 { yyVAL.list = yyDollar[1].list } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1596 + //line php5/php5.y:1597 { yyVAL.list = []node.Node{yyDollar[1].node} } case 201: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1598 + //line php5/php5.y:1599 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1603 + //line php5/php5.y:1604 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3979,7 +3960,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1609 + //line php5/php5.y:1610 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3987,7 +3968,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1615 + //line php5/php5.y:1616 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3995,7 +3976,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1621 + //line php5/php5.y:1622 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4003,7 +3984,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1627 + //line php5/php5.y:1628 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4011,7 +3992,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1633 + //line php5/php5.y:1634 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4019,7 +4000,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1642 + //line php5/php5.y:1643 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4037,7 +4018,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1658 + //line php5/php5.y:1659 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4055,7 +4036,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1674 + //line php5/php5.y:1675 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4073,7 +4054,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1691 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4091,7 +4072,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1709 + //line php5/php5.y:1710 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4108,7 +4089,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1724 + //line php5/php5.y:1725 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4124,98 +4105,103 @@ yydefault: } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1741 + //line php5/php5.y:1742 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1743 + //line php5/php5.y:1744 { yyVAL.list = []node.Node{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1749 + //line php5/php5.y:1750 { yyVAL.list = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1751 + //line php5/php5.y:1752 { yyVAL.list = yyDollar[1].list } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1756 + //line php5/php5.y:1757 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1758 + //line php5/php5.y:1759 { yyVAL.list = []node.Node{yyDollar[1].node} } case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1762 + //line php5/php5.y:1764 { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1763 + //line php5/php5.y:1766 { + yyVAL.list = yyDollar[1].list } case 222: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1767 + //line php5/php5.y:1771 { + fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) + + yyVAL.list = append(yyDollar[1].list, fetch) } case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1778 { + fetch := expr.NewArrayDimFetch(nil, yyDollar[2].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[2].node)) + + yyVAL.list = []node.Node{fetch} } case 224: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1772 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1788 { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 225: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1772 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1790 { + yyVAL.list = yyDollar[1].list } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1773 + //line php5/php5.y:1792 { + yyVAL.list = yyDollar[1].list } case 227: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1774 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1797 { + yyVAL.list = nil } case 228: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1778 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1799 { + yyVAL.list = yyDollar[1].list } case 229: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1779 - { - } - case 230: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1780 - { - } - case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1785 + //line php5/php5.y:1804 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4227,9 +4213,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 232: + case 230: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1800 + //line php5/php5.y:1819 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4239,472 +4225,490 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 233: + case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1809 - { - } - case 234: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1810 - { - } - case 235: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1811 - { - } - case 236: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1811 - { - } - case 237: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1812 - { - } - case 238: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1813 - { - } - case 239: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1814 - { - } - case 240: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1815 - { - } - case 241: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1816 - { - } - case 242: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1817 - { - } - case 243: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1818 - { - } - case 244: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1819 - { - } - case 245: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1820 - { - } - case 246: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1821 - { - } - case 247: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1822 - { - } - case 248: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1823 - { - } - case 249: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1824 - { - } - case 250: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1825 - { - } - case 251: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1826 - { - } - case 252: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1827 - { - } - case 253: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1828 { } - case 254: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1829 - { - } - case 255: + case 232: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1829 { } - case 256: - yyDollar = yyS[yypt-2 : yypt+1] + case 233: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1830 { } - case 257: - yyDollar = yyS[yypt-4 : yypt+1] + case 234: + yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:1830 { } - case 258: + case 235: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1831 { } - case 259: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1831 - { - } - case 260: - yyDollar = yyS[yypt-2 : yypt+1] + case 236: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1832 { } - case 261: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1832 - { - } - case 262: + case 237: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1833 { } - case 263: + case 238: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1834 { } - case 264: + case 239: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1835 { } - case 265: + case 240: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1836 { } - case 266: + case 241: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1837 { } - case 267: + case 242: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1838 { } - case 268: + case 243: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1839 { } - case 269: + case 244: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1840 { } - case 270: + case 245: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1841 { } - case 271: + case 246: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1842 { } - case 272: + case 247: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1843 { } - case 273: - yyDollar = yyS[yypt-3 : yypt+1] + case 248: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1844 { } - case 274: - yyDollar = yyS[yypt-3 : yypt+1] + case 249: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1845 { } - case 275: + case 250: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1846 { } - case 276: + case 251: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1847 { } - case 277: + case 252: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1848 { } - case 278: + case 253: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1848 + { + } + case 254: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1849 { } - case 279: - yyDollar = yyS[yypt-3 : yypt+1] + case 255: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1849 + { + } + case 256: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1850 { } - case 280: - yyDollar = yyS[yypt-3 : yypt+1] + case 257: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1850 + { + } + case 258: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1851 { } - case 281: + case 259: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1851 + { + } + case 260: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1852 { } - case 282: + case 261: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1853 { } - case 283: + case 262: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1854 { } - case 284: + case 263: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1855 { } - case 285: + case 264: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1856 { } - case 286: + case 265: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1857 { } - case 287: + case 266: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1858 { } - case 288: - yyDollar = yyS[yypt-1 : yypt+1] + case 267: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1859 { } - case 289: - yyDollar = yyS[yypt-1 : yypt+1] + case 268: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1860 + { + } + case 269: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1861 { - yyVAL.node = yyDollar[1].node } - case 290: + case 270: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1862 { } - case 291: + case 271: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1863 + { + } + case 272: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1864 + { + } + case 273: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1865 + { + } + case 274: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1866 + { + } + case 275: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1867 + { + } + case 276: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1868 + { + } + case 277: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1869 + { + } + case 278: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1870 + { + } + case 279: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1871 + { + } + case 280: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1872 + { + } + case 281: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1873 + { + } + case 282: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1874 + { + } + case 283: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1875 + { + } + case 284: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1876 + { + } + case 285: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1877 + { + } + case 286: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1878 + { + } + case 287: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1880 + { + yyVAL.node = yyDollar[1].node + } + case 288: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1882 + { + yyVAL.node = yyDollar[2].node + + for _, n := range yyDollar[4].list { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, yyDollar[1].token.Comments()) + yyVAL.node = nn + + case *expr.PropertyFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, yyDollar[1].token.Comments()) + yyVAL.node = nn + + case *expr.MethodCall: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, yyDollar[1].token.Comments()) + yyVAL.node = nn + } + } + } + case 289: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1907 + { + } + case 290: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1862 + //line php5/php5.y:1908 + { + } + case 291: + yyDollar = yyS[yypt-7 : yypt+1] + //line php5/php5.y:1909 { } case 292: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1863 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1910 { } case 293: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1864 + //line php5/php5.y:1911 { } case 294: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1865 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1912 { } case 295: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1866 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1913 { } case 296: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1867 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1914 { } case 297: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1868 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1915 { } case 298: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1869 + //line php5/php5.y:1916 { } case 299: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1870 + //line php5/php5.y:1917 { } case 300: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1871 + //line php5/php5.y:1918 { } case 301: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1872 + //line php5/php5.y:1919 { } case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1873 + //line php5/php5.y:1920 { } case 303: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1874 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1921 { } case 304: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1875 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1921 { } case 305: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1876 - { - } - case 306: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1877 - { - } - case 307: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1877 - { - } - case 308: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1878 + //line php5/php5.y:1922 { yyVAL.node = yyDollar[1].node } - case 309: + case 306: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1879 + //line php5/php5.y:1923 + { + } + case 307: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1924 + { + } + case 308: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1925 + { + } + case 309: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1926 { } case 310: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1880 + //line php5/php5.y:1927 { } case 311: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1881 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1928 { } case 312: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1882 + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:1930 { } case 313: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1883 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1931 { } case 314: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1884 + yyDollar = yyS[yypt-11 : yypt+1] + //line php5/php5.y:1933 { } case 315: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1886 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1937 { } case 316: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1887 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1938 { } case 317: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1889 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1939 { } case 318: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1893 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1940 { } case 319: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1894 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1945 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1895 + //line php5/php5.y:1951 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 321: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1896 - { - } - case 322: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1901 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 323: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1907 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 324: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1913 + //line php5/php5.y:1957 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4714,51 +4718,51 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[str]) } - case 325: + case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1923 + //line php5/php5.y:1967 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 326: + case 323: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1932 + //line php5/php5.y:1976 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 327: + case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1938 + //line php5/php5.y:1982 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 328: + case 325: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1947 + //line php5/php5.y:1991 { yyVAL.token = yyDollar[1].token } - case 329: + case 326: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1952 + //line php5/php5.y:1996 { yyVAL.list = []node.Node{} } - case 330: + case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1954 + //line php5/php5.y:1998 { yyVAL.list = yyDollar[3].list } - case 331: + case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1959 + //line php5/php5.y:2003 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4774,9 +4778,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 332: + case 329: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1975 + //line php5/php5.y:2019 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4792,9 +4796,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 333: + case 330: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1991 + //line php5/php5.y:2035 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4810,9 +4814,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 334: + case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2007 + //line php5/php5.y:2051 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4828,9 +4832,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 335: + case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2026 + //line php5/php5.y:2070 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4840,9 +4844,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(name, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[name]) } - case 336: + case 333: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2036 + //line php5/php5.y:2080 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4852,9 +4856,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } - case 337: + case 334: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2046 + //line php5/php5.y:2090 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4864,57 +4868,81 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } + case 335: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2100 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 336: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2106 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 337: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2112 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2056 + //line php5/php5.y:2118 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 339: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2062 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 340: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2068 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 341: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2074 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2080 + //line php5/php5.y:2124 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 343: + case 340: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2089 + //line php5/php5.y:2133 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 341: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2139 + { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 342: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2145 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 343: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2151 + { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 344: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2095 + //line php5/php5.y:2160 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4922,7 +4950,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2101 + //line php5/php5.y:2166 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4930,7 +4958,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2107 + //line php5/php5.y:2172 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4938,168 +4966,186 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2116 + //line php5/php5.y:2181 { - yyVAL.node = name.NewName(yyDollar[1].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + yyVAL.node = yyDollar[1].node } case 348: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2122 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2183 { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.node = yyDollar[1].node } case 349: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2128 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2188 { - yyVAL.node = name.NewFullyQualified(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.node = yyDollar[1].node + + for _, n := range yyDollar[3].list { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.PropertyFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.MethodCall: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + } + } + + for _, n := range yyDollar[4].list { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.PropertyFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.MethodCall: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + } + } } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2137 + //line php5/php5.y:2236 { yyVAL.node = yyDollar[1].node } case 351: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2139 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2242 { - yyVAL.node = yyDollar[1].node + yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 352: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2144 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2244 { - yyVAL.node = yyDollar[1].node - - for _, f := range yyDollar[3].objectPropertyList { - switch f.fetchType { - case arrayFetchType: - yyVAL.node = expr.NewArrayDimFetch(yyVAL.node, f.node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - case propertyFetchType: - yyVAL.node = expr.NewPropertyFetch(yyVAL.node, f.node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - } - - for _, f := range yyDollar[4].objectPropertyList { - switch f.fetchType { - case arrayFetchType: - yyVAL.node = expr.NewArrayDimFetch(yyVAL.node, f.node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - case propertyFetchType: - yyVAL.node = expr.NewPropertyFetch(yyVAL.node, f.node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, f.node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - } + yyVAL.list = []node.Node{} } case 353: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2174 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2250 { - yyVAL.node = yyDollar[1].node + yyVAL.list = yyDollar[2].list } case 354: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2180 + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2255 { - yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, yyDollar[2].objectPropertyList...) + yyVAL.node = nil } case 355: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2182 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2257 { - yyVAL.objectPropertyList = []objectProperty{} + yyVAL.node = nil } case 356: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2188 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2259 { - yyVAL.objectPropertyList = yyDollar[2].objectPropertyList + yyVAL.node = yyDollar[1].node } case 357: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2193 + //line php5/php5.y:2263 { - yyVAL.node = nil } case 358: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2195 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2264 { - yyVAL.node = nil } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2197 + //line php5/php5.y:2265 { - yyVAL.node = yyDollar[1].node } case 360: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2201 - { - } - case 361: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2202 - { - } - case 362: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2203 - { - } - case 363: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2208 + //line php5/php5.y:2270 { yyVAL.nodesWithEndToken = nil } - case 364: + case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2210 + //line php5/php5.y:2272 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 365: + case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2215 + //line php5/php5.y:2277 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 366: + case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2221 + //line php5/php5.y:2283 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 367: + case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2227 + //line php5/php5.y:2289 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } + case 365: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2295 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 366: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2301 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 367: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2307 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 368: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2233 + //line php5/php5.y:2313 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5107,7 +5153,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2239 + //line php5/php5.y:2319 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5115,7 +5161,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2245 + //line php5/php5.y:2325 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5123,55 +5169,31 @@ yydefault: } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2251 + //line php5/php5.y:2331 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 372: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2257 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 373: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2263 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 374: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2269 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 375: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2275 + //line php5/php5.y:2337 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 376: + case 373: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2280 + //line php5/php5.y:2342 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 377: + case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2351 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5181,259 +5203,259 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 375: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2363 + { + } + case 376: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2367 + { + } + case 377: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2368 + { + } case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2301 + //line php5/php5.y:2369 { } case 379: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2305 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2370 { } case 380: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2306 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2371 { } case 381: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2307 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2372 { } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2308 + //line php5/php5.y:2373 { } case 383: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2309 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2374 { } case 384: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2310 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2375 { } case 385: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2311 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2376 { } case 386: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2312 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2380 { } case 387: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2313 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2381 { } case 388: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2314 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2382 { } case 389: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2318 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2383 { } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2319 + //line php5/php5.y:2384 { } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2320 + //line php5/php5.y:2385 { } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2321 + //line php5/php5.y:2386 { } case 393: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2322 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2387 { } case 394: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2323 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2388 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2324 + //line php5/php5.y:2389 { } case 396: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2325 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2390 { } case 397: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2326 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2391 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2327 + //line php5/php5.y:2392 { } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2328 + //line php5/php5.y:2393 { } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2329 + //line php5/php5.y:2394 { } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2330 + //line php5/php5.y:2395 { } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2331 + //line php5/php5.y:2396 { } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2332 + //line php5/php5.y:2397 { } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2333 + //line php5/php5.y:2398 { } case 405: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2334 + //line php5/php5.y:2399 { } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2335 + //line php5/php5.y:2400 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2336 + //line php5/php5.y:2401 { } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2337 + //line php5/php5.y:2402 { } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2338 + //line php5/php5.y:2403 { } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2339 + //line php5/php5.y:2404 { } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2340 + //line php5/php5.y:2405 { } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2341 + //line php5/php5.y:2406 { } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2342 + //line php5/php5.y:2407 { } case 414: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2343 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2408 { } case 415: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2344 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2409 { } case 416: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2345 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2410 { } case 417: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2346 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2411 { } case 418: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2347 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2412 { } case 419: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2348 - { - } - case 420: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2349 - { - } - case 421: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2350 - { - } - case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2355 + //line php5/php5.y:2417 { yyVAL.node = yyDollar[1].node } - case 423: + case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2357 + //line php5/php5.y:2419 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 424: + case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2363 + //line php5/php5.y:2425 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 425: + case 422: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2369 + //line php5/php5.y:2431 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 426: + case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2378 + //line php5/php5.y:2440 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5443,195 +5465,256 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 427: + case 424: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2388 + //line php5/php5.y:2450 { yyVAL.node = yyDollar[1].node } - case 428: + case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2390 + //line php5/php5.y:2452 { yyVAL.node = yyDollar[1].node } + case 426: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2454 + { + yyVAL.node = yyDollar[1].node + } + case 427: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2456 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 428: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2462 + { + yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2392 - { - yyVAL.node = yyDollar[1].node - } - case 430: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2394 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 431: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2400 - { - yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 432: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2406 + //line php5/php5.y:2468 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 433: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2414 - { - } - case 434: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2415 - { - } - case 437: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2424 - { - } - case 438: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2425 - { - } - case 439: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2426 - { - } - case 440: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2427 - { - } - case 441: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2432 - { - yyVAL.node = yyDollar[1].node - } - case 442: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2434 - { - yyVAL.node = yyDollar[1].node - } - case 443: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2439 - { - yyVAL.node = yyDollar[2].node - } - case 444: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2441 - { - yyVAL.node = yyDollar[2].node - } - case 445: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2447 - { - yyVAL.node = yyDollar[1].node - } - case 446: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2455 - { - yyVAL.node = yyDollar[1].node - } - case 447: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2462 - { - yyVAL.node = yyDollar[1].node - } - case 448: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2469 - { - } - case 449: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2471 - { - yyVAL.node = yyDollar[1].node - } - case 450: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2475 - { - } - case 451: + case 430: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:2476 { } - case 452: + case 431: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2481 + //line php5/php5.y:2477 { } - case 453: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2481 - { - } - case 454: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2485 - { - } - case 455: - yyDollar = yyS[yypt-4 : yypt+1] + case 434: + yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:2486 { } - case 456: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2490 + case 435: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2487 { } - case 457: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2491 + case 436: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2488 { } - case 458: + case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2495 + //line php5/php5.y:2489 { } - case 459: + case 438: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2496 - { - } - case 460: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2497 - { - } - case 461: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2502 + //line php5/php5.y:2494 { yyVAL.node = yyDollar[1].node } - case 462: + case 439: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2496 + { + yyVAL.node = yyDollar[1].node + } + case 440: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2501 + { + yyVAL.node = yyDollar[2].node + } + case 441: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2503 + { + yyVAL.node = yyDollar[2].node + } + case 442: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2509 + { + yyVAL.node = yyDollar[1].node + } + case 443: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2517 + { + yyVAL.node = yyDollar[1].node + } + case 444: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2524 + { + yyVAL.node = yyDollar[1].node + } + case 445: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2531 + { + yyVAL.node = yyDollar[1].node + + if yyDollar[4].list != nil { + yyDollar[4].list[0].(*expr.MethodCall).Method = yyDollar[3].list[len(yyDollar[3].list)-1].(*expr.PropertyFetch).Property + yyDollar[3].list = append(yyDollar[3].list[:len(yyDollar[3].list)-1], yyDollar[4].list...) + } + + for _, n := range yyDollar[3].list { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.PropertyFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.MethodCall: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + } + } + + for _, n := range yyDollar[5].list { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.PropertyFetch: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + + case *expr.MethodCall: + nn.Variable = yyVAL.node + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyVAL.node, nn)) + comments.AddComments(nn, comments[yyDollar[1].node]) + yyVAL.node = nn + } + } + } + case 446: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2584 + { + yyVAL.node = yyDollar[1].node + } + case 447: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2504 + //line php5/php5.y:2589 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) + } + case 448: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2591 + { + yyVAL.list = []node.Node{} + } + case 449: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2597 + { + if yyDollar[3].list != nil { + yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property + yyDollar[2].list = append(yyDollar[2].list[:len(yyDollar[2].list)-1], yyDollar[3].list...) + } + + yyVAL.list = yyDollar[2].list + } + case 450: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2609 + { + fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) + + yyVAL.list = append(yyDollar[1].list, fetch) + } + case 451: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2616 + { + fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) + + yyVAL.list = []node.Node{yyDollar[1].node, fetch} + } + case 452: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2626 + { + yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken)) + } + case 453: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2634 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 454: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2636 + { + yyVAL.list = yyDollar[1].list + } + case 455: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2638 + { + yyVAL.list = nil + } + case 456: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2643 + { + yyVAL.node = yyDollar[1].node + } + case 457: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2645 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5641,65 +5724,65 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 463: + case 458: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2517 + //line php5/php5.y:2658 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 464: + case 459: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2523 + //line php5/php5.y:2664 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 460: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2674 + { + yyVAL.node = yyDollar[1].node + } + case 461: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2679 + { + } + case 462: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2681 + { + } + case 463: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2685 + { + yyVAL.node = yyDollar[1].node + } + case 464: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2686 + { + yyVAL.node = yyDollar[1].node + } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2533 + //line php5/php5.y:2687 { yyVAL.node = yyDollar[1].node } case 466: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2538 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2693 { + yyVAL.node = yyDollar[1].node } case 467: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2540 - { - } - case 468: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2544 - { - yyVAL.node = yyDollar[1].node - } - case 469: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2545 - { - yyVAL.node = yyDollar[1].node - } - case 470: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2546 - { - yyVAL.node = yyDollar[1].node - } - case 471: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2552 - { - yyVAL.node = yyDollar[1].node - } - case 472: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2554 + //line php5/php5.y:2695 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5709,37 +5792,37 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 473: + case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2564 + //line php5/php5.y:2705 { yyVAL.node = yyDollar[1].node } - case 474: + case 469: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2569 + //line php5/php5.y:2710 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 475: + case 470: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2575 + //line php5/php5.y:2716 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 476: + case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2581 + //line php5/php5.y:2722 { yyVAL.node = yyDollar[1].node } - case 477: + case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2587 + //line php5/php5.y:2728 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5749,77 +5832,85 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 478: + case 473: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2597 + //line php5/php5.y:2738 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 479: + case 474: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2605 + //line php5/php5.y:2746 { yyVAL.node = nil } - case 480: + case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2606 + //line php5/php5.y:2747 { yyVAL.node = yyDollar[1].node } + case 476: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2753 + { + yyVAL.list = yyDollar[1].list + } + case 477: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2755 + { + fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) + + yyVAL.list = []node.Node{fetch} + } + case 478: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2765 + { + fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) + + yyVAL.list = append(yyDollar[1].list, fetch) + } + case 479: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2772 + { + fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) + + yyVAL.list = append(yyDollar[1].list, fetch) + } + case 480: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2779 + { + fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) + + yyVAL.list = []node.Node{fetch} + } case 481: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2612 - { - yyVAL.objectPropertyList = yyDollar[1].objectPropertyList - } - case 482: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2614 - { - op := objectProperty{yyDollar[1].node, propertyFetchType} - yyVAL.objectPropertyList = []objectProperty{op} - } - case 483: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2622 - { - op := objectProperty{yyDollar[3].node, arrayFetchType} - yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) - } - case 484: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2627 - { - op := objectProperty{yyDollar[3].node, arrayFetchType} - yyVAL.objectPropertyList = append(yyDollar[1].objectPropertyList, op) - } - case 485: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2632 - { - op := objectProperty{yyDollar[1].node, propertyFetchType} - yyVAL.objectPropertyList = []objectProperty{op} - } - case 486: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2640 + //line php5/php5.y:2789 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 487: + case 482: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2646 + //line php5/php5.y:2795 { yyVAL.node = yyDollar[2].node } - case 488: + case 483: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2651 + //line php5/php5.y:2800 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5827,9 +5918,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 489: + case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2659 + //line php5/php5.y:2808 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5841,53 +5932,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 490: + case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2674 + //line php5/php5.y:2823 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 491: + case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2676 + //line php5/php5.y:2825 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 492: + case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2682 + //line php5/php5.y:2831 { yyVAL.node = yyDollar[1].node } - case 493: + case 488: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2684 + //line php5/php5.y:2833 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 494: + case 489: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2690 + //line php5/php5.y:2839 { yyVAL.node = nil } - case 495: + case 490: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2696 + //line php5/php5.y:2845 { yyVAL.list = nil } - case 496: + case 491: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2698 + //line php5/php5.y:2847 { yyVAL.list = yyDollar[1].list } - case 497: + case 492: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2703 + //line php5/php5.y:2852 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5895,9 +5986,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 498: + case 493: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2711 + //line php5/php5.y:2860 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5905,9 +5996,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 499: + case 494: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2719 + //line php5/php5.y:2868 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5915,9 +6006,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 500: + case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2727 + //line php5/php5.y:2876 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5925,9 +6016,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 501: + case 496: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2735 + //line php5/php5.y:2884 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -5935,9 +6026,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 502: + case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2743 + //line php5/php5.y:2892 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -5945,9 +6036,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 503: + case 498: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2751 + //line php5/php5.y:2900 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5955,9 +6046,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 504: + case 499: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2759 + //line php5/php5.y:2908 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5965,39 +6056,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 505: + case 500: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2770 + //line php5/php5.y:2919 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 506: + case 501: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2772 + //line php5/php5.y:2921 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 507: + case 502: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2779 + //line php5/php5.y:2928 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 508: + case 503: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2781 + //line php5/php5.y:2930 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 509: + case 504: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2791 + //line php5/php5.y:2940 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6007,9 +6098,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 510: + case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2801 + //line php5/php5.y:2950 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6022,9 +6113,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 511: + case 506: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2814 + //line php5/php5.y:2963 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6040,17 +6131,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 512: + case 507: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2830 + //line php5/php5.y:2979 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 513: + case 508: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2836 + //line php5/php5.y:2985 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6063,23 +6154,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 514: + case 509: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2850 + //line php5/php5.y:2999 { yyVAL.node = yyDollar[2].node } - case 515: + case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2855 + //line php5/php5.y:3004 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 516: + case 511: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2861 + //line php5/php5.y:3010 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6091,9 +6182,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 517: + case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2873 + //line php5/php5.y:3022 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6103,133 +6194,133 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 518: + case 513: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2886 + //line php5/php5.y:3035 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 519: + case 514: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2892 + //line php5/php5.y:3041 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 520: + case 515: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2898 + //line php5/php5.y:3047 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 521: + case 516: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2904 + //line php5/php5.y:3053 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 522: + case 517: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2910 + //line php5/php5.y:3059 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 523: + case 518: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2916 + //line php5/php5.y:3065 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 524: + case 519: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2922 + //line php5/php5.y:3071 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 525: + case 520: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2928 + //line php5/php5.y:3077 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 526: + case 521: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2937 + //line php5/php5.y:3086 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 527: + case 522: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2939 + //line php5/php5.y:3088 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } + case 523: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3092 + { + yyVAL.node = yyDollar[1].node + } + case 524: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3093 + { + yyVAL.node = yyDollar[1].node + } + case 525: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3098 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 526: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3108 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 527: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3121 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 528: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2943 - { - yyVAL.node = yyDollar[1].node - } - case 529: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2944 - { - yyVAL.node = yyDollar[1].node - } - case 530: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2949 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 531: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2959 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 532: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2972 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 533: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2985 + //line php5/php5.y:3134 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 1f2a05b..e88b6f3 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -27,7 +27,6 @@ import ( foreachVariable foreachVariable nodesWithEndToken *nodesWithEndToken simpleIndirectReference simpleIndirectReference - objectPropertyList []objectProperty // str string } @@ -209,7 +208,7 @@ import ( %type finally_statement additional_catch unticked_function_declaration_statement unticked_class_declaration_statement %type optional_class_type parameter class_entry_type extends_from class_statement class_constant_declaration %type trait_use_statement function_call_parameter trait_adaptation_statement trait_precedence trait_alias -%type trait_method_reference_fully_qualified trait_method_reference trait_modifiers member_modifier +%type trait_method_reference_fully_qualified trait_method_reference trait_modifiers member_modifier method %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -220,10 +219,12 @@ import ( %type interface_list non_empty_function_call_parameter_list trait_list trait_adaptation_list non_empty_trait_adaptation_list %type trait_reference_list non_empty_member_modifiers +%type chaining_dereference chaining_instance_call chaining_method_or_property instance_call variable_property +%type method_or_not array_method_dereference object_property object_dim_list dynamic_class_name_variable_property +%type dynamic_class_name_variable_properties variable_properties %type simple_indirect_reference %type foreach_variable foreach_optional_arg -%type object_property object_dim_list dynamic_class_name_variable_properties dynamic_class_name_variable_property %type ctor_arguments function_call_parameter_list switch_case_list method_body trait_adaptations %type is_reference is_variadic @@ -1759,25 +1760,43 @@ non_empty_for_expr: ; chaining_method_or_property: - chaining_method_or_property variable_property { } - | variable_property { } + chaining_method_or_property variable_property + { $$ = append($1, $2...) } + | variable_property + { $$ = $1 } ; chaining_dereference: - chaining_dereference '[' dim_offset ']' { } - | '[' dim_offset ']' { } + chaining_dereference '[' dim_offset ']' + { + fetch := expr.NewArrayDimFetch(nil, $3) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($3)) + + $$ = append($1, fetch) + } + | '[' dim_offset ']' + { + fetch := expr.NewArrayDimFetch(nil, $2) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($2)) + + $$ = []node.Node{fetch} + } ; chaining_instance_call: - chaining_dereference { } chaining_method_or_property { } - | chaining_dereference { } - | chaining_method_or_property { } + chaining_dereference chaining_method_or_property + { $$ = append($1, $2...) } + | chaining_dereference + { $$ = $1 } + | chaining_method_or_property + { $$ = $1 } ; instance_call: - /* empty */ { } - | { } - chaining_instance_call { } + /* empty */ + { $$ = nil } + | chaining_instance_call + { $$ = $1 } ; new_expr: @@ -1859,7 +1878,32 @@ expr_without_variable: | parenthesis_expr { } | new_expr { $$ = $1 } - | '(' new_expr ')' { } instance_call { } + | '(' new_expr ')' instance_call + { + $$ = $2 + + for _, n := range($4) { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, $1.Comments()) + $$ = nn + + case *expr.PropertyFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, $1.Comments()) + $$ = nn + + case *expr.MethodCall: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, $1.Comments()) + $$ = nn + } + } + } | expr '?' { } expr ':' { } expr { } @@ -2144,29 +2188,47 @@ dynamic_class_name_reference: { $$ = $1 - for _, f := range($3) { - switch (f.fetchType) { - case arrayFetchType: - $$ = expr.NewArrayDimFetch($$, f.node) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) - comments.AddComments($$, comments[$1]) - case propertyFetchType: - $$ = expr.NewPropertyFetch($$, f.node) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) - comments.AddComments($$, comments[$1]) + for _, n := range($3) { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.PropertyFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.MethodCall: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn } } - for _, f := range($4) { - switch (f.fetchType) { - case arrayFetchType: - $$ = expr.NewArrayDimFetch($$, f.node) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) - comments.AddComments($$, comments[$1]) - case propertyFetchType: - $$ = expr.NewPropertyFetch($$, f.node) - positions.AddPosition($$, positionBuilder.NewNodesPosition($1, f.node)) - comments.AddComments($$, comments[$1]) + for _, n := range($4) { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.PropertyFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.MethodCall: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn } } } @@ -2179,7 +2241,7 @@ dynamic_class_name_variable_properties: dynamic_class_name_variable_properties dynamic_class_name_variable_property { $$ = append($1, $2...) } | /* empty */ - { $$ = []objectProperty{} } + { $$ = []node.Node{} } ; @@ -2467,35 +2529,114 @@ rw_variable: variable: base_variable_with_function_calls T_OBJECT_OPERATOR object_property method_or_not variable_properties - { } + { + $$ = $1 + + if $4 != nil { + $4[0].(*expr.MethodCall).Method = $3[len($3)-1].(*expr.PropertyFetch).Property + $3 = append($3[:len($3)-1], $4...) + } + + for _, n := range($3) { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.PropertyFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.MethodCall: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + } + } + + for _, n := range($5) { + switch nn := n.(type) { + case *expr.ArrayDimFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.PropertyFetch: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + + case *expr.MethodCall: + nn.Variable = $$ + positions.AddPosition($$, positionBuilder.NewNodesPosition($$, nn)) + comments.AddComments(nn, comments[$1]) + $$ = nn + } + } + } | base_variable_with_function_calls { $$ = $1 } ; variable_properties: - variable_properties variable_property { } - | /* empty */ { } + variable_properties variable_property + { $$ = append($1, $2...) } + | /* empty */ + { $$ = []node.Node{} } ; variable_property: - T_OBJECT_OPERATOR object_property { } method_or_not { } + T_OBJECT_OPERATOR object_property method_or_not + { + if $3 != nil { + $3[0].(*expr.MethodCall).Method = $2[len($2)-1].(*expr.PropertyFetch).Property + $2 = append($2[:len($2)-1], $3...) + } + + $$ = $2 + } ; array_method_dereference: - array_method_dereference '[' dim_offset ']' { } - | method '[' dim_offset ']' { } + array_method_dereference '[' dim_offset ']' + { + fetch := expr.NewArrayDimFetch(nil, $3) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($3)) + + $$ = append($1, fetch) + } + | method '[' dim_offset ']' + { + fetch := expr.NewArrayDimFetch(nil, $3) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($3)) + + $$ = []node.Node{$1, fetch} + } ; method: - { } - function_call_parameter_list { } + function_call_parameter_list + { + $$ = expr.NewMethodCall(nil, nil, $1.nodes) + positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1.nodes, $1.endToken)) + } ; method_or_not: - method { } - | array_method_dereference { } - | /* empty */ { } + method + { $$ = []node.Node{$1} } + | array_method_dereference + { $$ = $1 } + | /* empty */ + { $$ = nil } ; variable_without_objects: @@ -2613,26 +2754,34 @@ object_property: { $$ = $1 } | variable_without_objects { - op := objectProperty{$1, propertyFetchType} - $$ = []objectProperty{op} + fetch := expr.NewPropertyFetch(nil, $1) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($1)) + + $$ = []node.Node{fetch} } ; object_dim_list: object_dim_list '[' dim_offset ']' { - op := objectProperty{$3, arrayFetchType} - $$ = append($1, op) + fetch := expr.NewArrayDimFetch(nil, $3) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($3)) + + $$ = append($1, fetch) } | object_dim_list '{' expr '}' { - op := objectProperty{$3, arrayFetchType} - $$ = append($1, op) + fetch := expr.NewArrayDimFetch(nil, $3) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($3)) + + $$ = append($1, fetch) } | variable_name { - op := objectProperty{$1, propertyFetchType} - $$ = []objectProperty{op} + fetch := expr.NewPropertyFetch(nil, $1) + positions.AddPosition(fetch, positionBuilder.NewNodePosition($1)) + + $$ = []node.Node{fetch} } ; From fbe20bbbb68302de24c3159e1e3fb2f94d719d10 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 19:37:27 +0200 Subject: [PATCH 27/31] php5 syntax --- php5/php5.go | 4092 ++++++++++++++++++++++++++------------------------ php5/php5.y | 540 +++++-- 2 files changed, 2581 insertions(+), 2051 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 8cf230f..12c1746 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -6,19 +6,18 @@ import __yyfmt__ "fmt" //line php5/php5.y:2 import ( // "fmt" - // "strings" "strconv" + "strings" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/node/expr/assign_op" + "github.com/z7zmey/php-parser/node/expr/binary_op" + "github.com/z7zmey/php-parser/node/expr/cast" "github.com/z7zmey/php-parser/node/name" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/token" - -// "github.com/z7zmey/php-parser/node/expr/binary_op" -// "github.com/z7zmey/php-parser/node/expr/cast" ) //line php5/php5.y:22 @@ -346,7 +345,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:3145 +//line php5/php5.y:3507 //line yacctab:1 var yyExca = [...]int{ @@ -354,540 +353,469 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 444, - 105, 444, - -2, 442, + 104, 433, + 105, 433, + -2, 431, -1, 101, - 78, 341, - -2, 420, + 78, 330, + -2, 409, -1, 113, - 78, 460, - 123, 456, - -2, 466, + 78, 449, + 123, 445, + -2, 455, -1, 153, - 104, 444, - 105, 444, - -2, 442, + 104, 433, + 105, 433, + -2, 431, -1, 203, - 121, 315, - 124, 315, - -2, 439, + 121, 304, + 124, 304, + -2, 428, -1, 204, - 104, 444, - 105, 444, - 121, 316, - 124, 316, - -2, 442, + 104, 433, + 105, 433, + 121, 305, + 124, 305, + -2, 431, -1, 270, - 78, 460, - -2, 466, + 78, 449, + -2, 455, -1, 297, - 78, 343, - -2, 422, + 78, 332, + -2, 411, -1, 301, - 123, 457, - -2, 467, + 123, 446, + -2, 456, -1, 310, - 78, 342, - -2, 421, + 78, 331, + -2, 410, -1, 376, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 277, + -2, 272, -1, 377, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 278, + -2, 273, -1, 378, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 279, + -2, 274, -1, 379, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 280, + -2, 275, -1, 380, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 281, + -2, 276, -1, 381, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 282, + -2, 277, -1, 382, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 283, + -2, 278, -1, 383, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 284, + -2, 279, -1, 390, - 104, 444, - 105, 444, - -2, 442, + 104, 433, + 105, 433, + -2, 431, + -1, 398, + 124, 140, + -2, 145, + -1, 460, + 104, 433, + 105, 433, + 124, 512, + 135, 512, + -2, 431, -1, 461, - 104, 444, - 105, 444, - 124, 523, - 135, 523, - -2, 442, + 124, 513, + 135, 513, + -2, 428, -1, 462, - 124, 524, - 135, 524, - -2, 439, - -1, 463, - 104, 444, - 105, 444, - -2, 442, - -1, 485, + 104, 433, + 105, 433, + -2, 431, + -1, 484, 124, 154, 135, 154, - -2, 439, - -1, 486, - 104, 444, - 105, 444, + -2, 428, + -1, 485, + 104, 433, + 105, 433, 124, 155, 135, 155, - -2, 442, - -1, 492, - 123, 481, - -2, 525, - -1, 498, - 123, 481, - -2, 526, - -1, 520, - 78, 341, - -2, 378, - -1, 567, + -2, 431, + -1, 491, + 123, 470, + -2, 514, + -1, 497, + 123, 470, + -2, 515, + -1, 519, + 78, 330, + -2, 367, + -1, 549, 124, 140, -2, 145, - -1, 568, + -1, 562, 124, 140, -2, 145, - -1, 578, - 121, 317, - 124, 317, - -2, 439, -1, 579, - 104, 444, - 105, 444, - 121, 318, - 124, 318, - -2, 442, - -1, 678, - 78, 343, - -2, 380, - -1, 707, - 124, 140, - -2, 145, + 121, 306, + 124, 306, + -2, 428, + -1, 580, + 104, 433, + 105, 433, + 121, 307, + 124, 307, + -2, 431, + -1, 679, + 78, 332, + -2, 369, + -1, 777, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 395, + -1, 778, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 396, + -1, 779, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 397, + -1, 780, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 398, -1, 781, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 406, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 399, -1, 782, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 407, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 400, -1, 783, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 408, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 401, -1, 784, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 409, - -1, 785, 157, 0, 158, 0, 159, 0, 160, 0, - -2, 410, - -1, 786, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 411, + -2, 402, -1, 787, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 412, - -1, 788, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 413, - -1, 791, - 78, 342, - -2, 379, - -1, 840, + 78, 331, + -2, 368, + -1, 837, 37, 199, -2, 196, - -1, 974, + -1, 969, 29, 187, -2, 4, - -1, 986, + -1, 978, 124, 140, -2, 145, - -1, 1005, + -1, 995, 121, 191, -2, 193, } const yyPrivate = 57344 -const yyLast = 8391 +const yyLast = 8441 var yyAct = [...]int{ - 101, 1015, 844, 724, 968, 451, 199, 443, 726, 122, - 130, 418, 295, 338, 809, 114, 712, 736, 473, 591, - 419, 680, 589, 923, 603, 818, 460, 388, 97, 60, - 896, 263, 730, 543, 314, 318, 446, 141, 157, 2, - 38, 576, 329, 327, 257, 6, 4, 137, 139, 129, - 328, 144, 484, 5, 476, 227, 227, 136, 25, 178, - 650, 288, 984, 140, 42, 161, 962, 955, 981, 940, - 937, 43, 824, 191, 944, 449, 943, 120, 650, 982, - 266, 191, 652, 651, 492, 739, 120, 926, 706, 854, - 942, 498, 935, 120, 565, 271, 152, 125, 583, 120, - 583, 250, 654, 297, 515, 650, 936, 1011, 269, 652, - 651, 629, 615, 203, 660, 661, 662, 653, 655, 656, - 654, 240, 630, 616, 516, 310, 493, 737, 315, 319, - 304, 650, 322, 670, 671, 668, 669, 672, 674, 673, - 675, 660, 661, 662, 653, 655, 656, 654, 337, 650, - 178, 901, 356, 652, 651, 177, 179, 180, 178, 324, - 227, 829, 509, 309, 582, 902, 228, 113, 355, 229, - 653, 655, 656, 654, 38, 583, 510, 795, 581, 542, - 117, 331, 120, 334, 450, 232, 161, 662, 653, 655, - 656, 654, 266, 450, 227, 474, 125, 240, 120, 119, - 450, 650, 563, 559, 505, 652, 651, 271, 119, 751, - 120, 158, 357, 564, 560, 119, 200, 353, 506, 912, - 269, 119, 227, 384, 350, 50, 358, 125, 998, 120, - 423, 354, 103, 672, 674, 673, 675, 660, 661, 662, - 653, 655, 656, 654, 348, 421, 311, 270, 958, 132, - 153, 1028, 911, 909, 394, 862, 856, 793, 349, 747, - 312, 227, 125, 133, 120, 228, 391, 204, 229, 455, - 125, 300, 120, 636, 628, 592, 452, 299, 448, 627, - 226, 226, 301, 621, 232, 620, 594, 230, 230, 593, - 472, 608, 227, 750, 601, 592, 228, 607, 191, 229, - 435, 436, 293, 292, 119, 286, 280, 125, 240, 120, - 489, 1027, 264, 130, 448, 232, 439, 508, 253, 448, - 119, 512, 252, 503, 1010, 520, 436, 435, 435, 953, - 436, 228, 302, 159, 229, 490, 351, 176, 175, 267, - 496, 191, 268, 742, 999, 462, 464, 38, 501, 471, - 232, 119, 6, 4, 920, 483, 715, 520, 232, 270, - 5, 887, 504, 590, 959, 884, 540, 882, 485, 181, - 182, 174, 177, 179, 180, 178, 228, 545, 871, 229, - 176, 175, 831, 918, 438, 352, 119, 828, 547, 690, - 538, 631, 230, 539, 119, 232, 294, 622, 618, 428, - 426, 572, 306, 572, 1022, 986, 227, 934, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 389, - 390, 296, 138, 585, 264, 714, 230, 827, 821, 707, - 447, 119, 38, 571, 679, 577, 489, 296, 584, 457, - 448, 448, 568, 445, 811, 810, 294, 420, 567, 536, - 342, 287, 277, 343, 230, 612, 606, 274, 431, 273, - 249, 490, 496, 221, 613, 195, 447, 194, 193, 448, - 143, 447, 448, 121, 448, 578, 1019, 877, 1018, 491, - 386, 551, 134, 308, 497, 307, 442, 1007, 227, 996, - 990, 989, 928, 230, 917, 700, 701, 881, 813, 461, - 463, 807, 806, 634, 635, 800, 710, 315, 696, 638, - 639, 319, 546, 700, 701, 544, 520, 477, 541, 500, - 396, 346, 486, 678, 230, 520, 155, 125, 987, 910, - 602, 978, 520, 520, 520, 520, 520, 950, 933, 38, - 892, 642, 632, 890, 6, 4, 645, 732, 575, 305, - 196, 434, 5, 223, 224, 697, 875, 530, 804, 805, - 895, 227, 227, 227, 692, 693, 520, 647, 572, 572, - 125, 572, 731, 294, 734, 735, 38, 38, 702, 716, - 704, 258, 266, 812, 227, 227, 437, 677, 711, 530, - 454, 644, 447, 447, 90, 514, 741, 271, 503, 124, - 746, 699, 422, 577, 740, 491, 497, 718, 448, 744, - 269, 743, 733, 738, 124, 993, 609, 256, 684, 458, - 294, 447, 453, 425, 447, 227, 447, 227, 424, 579, - 303, 580, 125, 125, 611, 298, 123, 445, 230, 614, - 649, 683, 320, 756, 294, 259, 260, 125, 294, 468, - 819, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 791, 758, - 520, 759, 258, 760, 125, 865, 467, 517, 462, 592, - 721, 848, 849, 850, 847, 846, 845, 728, 729, 284, - 794, 792, 485, 125, 316, 131, 456, 520, 572, 281, - 285, 816, 433, 477, 262, 227, 573, 570, 842, 574, - 230, 511, 801, 507, 843, 207, 402, 841, 61, 53, - 127, 128, 974, 400, 830, 833, 321, 802, 572, 466, - 206, 991, 822, 258, 897, 470, 259, 260, 530, 270, - 832, 478, 479, 573, 826, 1016, 574, 530, 494, 606, - 447, 797, 723, 744, 530, 530, 530, 530, 530, 859, - 851, 857, 44, 445, 294, 131, 294, 823, 848, 849, - 850, 847, 846, 845, 225, 233, 389, 713, 713, 294, - 520, 238, 992, 230, 230, 230, 520, 520, 530, 162, - 898, 573, 562, 798, 574, 336, 468, 259, 260, 420, - 420, 814, 700, 701, 264, 1026, 230, 230, 1009, 983, - 227, 878, 227, 879, 44, 520, 960, 932, 572, 930, - 572, 815, 900, 886, 876, 549, 885, 1012, 893, 703, - 700, 701, 461, 904, 572, 874, 596, 1006, 598, 597, - 477, 963, 477, 938, 905, 125, 486, 230, 908, 230, - 891, 38, 762, 761, 720, 452, 648, 880, 227, 258, - 646, 520, 643, 913, 437, 599, 907, 903, 513, 480, - 397, 448, 393, 530, 530, 530, 530, 530, 530, 530, - 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, - 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, - 939, 927, 530, 922, 323, 258, 202, 520, 38, 518, - 283, 201, 914, 198, 135, 681, 527, 550, 924, 398, - 254, 924, 469, 259, 260, 919, 251, 921, 520, 530, - 820, 520, 558, 572, 817, 572, 385, 230, 929, 889, - 931, 518, 362, 361, 360, 258, 520, 38, 359, 38, - 437, 258, 852, 520, 948, 191, 282, 38, 572, 38, - 1, 894, 988, 941, 1017, 965, 946, 973, 284, 259, - 260, 341, 749, 951, 38, 520, 755, 572, 864, 38, - 1001, 956, 572, 444, 38, 1005, 605, 586, 587, 588, - 973, 840, 1002, 967, 176, 175, 966, 975, 976, 842, - 906, 482, 572, 38, 38, 843, 1021, 401, 841, 259, - 260, 899, 530, 572, 1003, 259, 260, 839, 530, 530, - 836, 569, 258, 447, 725, 38, 997, 255, 174, 177, - 179, 180, 178, 1014, 1020, 713, 445, 420, 1013, 745, - 722, 392, 230, 387, 230, 1024, 163, 530, 339, 694, - 537, 38, 961, 957, 289, 964, 752, 38, 191, 848, - 849, 850, 847, 846, 845, 459, 160, 1023, 156, 317, - 979, 313, 126, 604, 1004, 972, 1029, 985, 971, 970, - 969, 834, 838, 477, 837, 835, 259, 260, 399, 39, - 230, 727, 14, 530, 13, 825, 172, 176, 175, 1000, - 518, 717, 947, 333, 803, 691, 10, 248, 74, 518, - 75, 115, 265, 63, 88, 595, 518, 518, 518, 518, - 518, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 89, 519, 100, 530, - 73, 11, 325, 99, 98, 78, 118, 525, 3, 347, - 518, 40, 168, 170, 169, 191, 0, 0, 0, 0, - 530, 0, 0, 530, 208, 209, 210, 211, 213, 214, - 215, 216, 217, 218, 219, 220, 212, 0, 530, 0, - 0, 0, 0, 0, 0, 530, 811, 810, 0, 0, - 0, 855, 192, 172, 176, 175, 0, 0, 0, 860, - 861, 0, 682, 0, 0, 0, 0, 530, 0, 685, - 686, 687, 688, 689, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 663, 664, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 0, 0, 518, 617, 0, 0, 0, 0, - 650, 0, 676, 658, 652, 651, 0, 208, 209, 210, - 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, - 0, 518, 0, 916, 667, 666, 657, 659, 670, 671, - 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, - 655, 656, 654, 0, 0, 0, 0, 0, 561, 0, - 0, 0, 665, 663, 664, 0, 0, 0, 763, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 786, 787, 788, 790, 0, 0, 682, 0, 116, - 650, 0, 676, 658, 652, 651, 0, 0, 0, 0, - 0, 0, 0, 0, 518, 0, 0, 0, 0, 0, - 518, 518, 0, 0, 667, 666, 657, 659, 670, 671, - 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, - 655, 656, 654, 0, 0, 0, 0, 0, 0, 518, - 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 208, 209, 210, 211, 213, - 214, 215, 216, 217, 218, 219, 220, 212, 0, 272, - 0, 0, 0, 0, 0, 0, 0, 146, 150, 154, - 0, 0, 0, 164, 0, 518, 0, 0, 0, 0, - 0, 197, 0, 0, 0, 0, 205, 869, 0, 0, - 0, 0, 0, 872, 873, 0, 0, 222, 0, 0, - 0, 234, 235, 236, 237, 0, 0, 239, 0, 241, - 242, 243, 244, 245, 246, 247, 0, 0, 0, 0, - 0, 518, 261, 0, 0, 0, 0, 275, 276, 0, - 278, 279, 0, 0, 0, 0, 0, 0, 0, 231, - 0, 290, 518, 0, 0, 518, 208, 209, 210, 211, - 213, 214, 215, 216, 217, 218, 219, 220, 212, 0, - 518, 0, 0, 0, 0, 0, 0, 518, 915, 0, - 0, 272, 0, 231, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 239, 0, 0, 0, 0, 340, 518, + 101, 569, 1004, 963, 113, 199, 841, 712, 824, 122, + 130, 418, 338, 916, 563, 592, 604, 60, 450, 565, + 813, 805, 295, 732, 472, 681, 459, 590, 419, 141, + 577, 97, 38, 263, 388, 137, 139, 442, 542, 144, + 314, 114, 430, 157, 318, 445, 129, 178, 329, 117, + 328, 6, 483, 5, 475, 227, 227, 161, 2, 651, + 651, 976, 288, 653, 652, 191, 42, 651, 25, 939, + 905, 938, 957, 935, 651, 491, 951, 120, 653, 652, + 266, 191, 932, 929, 270, 937, 515, 952, 1000, 250, + 257, 673, 675, 674, 676, 661, 662, 663, 654, 656, + 657, 655, 655, 297, 930, 136, 654, 656, 657, 655, + 43, 269, 663, 654, 656, 657, 655, 492, 931, 301, + 819, 271, 895, 735, 327, 310, 707, 4, 315, 319, + 560, 240, 322, 651, 116, 152, 896, 653, 652, 125, + 304, 120, 178, 919, 140, 514, 356, 337, 851, 508, + 504, 448, 203, 120, 584, 177, 179, 180, 178, 584, + 227, 191, 324, 509, 505, 630, 38, 355, 733, 661, + 662, 663, 654, 656, 657, 655, 631, 791, 161, 664, + 665, 357, 309, 726, 449, 120, 616, 583, 421, 231, + 231, 497, 266, 120, 227, 358, 270, 617, 584, 119, + 176, 175, 558, 541, 554, 120, 974, 240, 228, 158, + 125, 229, 120, 559, 272, 555, 651, 103, 677, 659, + 653, 652, 227, 269, 473, 384, 350, 232, 200, 904, + 423, 902, 859, 271, 174, 177, 179, 180, 178, 927, + 668, 667, 658, 660, 671, 672, 669, 670, 673, 675, + 674, 676, 661, 662, 663, 654, 656, 657, 655, 853, + 449, 227, 331, 119, 334, 789, 353, 446, 743, 454, + 348, 311, 230, 230, 132, 119, 456, 300, 637, 228, + 354, 629, 229, 299, 349, 312, 451, 628, 133, 622, + 621, 582, 227, 593, 231, 609, 432, 264, 232, 747, + 449, 608, 394, 446, 447, 391, 595, 119, 446, 594, + 593, 471, 444, 130, 746, 119, 602, 507, 240, 438, + 488, 511, 975, 465, 293, 519, 272, 302, 231, 469, + 292, 159, 286, 502, 119, 477, 478, 280, 253, 38, + 447, 191, 493, 252, 489, 447, 434, 435, 490, 495, + 470, 911, 1016, 496, 539, 928, 231, 519, 6, 503, + 5, 738, 999, 948, 913, 482, 883, 500, 880, 868, + 823, 812, 435, 434, 434, 397, 435, 230, 591, 725, + 176, 175, 544, 691, 461, 463, 294, 437, 632, 623, + 619, 428, 125, 546, 120, 231, 426, 306, 1011, 570, + 978, 570, 575, 570, 578, 890, 227, 484, 138, 264, + 296, 230, 181, 182, 174, 177, 179, 180, 178, 822, + 125, 816, 120, 586, 38, 680, 231, 296, 585, 446, + 446, 807, 806, 874, 4, 562, 549, 398, 537, 230, + 535, 538, 342, 550, 294, 343, 488, 287, 277, 274, + 273, 249, 610, 221, 613, 195, 194, 446, 193, 143, + 446, 228, 446, 121, 229, 607, 447, 447, 134, 715, + 489, 495, 701, 702, 490, 496, 997, 1008, 230, 1007, + 232, 308, 987, 307, 982, 981, 979, 227, 398, 228, + 701, 702, 229, 614, 447, 921, 910, 447, 878, 447, + 809, 351, 612, 1017, 803, 444, 315, 615, 232, 230, + 319, 802, 635, 636, 579, 519, 119, 796, 639, 640, + 710, 697, 679, 545, 519, 543, 540, 499, 396, 346, + 38, 519, 519, 519, 519, 519, 155, 903, 714, 603, + 231, 633, 529, 258, 119, 973, 643, 915, 436, 6, + 570, 5, 889, 698, 646, 888, 227, 227, 227, 433, + 808, 519, 886, 570, 708, 716, 730, 38, 38, 576, + 305, 90, 727, 729, 529, 570, 578, 724, 700, 196, + 223, 224, 703, 266, 705, 227, 227, 270, 828, 872, + 711, 845, 846, 847, 844, 843, 842, 737, 446, 800, + 801, 650, 693, 694, 256, 731, 740, 259, 260, 502, + 294, 728, 678, 736, 269, 125, 734, 739, 453, 422, + 124, 231, 985, 230, 271, 4, 227, 125, 227, 125, + 516, 742, 648, 969, 741, 447, 645, 125, 685, 457, + 513, 452, 510, 444, 752, 425, 424, 721, 466, 125, + 506, 748, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 787, + 754, 519, 755, 718, 756, 294, 125, 124, 303, 294, + 231, 231, 231, 294, 125, 294, 281, 285, 571, 320, + 298, 572, 571, 294, 230, 572, 788, 790, 519, 316, + 125, 797, 120, 127, 128, 227, 125, 272, 120, 231, + 231, 131, 684, 321, 123, 467, 814, 570, 461, 829, + 862, 258, 529, 574, 570, 848, 436, 817, 61, 593, + 455, 529, 484, 258, 567, 568, 826, 258, 529, 529, + 529, 529, 529, 849, 830, 740, 262, 451, 131, 854, + 231, 856, 231, 571, 402, 607, 572, 258, 400, 207, + 206, 793, 436, 230, 230, 230, 294, 983, 529, 228, + 284, 852, 229, 825, 821, 267, 519, 1005, 268, 857, + 858, 53, 519, 519, 811, 259, 260, 723, 232, 44, + 264, 238, 230, 230, 232, 984, 467, 259, 260, 557, + 162, 259, 260, 794, 336, 227, 875, 227, 873, 798, + 519, 879, 881, 570, 887, 818, 876, 1015, 882, 989, + 468, 259, 260, 955, 119, 44, 953, 923, 618, 894, + 119, 570, 901, 230, 898, 230, 225, 233, 38, 231, + 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, + 219, 220, 212, 891, 548, 227, 897, 446, 519, 529, + 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, + 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, + 529, 529, 529, 529, 529, 529, 517, 920, 529, 597, + 906, 599, 598, 934, 447, 1001, 885, 38, 996, 258, + 519, 877, 444, 958, 283, 810, 701, 702, 933, 907, + 899, 682, 871, 125, 258, 529, 758, 757, 517, 282, + 519, 720, 230, 519, 649, 647, 519, 644, 570, 960, + 570, 968, 38, 600, 38, 704, 701, 702, 512, 231, + 479, 231, 38, 393, 38, 38, 323, 202, 519, 201, + 526, 198, 258, 570, 968, 135, 980, 255, 1, 827, + 936, 38, 284, 259, 260, 38, 38, 519, 1006, 570, + 912, 341, 914, 745, 570, 993, 751, 861, 259, 260, + 443, 995, 922, 991, 924, 925, 606, 587, 588, 231, + 38, 570, 1009, 529, 589, 917, 1010, 254, 917, 529, + 529, 837, 570, 1013, 992, 962, 954, 941, 38, 956, + 961, 945, 959, 900, 946, 481, 259, 260, 401, 893, + 836, 833, 230, 573, 230, 564, 651, 529, 943, 659, + 653, 652, 38, 1003, 977, 1002, 722, 839, 38, 392, + 970, 387, 163, 840, 339, 695, 838, 536, 926, 289, + 458, 160, 156, 990, 671, 672, 669, 670, 673, 675, + 674, 676, 661, 662, 663, 654, 656, 657, 655, 988, + 317, 313, 230, 126, 605, 529, 517, 994, 967, 966, + 965, 964, 835, 834, 832, 517, 399, 39, 566, 14, + 13, 820, 517, 517, 517, 517, 517, 845, 846, 847, + 844, 843, 842, 717, 1012, 942, 191, 333, 799, 692, + 10, 248, 74, 1018, 75, 115, 265, 529, 63, 892, + 88, 596, 517, 89, 518, 100, 168, 170, 169, 191, + 73, 11, 325, 99, 98, 78, 556, 529, 118, 524, + 529, 3, 40, 529, 683, 176, 175, 0, 0, 0, + 0, 686, 687, 688, 689, 690, 0, 0, 0, 0, + 807, 806, 0, 0, 0, 529, 192, 172, 176, 175, + 0, 0, 0, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 529, 0, 0, 0, 166, 167, + 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 0, 0, 0, + 0, 0, 0, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 0, 0, 517, 208, 209, 210, 211, 213, 214, 215, + 216, 217, 218, 219, 220, 212, 0, 0, 0, 0, + 0, 0, 0, 0, 666, 664, 665, 0, 0, 517, + 0, 0, 759, 760, 761, 762, 763, 764, 765, 766, + 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, + 777, 778, 779, 780, 781, 782, 783, 784, 786, 867, + 0, 683, 651, 0, 677, 659, 653, 652, 208, 209, + 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, + 212, 0, 0, 0, 0, 0, 668, 667, 658, 660, + 671, 672, 669, 670, 673, 675, 674, 676, 661, 662, + 663, 654, 656, 657, 655, 347, 0, 517, 0, 0, + 0, 0, 0, 517, 517, 0, 0, 0, 0, 0, + 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, + 219, 220, 212, 30, 0, 0, 0, 0, 0, 0, + 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 150, 154, 0, + 0, 0, 164, 0, 0, 0, 866, 0, 0, 0, + 197, 0, 869, 870, 0, 205, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 222, 0, 0, 517, + 234, 235, 236, 237, 0, 0, 239, 50, 241, 242, + 243, 244, 245, 246, 247, 0, 251, 0, 0, 0, + 0, 261, 0, 0, 0, 0, 275, 276, 0, 278, + 279, 0, 153, 0, 0, 0, 0, 0, 0, 0, + 290, 517, 0, 0, 0, 0, 0, 0, 0, 204, + 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, + 0, 517, 226, 226, 517, 0, 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 945, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, 0, 0, 0, 154, - 231, 0, 0, 0, 0, 0, 0, 650, 0, 0, - 658, 652, 651, 404, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 0, 0, 0, 0, - 0, 231, 666, 657, 659, 670, 671, 668, 669, 672, - 674, 673, 675, 660, 661, 662, 653, 655, 656, 654, - 0, 0, 0, 0, 239, 0, 430, 432, 432, 0, - 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 154, 154, - 0, 0, 465, 0, 0, 432, 0, 0, 0, 0, - 650, 432, 290, 658, 652, 651, 0, 432, 432, 0, - 0, 154, 0, 0, 432, 495, 665, 663, 664, 0, - 499, 0, 0, 0, 667, 666, 657, 659, 670, 671, - 668, 669, 672, 674, 673, 675, 660, 661, 662, 653, - 655, 656, 654, 0, 0, 0, 0, 0, 0, 0, - 0, 870, 0, 0, 650, 231, 676, 658, 652, 651, - 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, - 0, 0, 0, 552, 553, 554, 555, 556, 667, 666, - 657, 659, 670, 671, 668, 669, 672, 674, 673, 675, - 660, 661, 662, 653, 655, 656, 654, 0, 0, 0, - 557, 0, 0, 0, 665, 663, 664, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, - 0, 0, 650, 0, 0, 658, 652, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, - 0, 0, 650, 868, 676, 658, 652, 651, 657, 659, - 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, - 662, 653, 655, 656, 654, 610, 667, 666, 657, 659, - 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, - 662, 653, 655, 656, 654, 0, 0, 0, 0, 623, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, - 231, 231, 231, 0, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 272, 0, 231, 231, 0, 0, 0, 0, 0, + 0, 0, 239, 0, 0, 0, 0, 340, 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 863, 0, 0, 0, 0, 340, 698, 192, 172, - 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 709, 231, 0, 231, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 0, 0, 0, 0, 0, 432, 0, 168, 170, 169, - 191, 0, 0, 0, 0, 0, 748, 0, 0, 0, - 0, 0, 432, 753, 0, 0, 0, 0, 0, 0, - 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 154, 858, 192, 172, 176, - 175, 0, 0, 0, 665, 663, 664, 0, 0, 0, - 0, 0, 0, 0, 231, 0, 0, 0, 0, 166, - 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, - 0, 799, 650, 0, 676, 658, 652, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, - 0, 658, 652, 651, 0, 808, 667, 666, 657, 659, - 670, 671, 668, 669, 672, 674, 673, 675, 660, 661, - 662, 653, 655, 656, 654, 659, 670, 671, 668, 669, - 672, 674, 673, 675, 660, 661, 662, 653, 655, 656, - 654, 0, 0, 0, 853, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 432, 432, 0, 0, 231, - 0, 231, 866, 0, 0, 0, 0, 0, 0, 82, - 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, - 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, - 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, - 23, 37, 44, 15, 24, 35, 0, 231, 36, 9, - 0, 26, 340, 31, 80, 81, 7, 45, 47, 49, - 0, 0, 883, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 641, 34, 0, 62, 0, - 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, - 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, - 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, - 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, - 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 502, 34, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, - 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, - 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, - 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, - 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 1030, 34, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 1025, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 940, 0, 0, 0, 0, 0, 0, 0, 517, 665, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 0, 385, 0, 154, 0, + 0, 0, 0, 0, 0, 651, 0, 677, 659, 653, + 652, 0, 404, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 352, 0, 668, + 667, 658, 660, 671, 672, 669, 670, 673, 675, 674, + 676, 661, 662, 663, 654, 656, 657, 655, 0, 0, + 0, 0, 0, 239, 0, 0, 431, 431, 0, 0, + 0, 389, 390, 439, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 909, 154, 154, 0, + 0, 464, 0, 651, 431, 0, 659, 653, 652, 420, + 431, 290, 0, 0, 0, 0, 431, 431, 0, 0, + 154, 0, 0, 431, 494, 666, 664, 665, 0, 498, + 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, + 662, 663, 654, 656, 657, 655, 0, 0, 441, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 460, 462, 651, 0, 677, 659, 653, 652, 0, + 0, 0, 0, 0, 0, 547, 666, 664, 665, 476, + 0, 0, 551, 0, 485, 0, 0, 668, 667, 658, + 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, + 662, 663, 654, 656, 657, 655, 0, 0, 0, 0, + 553, 0, 0, 0, 651, 865, 677, 659, 653, 652, + 0, 0, 839, 0, 0, 0, 0, 154, 840, 0, + 0, 838, 0, 0, 0, 0, 0, 0, 668, 667, + 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, + 661, 662, 663, 654, 656, 657, 655, 0, 0, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, + 0, 0, 845, 846, 847, 844, 843, 842, 0, 0, + 0, 580, 860, 581, 0, 0, 0, 624, 626, 192, + 172, 176, 175, 0, 831, 0, 0, 0, 0, 0, + 0, 634, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 855, 192, 172, 176, 175, 0, + 0, 0, 0, 0, 340, 699, 0, 0, 651, 0, + 0, 0, 653, 652, 476, 0, 709, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 671, 672, 669, 670, + 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, + 655, 0, 0, 0, 0, 431, 666, 664, 665, 0, + 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, + 0, 0, 431, 749, 0, 0, 0, 792, 0, 0, + 0, 154, 0, 389, 713, 713, 0, 0, 0, 0, + 0, 0, 0, 795, 651, 154, 677, 659, 653, 652, + 0, 0, 0, 0, 0, 0, 666, 664, 665, 0, + 0, 0, 420, 420, 0, 0, 0, 0, 668, 667, + 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, + 661, 662, 663, 654, 656, 657, 655, 0, 0, 0, + 0, 0, 0, 0, 651, 460, 677, 659, 653, 652, + 0, 0, 0, 476, 0, 476, 0, 0, 0, 485, + 0, 0, 0, 0, 0, 804, 0, 0, 668, 667, + 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, + 661, 662, 663, 654, 656, 657, 655, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 850, + 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, + 431, 431, 0, 0, 0, 0, 0, 863, 0, 0, + 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, - 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, - 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, + 19, 18, 815, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, + 35, 0, 0, 36, 9, 0, 26, 340, 31, 80, + 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 1008, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 642, 34, 713, 62, 420, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, - 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, - 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, - 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 15, + 24, 35, 476, 0, 36, 9, 0, 26, 0, 31, + 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 995, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 501, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, - 94, 28, 19, 18, 0, 20, 994, 32, 0, 33, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, + 15, 24, 35, 0, 0, 36, 9, 0, 26, 0, + 31, 80, 81, 7, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 8, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, @@ -904,11 +832,11 @@ var yyAct = [...]int{ 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 980, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 1019, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, - 977, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, @@ -917,7 +845,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 1014, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -930,11 +858,11 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 954, 34, 0, 62, 0, + 0, 0, 91, 76, 16, 998, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, - 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 986, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, @@ -943,11 +871,11 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 952, 34, 0, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, - 20, 0, 32, 0, 33, 888, 0, 21, 0, 0, + 20, 0, 32, 972, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, @@ -960,7 +888,7 @@ var yyAct = [...]int{ 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 695, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, @@ -969,7 +897,7 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 69, 70, 0, 0, 0, 91, 76, 16, 971, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, @@ -982,7 +910,7 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 16, 566, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 950, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, @@ -996,7 +924,7 @@ var yyAct = [...]int{ 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, - 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 949, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, @@ -1009,72 +937,72 @@ var yyAct = [...]int{ 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, + 16, 947, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, - 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 884, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 16, 0, 34, 949, 62, 0, 96, 0, 0, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 0, 94, 28, 19, 18, 696, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, - 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 0, 34, 925, 62, 0, 96, 0, + 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, - 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 719, 62, 0, 96, + 0, 91, 76, 16, 561, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, - 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, + 0, 26, 0, 31, 80, 81, 330, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 335, 62, 0, + 0, 0, 91, 76, 16, 326, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, - 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 0, 0, 26, 0, 31, 80, 81, 330, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 332, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -1082,154 +1010,326 @@ var yyAct = [...]int{ 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 796, 0, 0, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 665, 663, 664, 0, + 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 757, 0, 0, 91, 76, 16, 0, 34, 0, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 944, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 0, 0, 650, 0, 676, 658, 652, 651, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 667, 666, - 657, 659, 670, 671, 668, 669, 672, 674, 673, 675, - 660, 661, 662, 653, 655, 656, 654, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 754, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 708, - 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 705, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 640, 0, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 637, 0, 0, 0, 0, 0, 0, 192, 172, - 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 619, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 600, 0, 0, 0, 0, 0, 0, - 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, - 0, 0, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 168, 170, 169, 191, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 403, 0, 0, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 427, 0, 0, 192, 172, 176, 175, 168, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 918, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 719, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 0, 34, 335, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 0, 34, 332, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 753, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 168, 170, 169, 191, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, + 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 750, 0, 0, 0, 0, 0, 0, 192, + 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 706, 0, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 641, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 0, 192, - 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, + 182, 174, 177, 179, 180, 178, 638, 0, 0, 0, + 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, + 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, + 177, 179, 180, 178, 620, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 601, 0, + 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 474, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 552, 0, 0, 0, + 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 192, 172, 176, 175, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 403, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 427, 0, 0, 192, + 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 395, 0, 0, 0, 0, 0, 192, 172, 176, 175, - 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 345, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 344, 0, 0, 0, 0, 0, + 177, 179, 180, 178, 395, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 165, 0, 0, 0, 0, 0, 192, 172, 176, - 175, 665, 663, 664, 0, 0, 0, 0, 0, 0, + 178, 345, 0, 0, 0, 0, 0, 192, 172, 176, + 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 650, - 0, 676, 658, 652, 651, 168, 170, 169, 191, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 344, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, + 0, 192, 172, 176, 175, 666, 664, 665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 667, 666, 657, 659, 670, 671, 668, - 669, 672, 674, 673, 675, 660, 661, 662, 653, 655, - 656, 654, 0, 0, 0, 192, 172, 176, 175, 170, - 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 192, 172, - 176, 175, 0, 664, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 651, 0, 677, 659, 653, 652, 168, + 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 668, 667, 658, + 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, + 662, 663, 654, 656, 657, 655, 0, 0, 0, 192, + 172, 176, 175, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 650, - 0, 676, 658, 652, 651, 169, 191, 0, 0, 0, + 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 0, 192, 172, 176, 175, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 667, 666, 657, 659, 670, 671, 668, - 669, 672, 674, 673, 675, 660, 661, 662, 653, 655, - 656, 654, 0, 192, 172, 176, 175, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 192, 172, 176, 175, 0, 0, + 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 0, 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 650, 0, 676, 658, 652, - 651, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, - 666, 657, 659, 670, 671, 668, 669, 672, 674, 673, - 675, 660, 661, 662, 653, 655, 656, 654, 0, 172, - 176, 175, 191, 0, 0, 0, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, - 172, 176, 175, 0, 0, 0, 0, 82, 83, 71, + 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, + 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 651, 0, 677, 659, + 653, 652, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 668, 667, 658, 660, 671, 672, 669, 670, 673, 675, + 674, 676, 661, 662, 663, 654, 656, 657, 655, 651, + 0, 0, 659, 653, 652, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 668, 667, 658, 660, 671, 672, 669, + 670, 673, 675, 674, 676, 661, 662, 663, 654, 656, + 657, 655, 0, 172, 176, 175, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, + 0, 659, 653, 652, 166, 167, 171, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 667, 658, 660, 671, 672, 669, 670, + 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, + 655, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 176, 175, 0, 0, 0, 0, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 487, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 651, 91, + 76, 659, 653, 652, 0, 62, 480, 96, 0, 0, + 486, 57, 56, 58, 59, 72, 119, 0, 0, 0, + 0, 0, 0, 0, 658, 660, 671, 672, 669, 670, + 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, + 655, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 191, 0, 0, 142, 112, 108, 102, + 487, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 172, 176, 175, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 486, 57, 56, 58, 59, + 72, 119, 0, 0, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, + 0, 84, 85, 86, 191, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 176, 175, 864, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, + 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 627, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 191, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 172, 176, 175, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 625, 57, 56, + 58, 59, 72, 119, 0, 0, 0, 173, 185, 186, + 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, + 179, 180, 178, 82, 83, 71, 0, 104, 105, 125, + 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, + 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 148, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, + 0, 0, 0, 62, 429, 96, 172, 176, 175, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 405, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, + 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 0, 386, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 142, 112, 108, 102, 488, 84, 85, 86, - 191, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 148, 0, 0, 0, 0, 0, 54, 55, 0, + 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 481, 96, 176, - 175, 487, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, - 0, 0, 94, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 191, 0, 0, 142, 112, 108, 102, 488, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 172, 176, - 175, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 487, 57, 56, 58, 59, 72, 119, 0, - 0, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 82, 83, + 91, 76, 0, 0, 151, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1241,8 +1341,8 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, - 0, 0, 867, 57, 56, 58, 59, 72, 119, 82, + 0, 91, 76, 0, 0, 149, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1254,23 +1354,8 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 626, 57, 56, 58, 59, 72, 119, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 191, 0, 0, 142, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 172, 176, 175, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 624, 57, 56, 58, 59, 72, - 119, 0, 0, 0, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 0, 91, 76, 0, 0, 145, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1283,89 +1368,8 @@ var yyAct = [...]int{ 0, 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, - 0, 96, 0, 0, 291, 57, 56, 58, 59, 72, - 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, - 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 148, 0, 0, 0, 0, - 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, - 62, 429, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 147, 148, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, - 0, 62, 0, 96, 0, 0, 405, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, - 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 147, 148, 0, 0, - 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, - 151, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, - 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 92, 0, 0, 0, 0, 142, - 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, - 0, 79, 52, 0, 0, 0, 77, 147, 148, 0, - 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, - 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, - 0, 149, 0, 62, 0, 96, 0, 0, 0, 57, - 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 145, 0, 62, 0, 96, 0, 0, 0, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, - 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 650, 91, - 76, 658, 652, 651, 0, 62, 0, 96, 0, 0, - 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 670, 671, 668, 669, - 672, 674, 673, 675, 660, 661, 662, 653, 655, 656, - 654, 82, 83, 71, 0, 104, 105, 125, 441, 120, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 440, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, @@ -1388,157 +1392,154 @@ var yyAct = [...]int{ 0, 0, 92, 0, 0, 0, 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 104, 105, 125, 77, 41, 148, 0, 0, 0, - 0, 528, 54, 55, 0, 64, 65, 66, 67, 68, + 0, 527, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 523, 0, 526, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 529, 0, 0, - 0, 0, 521, 112, 108, 522, 104, 105, 125, 0, - 0, 0, 0, 0, 0, 0, 528, 0, 0, 0, + 0, 0, 0, 522, 0, 525, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 528, 0, 0, + 0, 0, 520, 112, 108, 521, 104, 105, 125, 0, + 0, 0, 0, 0, 0, 0, 527, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 789, 535, 0, 524, 0, - 0, 0, 534, 533, 531, 532, 0, 0, 523, 0, - 526, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 529, 0, 0, 0, 0, 521, 112, 108, - 522, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 785, 534, 0, 523, 0, + 0, 0, 533, 532, 530, 531, 0, 0, 522, 0, + 525, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 528, 0, 0, 0, 0, 520, 112, 108, + 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 535, 0, 524, 0, 0, 0, 534, 533, 531, - 532, + 0, 534, 0, 523, 0, 0, 0, 533, 532, 530, + 531, } var yyPact = [...]int{ - -1000, -1000, 2457, -1000, -1000, -1000, -1000, 350, 517, 693, - 128, -1000, 360, -1000, -1000, 914, -1000, 299, 299, 5077, - 347, 299, 7681, 7550, 7419, 405, 199, 787, 7812, -1000, - 5820, 345, 344, 342, -1000, 431, 7812, 913, 88, 911, - 906, 7812, -1000, -1000, -1000, -1000, 688, -1000, 673, -1000, - 1400, 340, 7812, 449, 252, 252, 7812, 7812, 7812, 7812, - -1000, -1000, 8098, -1000, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 337, -1000, -1000, 197, 193, 1020, 7812, 657, 260, - 336, 334, 7812, 7812, 329, 7812, 7812, -1000, 181, -1000, - -1000, 949, 903, -1000, 180, 328, 7026, -1000, 178, 177, - -1000, 314, 845, 557, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 152, 198, -1000, 552, 298, -1000, 430, - -1000, 278, 364, -1000, 845, -1000, 125, 622, 560, -1000, - 707, 845, -1000, 904, -1000, 23, 4160, 4946, 8098, 4815, - 784, 88, 532, 7812, 331, -1000, 5773, -1000, 735, -1000, - 5726, -1000, 400, 1038, 5908, -1000, 123, -1000, -1000, 217, - 96, 88, 16, 91, 5908, -1000, -1000, -1000, -1000, -1000, - 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 260, 358, 252, 7812, 872, -1000, 5679, 399, 870, - -1000, 678, 671, -1000, 1400, 5632, -1000, -1000, 7288, 7812, - 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, 7812, - 7812, 186, -1000, -1000, -1000, -1000, -1000, 314, 520, 845, - 550, 545, -1000, -1000, -108, -108, -17, -108, 276, 5588, - 275, -108, -108, -108, -108, -108, -108, -108, -1000, 7157, - -1000, 7812, 7812, 7812, 433, 670, 943, -1000, 259, 7967, - 252, 6077, 65, 298, 544, -1000, 491, 508, 845, 649, - 152, 198, 541, 7812, 7812, 5908, 5908, 7812, 5908, 5908, - 7812, 569, 670, 731, -1000, 857, 7812, 7026, 164, 60, - 5544, 252, 7812, 7812, 869, -1000, 6333, 314, 74, 7812, - 7812, 152, 430, 81, -1000, 7812, 398, -1000, -1000, 2326, - 314, -1000, 623, 83, -1000, 694, 845, 41, -1000, 692, - 845, 868, 566, -32, 8258, -1000, -1000, -1000, -1000, -1000, - 326, -1000, -1000, -1000, -1000, -1000, 299, -1000, 397, 44, - 5908, -1000, 394, 391, -1000, -1000, -1000, -1000, -1000, 199, - -1000, 7812, -1000, -1000, 823, -1000, 8258, -1000, 7812, 7812, - 7812, 7812, 7812, 6036, 6862, 6330, 978, -9, -9, -9, - -17, -108, -17, -17, 875, 875, 251, 251, 251, 251, - 208, 208, 208, 208, -1000, 7812, -1000, 79, -1000, -1000, - 1299, 773, 78, -42, 4029, -1000, -1000, 325, 319, 661, - 674, 429, 674, 7812, 6077, 87, 6077, 6077, 6077, 6077, - 6077, 6077, 6077, 6077, 6077, 6077, 6077, 6077, 40, -1000, - -1000, 315, 845, 314, 65, 65, 238, -1000, -1000, -1000, - -108, 163, 5908, 160, -1000, -1000, -1000, -1000, 836, 865, - 5463, 169, 410, 298, 172, -1000, -1000, 152, 198, -1000, - 7812, -1000, -1000, 170, 845, 491, 65, 152, 170, -12, - -1000, 1400, -1000, 1151, 274, 5415, 159, -1000, -1000, -1000, - 157, 273, -1000, -1000, 6876, 6745, -1000, -1000, 153, 148, - -1000, -1000, -13, 267, -1000, -1000, 1400, 252, 7812, -1000, - 298, 298, -1000, -1000, 147, 5371, 298, 298, -1000, 5323, - -1000, 2195, -1000, -1000, -1000, -1000, 622, 862, 562, -1000, - 560, 860, 538, -1000, 856, 8258, -1000, 5864, -1000, -1000, - 491, 505, 845, 311, 8258, -1000, -1000, -1000, -1000, 624, - 540, 8258, 8258, 8258, 8258, 8258, 265, 471, 4291, 3898, - 387, 7812, 7812, 481, -1000, 808, -1000, -1000, 5275, -48, - 306, -1000, 5908, 6202, 6450, 5951, 6077, 5227, 7812, 385, - 252, 297, 297, 4684, 854, 8258, 721, 637, 637, 428, - 674, -1000, 491, 492, 845, -1000, -8, -1000, -1000, 1400, - -1000, 260, -51, 186, 186, 314, -1000, -1000, 218, 632, - 7812, -1000, 65, -1000, -1000, 133, -1000, -1000, -1000, -1000, - -1000, 7812, -1000, -1000, 168, 84, -1000, 7812, 7812, 152, - 5181, -1000, 491, -1000, -1000, -1000, 7812, -1000, -1000, -1000, - -1000, -1000, -1000, 5133, 252, 5908, 252, -1000, -1000, -1000, - 6464, -1000, -1000, 5908, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 853, -1000, -1000, 852, -1000, -1000, - 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, - 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, 8258, - 8258, 8258, 8258, 8258, 8258, 8258, 8183, 845, 491, 8258, - 131, 42, 5089, 574, 751, -65, -65, 6, 6, 1987, - 384, -1000, 299, 5077, 465, 381, -1000, 380, 5908, -1000, - 7812, 323, 463, 377, 780, -1000, 8258, 637, -1000, 6161, - -1000, -1000, 592, -1000, 252, 305, 592, -1000, -1000, -1000, - -64, -1000, 712, 304, 263, 26, -1000, 88, -1000, -1000, - -1000, 258, -1000, -8, 845, 491, 971, 674, -1000, 7812, - -1000, -35, 7812, 632, -1000, 130, 298, -1000, 1940, 632, - 7812, 7812, 129, 1851, -1000, 628, -1000, 6614, -1000, -1000, - -1000, -1000, -1000, 1737, 6, 6, -65, -65, -65, -65, - 2003, -20, 7803, 24, 24, 6, 5994, 6120, 1155, 1717, - 1512, 76, 76, 76, 76, -47, -47, -47, -47, 8258, - 1649, 491, 254, -1000, -1000, 8258, 8258, -1000, -1000, -1000, - -1000, 5077, -1000, 461, 299, 355, -1000, 7812, 1075, -1000, - -1000, -1000, -1000, -1000, 376, -1000, 243, 7812, 241, 297, - -1000, 186, 237, 3767, 8258, -1000, 424, 674, 421, 637, - 477, 700, 680, 491, -1000, -1000, 820, 30, -1000, 735, - 593, -1000, 844, 674, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 298, 6077, -1000, 127, -1000, -1000, 409, -1000, - 126, 93, -1000, -1000, -1000, 65, 5908, 252, -1000, 1595, - 8258, -1000, 1245, 5864, -1000, 373, 261, -1000, 230, -1000, - 4291, -1000, 700, 6161, 4553, -1000, -37, 4553, 371, -1000, - -1000, 817, -1000, -1000, 815, -1000, 419, 284, -1000, -29, - -66, -1000, 843, 88, -1000, -67, -45, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1595, 8258, -1000, -1000, 4291, - 4422, 4291, 418, -1000, -1000, -1000, -1000, -1000, -1000, 3636, - 205, 3505, -69, -1000, 236, -1000, 814, 8258, -70, 841, - 8258, -1000, 674, -1000, 722, 5864, 4291, -1000, -1000, -1000, - -1000, 3374, -1000, 412, -1000, 8258, 3243, -56, -1000, 807, - -74, -1000, 8258, 282, -1000, -1000, 408, 722, -1000, 370, - 369, 696, 763, 537, -1000, 3112, 2981, 368, -1000, -1000, - -1000, -1000, 216, -1000, 8258, -1000, 637, -1000, -1000, -1000, - -1000, 674, 593, 837, 366, -1000, -1000, 2850, -1000, 806, - -1000, 200, -28, -1000, 827, -1000, -1000, -1000, 714, -1000, - 357, 674, -1000, -1000, 714, -1000, 281, -1000, -1000, -1000, - -1000, -1000, 674, 2719, 803, -1000, 187, 132, -1000, 2588, - -1000, + -1000, -1000, 2402, -1000, -1000, -1000, -1000, 340, 605, 676, + 153, -1000, 346, -1000, -1000, 955, -1000, 285, 285, 5022, + 336, 285, 7755, 7624, 7493, 415, 197, 798, 7886, -1000, + 5684, 335, 333, 332, -1000, 460, 7886, 951, 100, 949, + 947, 7886, -1000, -1000, -1000, -1000, 718, -1000, 717, -1000, + 1182, 330, 7886, 476, 700, 700, 7886, 7886, 7886, 7886, + -1000, -1000, 8148, -1000, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 328, 7886, -1000, 218, 213, 950, 7886, 699, 706, + 327, 326, 7886, 7886, 325, 7886, 7886, -1000, 212, -1000, + -1000, 912, 897, -1000, 207, 324, 6969, -1000, 205, 199, + -1000, 304, 913, 622, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 158, 193, -1000, 610, 287, -1000, 451, + -1000, 273, 362, -1000, 913, -1000, 150, 627, 617, -1000, + 694, 913, -1000, 946, -1000, 26, 4105, 4891, 8148, 4760, + 793, 100, 538, 7886, 323, -1000, 5637, -1000, 762, -1000, + 5590, -1000, 408, 1234, 5772, -1000, 149, -1000, -1000, 382, + 145, 100, 10, 60, 5772, -1000, 7886, 7886, 7886, 7886, + 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 706, 7362, 700, 7886, 943, -1000, 5543, 407, 365, + -1000, 713, 709, -1000, 1182, 5496, -1000, -1000, 7231, 7886, + 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, + 7886, 129, -1000, -1000, -1000, -1000, -1000, 304, 537, 913, + 568, 567, -1000, -1000, -120, -120, -25, -120, 272, 5452, + 267, -120, -120, -120, -120, -120, -120, -120, -1000, 7100, + -1000, -120, 7886, 7886, 441, 735, 719, -1000, 262, 8017, + 700, 5898, 141, 287, 563, -1000, 528, 536, 913, 683, + 158, 193, 561, 7886, 7886, 5772, 5772, 7886, 5772, 5772, + 7886, 531, 735, 731, -1000, 755, 7886, 6969, 185, 89, + 5408, 700, 7886, 7886, 940, -1000, 6252, 304, 65, 7886, + 7886, 158, 451, 181, -1000, 7886, 406, -1000, -1000, 2271, + 304, -1000, 639, 29, -1000, 621, 913, 28, -1000, 613, + 913, 938, 611, 9, 8308, -1000, -1000, -1000, -1000, -1000, + 317, -1000, -1000, -1000, -1000, -1000, 285, 314, 405, 68, + 5772, -1000, 404, 402, -1000, -1000, -1000, -1000, -1000, 197, + -1000, 7886, -1000, -1000, 852, 313, 8308, -1000, 7886, 6121, + 6393, 5815, 5898, 5857, 6805, 6554, 7098, -9, -9, -9, + -25, -120, -25, -25, 71, 71, 1026, 1026, 1026, 1026, + 251, 251, 251, 251, -1000, 5364, 7886, 80, -1000, -1000, + 1117, 780, 78, -6, 3974, -1000, -1000, 312, 684, 677, + 619, 450, 619, 7886, 5898, 200, 5898, 5898, 5898, 5898, + 5898, 5898, 5898, 5898, 5898, 5898, 5898, 5898, 63, -1000, + -1000, 305, 913, 304, 141, 141, 253, -1000, -1000, -1000, + 183, 5772, 180, -1000, -1000, -1000, -1000, 889, 933, 5318, + 191, 419, 287, 176, -1000, -1000, 158, 193, -1000, 7886, + -1000, -1000, 173, 913, 528, 141, 158, 173, 62, -1000, + 1182, -1000, 714, 266, 5270, 164, -1000, -1000, -1000, 163, + 265, -1000, -1000, 6819, 6688, -1000, -1000, 161, 155, -1000, + -1000, 41, 264, -1000, -1000, 1182, 700, 7886, -1000, 287, + 287, -1000, -1000, 152, 5226, 287, 287, -1000, 5178, -1000, + 2140, -1000, -1000, -1000, -1000, 627, 927, 607, -1000, 617, + 925, 603, -1000, 924, 8308, -1000, 5728, -1000, -1000, 528, + 530, 913, 302, 8308, -1000, -1000, -1000, -1000, 705, 560, + 8308, 8308, 8308, 8308, 8308, 259, 509, 4236, 3843, 400, + 7886, 7886, 458, -1000, 914, -1000, -1000, 5130, -10, 684, + -1000, 5772, 7886, 6025, 399, 700, 410, 410, 4629, 921, + 8308, 756, 684, 255, 48, -1000, 100, -1000, -1000, -1000, + 528, 529, 913, 447, 619, -1000, -1000, 33, -1000, -1000, + 1182, -1000, 706, -13, 129, 129, 304, -1000, -1000, 236, + 682, 7886, -1000, 141, -1000, -1000, 142, -1000, -1000, -1000, + -1000, -1000, 7886, -1000, -1000, 189, 174, -1000, 7886, 7886, + 158, 5082, -1000, 528, -1000, -1000, -1000, 7886, -1000, -1000, + -1000, -1000, -1000, -1000, 5034, 700, 5772, 700, -1000, -1000, + -1000, 6407, -1000, -1000, 5772, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 917, -1000, -1000, 916, -1000, + -1000, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, + 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, + 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8233, 913, 528, + 8308, 139, 42, 1939, 650, 761, -65, -65, -58, -58, + 1889, 396, -1000, 285, 5022, 506, 390, -1000, 383, 5772, + -1000, 7886, 310, 440, 379, 884, -1000, 8308, 247, 6025, + -1000, -1000, 668, -1000, 700, 298, 668, -1000, -1000, -1000, + -16, -1000, 742, 296, 246, 739, 684, 505, 913, 528, + -1000, 33, 1744, 619, 287, 7886, -1000, 24, 7886, 682, + -1000, 133, 287, -1000, 1788, 682, 7886, 7886, 106, 1732, + -1000, 673, -1000, 6557, -1000, -1000, -1000, -1000, -1000, 1649, + -58, -58, -65, -65, -65, -65, 1538, 1803, 911, -51, + -51, -58, 1460, 5941, 91, 6243, 6043, -66, -66, -66, + -66, 8, 8, 8, 8, 8308, 1187, 528, 245, -1000, + -1000, 8308, 8308, -1000, -1000, -1000, -1000, 5022, -1000, 494, + 285, 311, -1000, 7886, 1049, -1000, -1000, -1000, -1000, -1000, + 377, -1000, 739, 244, 410, -1000, 129, 242, 3712, 8308, + -1000, 443, 619, 436, 433, 282, -1000, 851, -1000, 528, + 1009, -1000, -1000, 827, 1, -1000, 762, 493, -1000, 910, + 619, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 5898, -1000, 105, -1000, -1000, 417, -1000, 103, -56, -1000, + -1000, -1000, 141, 5772, 700, -1000, 5984, 8308, -1000, 1598, + 5728, -1000, 375, 229, -1000, 240, -1000, 4236, -1000, 428, + 4498, -1000, 19, 4498, 374, -1000, -1000, 825, -1000, -1000, + 227, -53, -1000, -17, -54, -1000, 908, 100, -1000, -63, + -50, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 5984, 8308, + -1000, -1000, 4236, 4367, 4236, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 3581, 239, 3450, 3319, -48, -1000, 824, 8308, + -1000, 821, 8308, -64, 903, 8308, -1000, 619, -1000, 623, + 5728, 4236, -1000, -1000, -1000, 3188, 3057, -1000, 426, -1000, + -1000, -1000, 194, -1000, -1000, -75, -1000, 8308, 277, -1000, + -1000, 366, 623, -1000, 364, 363, 732, 776, 544, -1000, + 2926, -1000, 361, -1000, -1000, 817, 8308, -1000, 684, -1000, + -1000, -1000, -1000, 619, 493, 898, 355, -1000, 2795, -1000, + -1000, 238, -47, -1000, 895, -1000, -1000, -1000, 746, 358, + 619, -1000, -1000, 746, -1000, 275, -1000, -1000, -1000, -1000, + -1000, 619, 2664, 815, -1000, 228, 384, -1000, 2533, -1000, } var yyPgo = [...]int{ - 0, 37, 1161, 1158, 49, 34, 35, 594, 1157, 1156, - 167, 232, 1369, 458, 1434, 71, 64, 54, 729, 225, - 1155, 28, 1154, 1153, 1152, 43, 1151, 38, 124, 1150, - 1148, 1147, 1146, 44, 1125, 1124, 26, 1123, 20, 36, - 180, 1122, 728, 31, 1121, 32, 1120, 1118, 29, 1117, - 58, 50, 42, 1116, 1115, 1114, 1113, 1112, 27, 23, - 1111, 1105, 1, 1104, 1102, 1101, 8, 1099, 1098, 1095, - 1094, 1092, 52, 4, 1090, 1089, 1088, 1085, 1084, 2, - 1083, 39, 0, 1082, 1081, 1079, 57, 1078, 1076, 617, - 1075, 1064, 61, 11, 1063, 30, 1060, 1059, 1058, 13, - 33, 1056, 1053, 1051, 1050, 1048, 1043, 3, 1034, 17, - 1031, 1030, 1027, 1021, 1017, 41, 1011, 1010, 1006, 1003, - 1002, 1001, 999, 998, 22, 997, 19, 24, 996, 7, - 993, 988, 986, 982, 15, 16, 25, 5, 12, 981, - 974, 973, 6, 971, 970, 14, 962, 958, 954, 953, - 952, 946, 944, 942, 936, 930, 929, 927, 687, 21, - 926, 925, 18, + 0, 29, 1152, 1151, 46, 40, 44, 571, 1149, 1148, + 4, 217, 134, 42, 1383, 110, 66, 54, 791, 1447, + 1145, 31, 1144, 1143, 1142, 124, 1141, 43, 86, 1140, + 1135, 1134, 1133, 90, 1131, 1130, 26, 1128, 28, 45, + 49, 1126, 738, 33, 1125, 1, 1124, 1122, 17, 1121, + 68, 50, 48, 1120, 1119, 1118, 1117, 1115, 34, 13, + 1113, 1101, 2, 1100, 1099, 1098, 19, 1097, 1096, 1094, + 1093, 1092, 52, 3, 1091, 1090, 1089, 1088, 1087, 6, + 1084, 58, 0, 1083, 1081, 1080, 105, 1062, 1061, 604, + 1060, 1059, 62, 11, 1058, 8, 1057, 1055, 1054, 12, + 38, 1052, 1051, 1049, 1046, 1045, 1043, 14, 1035, 23, + 1033, 1031, 1030, 1029, 1028, 30, 1025, 1023, 1020, 1015, + 1014, 1011, 1007, 1004, 998, 27, 997, 15, 16, 996, + 37, 990, 987, 986, 983, 41, 7, 20, 18, 22, + 981, 978, 970, 5, 969, 968, 21, 630, 25, 960, + 921, 24, } var yyR1 = [...]int{ - 0, 144, 81, 81, 82, 82, 3, 3, 3, 3, + 0, 145, 81, 81, 82, 82, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 83, 83, 4, 4, 4, 4, 84, 84, 5, 5, 5, 5, 85, 85, 6, 6, 6, 6, 53, 53, 86, 86, 24, @@ -1546,51 +1547,50 @@ var yyR1 = [...]int{ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 104, 104, 61, 61, 105, 105, 106, - 106, 62, 102, 102, 58, 51, 52, 142, 142, 143, - 143, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 114, 114, 110, 110, 115, 115, 136, 136, 135, - 135, 135, 57, 57, 59, 59, 60, 60, 103, 103, - 139, 139, 139, 139, 100, 100, 100, 145, 145, 56, + 106, 62, 102, 102, 58, 51, 52, 143, 143, 144, + 144, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 114, 114, 110, 110, 115, 115, 137, 137, 136, + 136, 136, 57, 57, 59, 59, 60, 60, 103, 103, + 140, 140, 140, 140, 100, 100, 100, 146, 146, 56, 56, 96, 96, 97, 97, 54, 54, 55, 55, 107, - 107, 108, 108, 66, 66, 65, 65, 65, 65, 138, - 138, 138, 116, 116, 72, 72, 72, 72, 87, 87, + 107, 108, 108, 66, 66, 65, 65, 65, 65, 139, + 139, 139, 116, 116, 72, 72, 72, 72, 87, 87, 27, 27, 27, 88, 88, 88, 88, 109, 109, 69, - 69, 69, 69, 71, 117, 117, 141, 141, 118, 118, + 69, 69, 69, 71, 117, 117, 142, 142, 118, 118, 119, 119, 73, 73, 74, 120, 120, 77, 77, 76, - 75, 75, 78, 78, 140, 140, 111, 111, 112, 112, + 75, 75, 78, 78, 141, 141, 111, 111, 112, 112, 121, 121, 79, 79, 79, 79, 79, 79, 113, 113, 113, 113, 70, 70, 101, 101, 99, 99, 98, 98, - 124, 124, 122, 122, 123, 123, 123, 125, 125, 42, - 15, 15, 15, 146, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 147, 15, 148, 15, 149, 15, 150, 15, + 125, 125, 123, 123, 124, 124, 124, 126, 126, 42, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 151, - 152, 15, 153, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 154, 15, 15, 15, 15, 15, 15, - 15, 156, 15, 157, 15, 50, 50, 50, 50, 47, - 47, 47, 47, 46, 46, 1, 95, 95, 94, 94, - 94, 94, 23, 23, 23, 23, 23, 23, 23, 23, - 11, 11, 11, 11, 45, 45, 45, 43, 43, 41, - 41, 132, 132, 131, 49, 49, 49, 155, 155, 155, - 137, 137, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 8, 28, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 35, - 35, 35, 35, 29, 29, 29, 29, 29, 29, 29, - 159, 159, 162, 162, 161, 161, 161, 161, 14, 14, - 48, 48, 16, 17, 18, 19, 19, 133, 133, 126, - 128, 128, 80, 127, 127, 127, 40, 40, 44, 44, - 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, - 10, 10, 9, 9, 13, 13, 129, 129, 130, 130, - 130, 39, 39, 134, 134, 93, 93, 38, 38, 38, - 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, - 89, 89, 89, 89, 33, 33, 33, 33, 33, 33, - 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, - 37, 90, 90, 36, 36, 30, 30, 31, 32, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 50, 50, 50, 50, 47, 47, + 47, 47, 46, 46, 1, 95, 95, 94, 94, 94, + 94, 23, 23, 23, 23, 23, 23, 23, 23, 11, + 11, 11, 11, 45, 45, 45, 43, 43, 41, 41, + 133, 133, 132, 49, 49, 49, 122, 122, 122, 138, + 138, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 8, 28, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 35, 35, + 35, 35, 29, 29, 29, 29, 29, 29, 29, 148, + 148, 151, 151, 150, 150, 150, 150, 14, 14, 48, + 48, 16, 17, 18, 19, 19, 134, 134, 127, 129, + 129, 80, 128, 128, 128, 40, 40, 44, 44, 12, + 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, + 10, 9, 9, 13, 13, 130, 130, 131, 131, 131, + 39, 39, 135, 135, 93, 93, 38, 38, 38, 92, + 92, 91, 91, 91, 91, 91, 91, 91, 91, 89, + 89, 89, 89, 33, 33, 33, 33, 33, 33, 34, + 34, 34, 37, 37, 37, 37, 37, 37, 37, 37, + 90, 90, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1617,40 +1617,39 @@ var yyR2 = [...]int{ 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, 1, 3, 1, 2, 1, 4, 3, 2, 1, 1, 0, 1, 3, - 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, + 6, 3, 4, 6, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 0, 4, 0, 4, 0, 4, 0, 4, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 1, 1, 4, 5, 4, 1, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 1, 1, 3, + 2, 1, 9, 10, 2, 2, 4, 4, 4, 4, + 4, 4, 4, 3, 1, 0, 4, 3, 4, 1, + 2, 2, 4, 3, 4, 4, 4, 4, 2, 1, + 1, 3, 2, 1, 3, 2, 1, 1, 4, 1, + 2, 0, 2, 0, 2, 1, 0, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 2, 3, 1, 1, 1, 1, 3, 2, + 4, 3, 1, 1, 1, 4, 3, 3, 3, 3, + 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 1, 4, 0, - 0, 7, 0, 5, 1, 2, 2, 2, 2, 2, - 2, 2, 2, 0, 3, 1, 1, 1, 3, 2, - 1, 0, 10, 0, 11, 2, 2, 4, 4, 4, - 4, 4, 4, 4, 3, 1, 0, 4, 3, 4, - 1, 2, 2, 4, 3, 4, 4, 4, 4, 2, - 1, 1, 3, 2, 1, 3, 2, 1, 1, 4, - 1, 2, 0, 2, 0, 2, 1, 0, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 3, 1, 1, 1, 1, 3, - 2, 4, 3, 1, 1, 1, 4, 3, 3, 3, - 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 4, 5, 2, 2, 3, 1, - 1, 3, 2, 1, 1, 1, 1, 3, 3, 1, - 0, 2, 0, 1, 5, 3, 3, 1, 1, 1, - 3, 3, 1, 1, 1, 5, 1, 2, 0, 3, - 4, 4, 1, 1, 1, 0, 1, 2, 3, 3, - 1, 4, 4, 1, 1, 1, 1, 2, 1, 4, - 4, 1, 1, 4, 0, 1, 1, 1, 4, 4, - 1, 1, 3, 1, 2, 3, 1, 1, 4, 0, - 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, - 2, 2, 1, 2, 1, 4, 3, 3, 6, 3, - 1, 1, 1, 4, 4, 4, 2, 2, 4, 2, - 2, 1, 3, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 4, 5, 2, 2, 3, 1, 1, + 3, 2, 1, 1, 1, 1, 3, 3, 1, 0, + 2, 0, 1, 5, 3, 3, 1, 1, 1, 3, + 3, 1, 1, 1, 5, 1, 2, 0, 3, 4, + 4, 1, 1, 1, 0, 1, 2, 3, 3, 1, + 4, 4, 1, 1, 1, 1, 2, 1, 4, 4, + 1, 1, 4, 0, 1, 1, 1, 4, 4, 1, + 1, 3, 1, 2, 3, 1, 1, 4, 0, 0, + 2, 5, 3, 3, 1, 6, 4, 4, 2, 2, + 2, 1, 2, 1, 4, 3, 3, 6, 3, 1, + 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, + 1, 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -144, -81, -3, -25, -51, -52, 51, 79, 44, + -1000, -145, -81, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1661,7 +1660,7 @@ var yyChk = [...]int{ 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, -30, -82, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -134, -44, -12, -40, -9, 134, + 64, 65, 80, -10, -135, -44, -12, -40, -9, 134, 12, 123, -82, 119, 82, 10, -83, 37, 38, -4, -82, 82, 121, 135, 122, 10, -86, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, @@ -1669,198 +1668,194 @@ var yyChk = [...]int{ -88, -1, 12, -101, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -142, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -143, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, 147, 123, -14, 104, 105, -18, -19, -82, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -154, 125, 125, -155, 17, -89, -33, 12, 76, + -48, -14, 125, 125, -122, 17, -89, -33, 12, 76, 77, -14, 57, -43, -11, -41, -82, 79, 82, -21, - -10, -134, -12, 123, 123, -14, -14, 123, -14, -14, + -10, -135, -12, 123, 123, -14, -14, 123, -14, -14, 125, -89, 17, 17, 75, -89, 125, 123, -92, -91, - -14, 128, 125, 125, 82, -138, 123, -82, 78, 125, - 119, -10, 134, 78, -138, 119, 124, 121, 119, -81, + -14, 128, 125, 125, 82, -139, 123, -82, 78, 125, + 119, -10, 134, 78, -139, 119, 124, 121, 119, -81, -82, 121, 135, -84, -5, -82, 82, -85, -6, -82, 82, 29, -82, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -142, -99, -98, - -14, -139, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -142, 136, 121, 135, -147, - -148, -149, -150, -14, -14, -14, -14, -14, -14, -14, + 51, -25, 122, -56, -25, 122, 21, -143, -99, -98, + -14, -140, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -143, 136, 121, 135, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -151, 122, -102, -58, -19, - -19, -15, -103, 10, -86, 121, 121, 10, -156, -68, + -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, + -14, -14, -14, -14, -43, -14, 122, -102, -58, -19, + -19, -15, -103, 10, -86, 121, 121, 10, 123, -68, 55, -114, 55, 58, -14, 128, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -93, -38, -19, 59, 82, -82, 78, 78, 124, 124, 124, 124, - -14, -13, -14, -13, 118, -33, -33, 17, 125, 57, - -14, 11, -19, -129, -130, -40, -39, -10, -134, 10, - 119, -137, -138, 78, 82, -82, 57, -10, 78, -90, - -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, - -13, -92, 126, -162, 135, 58, -17, -19, -13, -13, - 10, 124, -116, -50, -72, -15, -19, 128, 83, -138, - -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, - 121, -81, 120, -138, -4, 121, 135, 29, -82, 121, - 135, 29, -82, 10, 29, 136, -28, -158, -7, -31, - -82, 79, 82, 60, 125, -8, 62, -160, 18, 74, - -11, 131, 132, 130, 129, 123, 123, -96, -86, -86, - -48, 121, 135, -100, 121, -100, 121, -27, -14, 12, - -157, -28, -14, -14, -14, -14, -14, -14, -153, 124, - 135, 29, 29, 124, 135, 136, 120, 123, 123, -110, - 56, -45, -82, 79, 82, 119, -115, -45, -15, -19, - -19, 91, 124, 135, 123, -82, -125, -123, -122, -124, - 125, -126, 57, 126, 126, -34, 10, 13, 12, 10, - 120, 125, 120, -127, -80, -128, -138, 125, 119, -10, - -14, -40, -82, -129, -40, 124, 135, 124, 124, 124, - 126, 126, 124, -14, 128, -14, 128, 126, 126, 124, - 135, 124, -17, -14, -138, -138, 126, 120, -138, -138, - 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, - 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, - 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, - 153, 154, 157, 159, 158, 160, 127, 82, -82, 123, - -159, -161, -158, 17, 78, -158, -158, -158, -158, -158, - 124, -54, 93, 94, -97, 22, 121, -99, -14, 120, - 32, 33, -100, 31, -100, 120, 136, 123, 122, -14, - 121, -58, -135, -19, 128, 59, -135, -60, -25, 122, - 10, -28, -104, 41, -107, -108, -66, -65, 60, 61, - -45, -107, 119, -115, 82, -82, -109, 135, -43, 136, - -38, -93, 125, -124, -126, -13, -129, 126, -14, -133, - 125, 125, -13, -14, 120, -132, -36, 58, -17, -17, - -72, 10, 10, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, 122, - -158, -82, -159, 126, -162, 135, 58, 10, 52, 124, - 121, -48, -25, -55, 93, 94, 121, 121, -14, -145, - 122, 121, 120, 121, 31, -28, -107, -152, -136, 58, - -19, 123, -136, -86, 136, -61, 42, 123, 124, 135, - -142, 124, -109, -82, 120, -69, -111, -70, -71, -112, - -121, 47, 38, 44, -79, 103, 102, 101, 98, 99, - 100, -45, -146, -14, 124, -13, 126, -127, 126, -126, - -13, -13, 126, 120, -131, 57, -14, 128, 126, -158, - 122, 124, -158, -158, -25, 95, -48, 122, -99, -145, - -86, 121, 124, -14, 124, -135, -93, 124, 28, -28, - 119, -45, 119, -66, -143, 83, -95, 44, 120, -113, - 12, 121, 135, -1, -79, 10, -117, -45, -137, 126, - 120, 126, 126, -129, -17, -158, 58, 121, 122, -86, - 124, -86, -95, -59, -25, 122, 124, -59, 121, -86, - 12, -86, 12, 119, 123, 121, 135, 136, 10, -142, - 136, -141, 135, 121, 119, -158, -86, -57, -25, 122, - 119, -86, 120, 124, 120, 136, -86, -94, 12, 128, - 12, -28, 136, 10, -28, -45, -118, -119, -73, -74, - -75, -76, -77, -45, 10, -86, -86, 26, 119, -28, - 120, 124, 135, 12, 136, -28, 123, 120, -73, 121, - 121, 45, 29, 78, 24, 120, 121, -86, 12, 128, - -28, -107, -120, -45, -78, -79, 10, 121, 120, 12, - 124, 135, 10, -105, -106, -62, 41, -140, 121, 119, - -45, -62, 123, -86, -45, 120, 12, 124, 119, -86, - 120, + -13, -14, -13, 118, -33, -33, 17, 125, 57, -14, + 11, -19, -130, -131, -40, -39, -10, -135, 10, 119, + -138, -139, 78, 82, -82, 57, -10, 78, -90, -36, + -19, -15, -19, -15, -14, -13, 117, 75, 75, -13, + -92, 126, -151, 135, 58, -17, -19, -13, -13, 10, + 124, -116, -50, -72, -15, -19, 128, 83, -139, -39, + -40, 10, 52, -13, -14, -39, -40, 10, -14, 121, + -81, 120, -139, -4, 121, 135, 29, -82, 121, 135, + 29, -82, 10, 29, 136, -28, -147, -7, -31, -82, + 79, 82, 60, 125, -8, 62, -149, 18, 74, -11, + 131, 132, 130, 129, 123, 123, -96, -86, -86, -48, + 121, 135, -100, 121, -100, 121, -27, -14, 12, 123, + -28, -14, 122, -14, 124, 135, 29, 29, 124, 135, + 136, 120, 123, -107, -108, -66, -65, 60, 61, -45, + -82, 79, 82, -110, 56, -45, 119, -115, -45, -15, + -19, -19, 91, 124, 135, 123, -82, -126, -124, -123, + -125, 125, -127, 57, 126, 126, -34, 10, 13, 12, + 10, 120, 125, 120, -128, -80, -129, -139, 125, 119, + -10, -14, -40, -82, -130, -40, 124, 135, 124, 124, + 124, 126, 126, 124, -14, 128, -14, 128, 126, 126, + 124, 135, 124, -17, -14, -139, -139, 126, 120, -139, + -139, 120, 120, -5, 10, 29, -6, 10, 29, 10, + -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, + 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -82, + 123, -148, -150, -147, 17, 78, -147, -147, -147, -147, + -147, 124, -54, 93, 94, -97, 22, 121, -99, -14, + 120, 32, 33, -100, 31, -100, 120, 136, -107, -14, + 121, -58, -136, -19, 128, 59, -136, -60, -25, 122, + 10, -28, -104, 41, -107, 124, 135, -143, 82, -82, + 119, -115, -109, 135, -43, 136, -38, -93, 125, -125, + -127, -13, -130, 126, -14, -134, 125, 125, -13, -14, + 120, -133, -36, 58, -17, -17, -72, 10, 10, -147, + -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, + -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, + -147, -147, -147, -147, -147, 122, -147, -82, -148, 126, + -151, 135, 58, 10, 52, 124, 121, -48, -25, -55, + 93, 94, 121, 121, -14, -146, 122, 121, 120, 121, + 31, -28, 124, -137, 58, -19, 123, -137, -86, 136, + -61, 42, 123, 124, -95, 44, -66, -144, 83, -82, + -109, 120, -69, -111, -70, -71, -112, -121, 47, 38, + 44, -79, 103, 102, 101, 98, 99, 100, -45, -138, + -14, 124, -13, 126, -128, 126, -127, -13, -13, 126, + 120, -132, 57, -14, 128, 126, -147, 122, 124, -147, + -147, -25, 95, -48, 122, -99, -146, -86, 121, -95, + 124, -136, -93, 124, 28, -28, 119, -45, 119, 119, + 123, 12, 120, -113, 12, 121, 135, -1, -79, 10, + -117, -45, 126, 120, 126, 126, -130, -17, -147, 58, + 121, 122, -86, 124, -86, 119, -59, -25, 122, 124, + -59, 121, -86, 12, -86, -86, -94, 12, 128, 136, + 121, 135, 136, 10, -143, 136, -142, 135, 121, 119, + -147, -86, -57, -25, 122, -86, -86, 120, 124, 120, + 120, 124, 135, 12, -28, 12, -28, 136, 10, -28, + -45, -118, -119, -73, -74, -75, -76, -77, -45, 10, + -86, 120, 26, 119, 12, 128, 136, -28, 123, 120, + -73, 121, 121, 45, 29, 78, 24, 121, -86, 12, + -28, -107, -120, -45, -78, -79, 10, 121, 120, 124, + 135, 10, -105, -106, -62, 41, -141, 121, 119, -45, + -62, 123, -86, -45, 120, 12, 124, 119, -86, 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, 0, 43, 4, 85, 86, 0, 38, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 340, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 329, 0, 63, 0, 0, 0, 0, 69, 0, 0, 0, 87, 0, - 0, 310, 438, 439, 325, 94, 0, 96, 0, 100, + 0, 301, 427, 428, 314, 94, 0, 96, 0, 100, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 286, 287, 0, 294, 0, 0, 0, 0, 0, 0, - 0, 354, 303, 305, 306, 307, 357, 0, 446, 0, - 0, 0, 0, 0, 0, 0, 0, 423, 424, 425, - 426, 0, 0, 429, 364, 0, 490, 463, 464, 465, - 419, -2, 0, 0, 362, 363, 365, 366, 367, 368, - 369, 370, 371, -2, 0, 468, 0, 0, 471, 483, - 472, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 281, 282, 0, 286, 0, 0, 0, 0, 0, 0, + 0, 343, 0, 296, 297, 298, 346, 0, 435, 0, + 0, 0, 0, 0, 0, 0, 0, 412, 413, 414, + 415, 0, 0, 418, 353, 0, 479, 452, 453, 454, + 408, -2, 0, 0, 351, 352, 354, 355, 356, 357, + 358, 359, 360, -2, 0, 457, 0, 0, 460, 472, + 461, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 0, 0, 0, - 0, 87, 0, 216, 0, 52, 0, 310, 340, 54, - 0, 56, 439, -2, 0, 59, 0, 159, 160, 0, - 0, 87, 165, 0, 215, 64, 252, 254, 256, 258, + 0, 87, 0, 216, 0, 52, 0, 301, 329, 54, + 0, 56, 428, -2, 0, 59, 0, 159, 160, 0, + 0, 87, 165, 0, 215, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 289, 0, 0, 0, 38, 0, 0, 311, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 88, 98, 101, -2, -2, 0, 95, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 489, 235, 248, 250, 249, 444, 341, 0, 0, - 0, 0, 340, 251, 273, 274, 275, 276, 287, 0, - 0, 295, 296, 297, 298, 299, 300, 301, 302, 0, - 356, 0, 474, 474, 0, 358, 359, 502, 504, 0, - 0, 309, 0, 360, 347, 348, 341, 0, 0, 350, - -2, 0, 0, 0, 0, 516, 517, 0, 519, 520, - 474, 0, 0, 0, 373, 0, 474, 490, 0, 432, - 495, 0, 474, 474, 0, 332, 0, -2, 0, 474, - 0, -2, 484, 0, 339, 0, 0, 10, 3, 0, + 0, 478, 234, 247, 249, 248, 433, 330, 0, 0, + 0, 0, 329, 250, 268, 269, 270, 271, 282, 0, + 0, 287, 288, 289, 290, 291, 292, 293, 294, 0, + 345, 295, 463, 463, 0, 347, 348, 491, 493, 0, + 0, 300, 0, 349, 336, 337, 330, 0, 0, 339, + -2, 0, 0, 0, 0, 505, 506, 0, 508, 509, + 463, 0, 0, 0, 362, 0, 463, 479, 0, 421, + 484, 0, 463, 463, 0, 321, 0, -2, 0, 463, + 0, -2, 473, 0, 328, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 131, 38, 48, 129, 38, 0, 311, 0, 217, + 0, 131, 38, 48, 129, 38, 0, 0, 0, 217, 219, 51, 124, 124, 53, 55, 57, 58, 60, 0, - 161, 0, 442, 61, 0, 313, 0, 62, 0, 0, - 0, 0, 0, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -2, -2, -2, -2, - -2, -2, -2, -2, 285, 0, 292, 0, 82, 84, - -2, 439, 0, 0, 0, 71, 72, 0, 0, 103, - 0, 0, 0, 0, 231, 0, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 0, 486, - 487, 0, 0, 343, 0, 0, 227, 440, 441, 355, - 304, 0, 475, 0, 308, 503, 500, 501, 0, 0, - 0, 423, 0, 455, 476, 477, 480, 456, 0, 481, - 0, 229, 361, 0, 0, 343, 0, 467, 0, 0, - 521, -2, -2, -2, 439, 0, 0, 427, 372, 428, - 0, 0, 324, 491, 433, 0, 499, 443, 0, 0, - 5, 149, 0, 0, 152, -2, -2, 0, 0, 334, - 0, 458, -2, 528, 0, 0, 0, 459, -2, 0, - 9, 0, 12, 333, 17, 14, 0, 0, 27, 15, - 0, 0, 33, 20, 0, 0, 36, 375, 376, 377, - -2, 0, 0, 0, 430, 383, 384, 385, 364, 0, - 0, 0, 0, 0, 0, 0, 0, 135, 133, 0, - 0, 216, 0, 0, 124, 0, 124, 158, 0, 163, - 0, 166, 214, 253, 255, 257, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 73, -2, -2, 0, - 0, 99, 344, 0, 0, 168, 102, 105, -2, -2, - 232, 0, 0, 489, 489, 342, 288, 228, 225, 226, - 474, 221, 0, 320, 319, 0, 510, 511, 512, 506, - 507, 0, 509, 448, 453, 454, 452, 474, 0, 457, - 0, 458, 342, 352, 459, 513, 0, 514, 515, 518, - 322, 321, 323, 493, 0, 494, 0, 461, 462, 150, - 0, 151, 156, 157, 335, 336, 469, 470, 337, 338, - 473, 11, 23, 26, 0, 29, 32, 0, 22, 35, + 161, 0, 431, 61, 0, 0, 0, 62, 0, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, -2, -2, -2, -2, + -2, -2, -2, -2, 280, 0, 0, 0, 82, 84, + -2, 428, 0, 0, 0, 71, 72, 0, -2, 103, + 0, 0, 0, 0, 231, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 0, 475, + 476, 0, 0, 332, 0, 0, 227, 429, 430, 344, + 0, 464, 0, 299, 492, 489, 490, 0, 0, 0, + 412, 0, 444, 465, 466, 469, 445, 0, 470, 0, + 229, 350, 0, 0, 332, 0, 456, 0, 0, 510, + -2, -2, -2, 428, 0, 0, 416, 361, 417, 0, + 0, 313, 480, 422, 0, 488, 432, 0, 0, 5, + 149, 0, 0, 152, -2, -2, 0, 0, 323, 0, + 447, -2, 517, 0, 0, 0, 448, -2, 0, 9, + 0, 12, 322, 17, 14, 0, 0, 27, 15, 0, + 0, 33, 20, 0, 0, 36, 364, 365, 366, -2, + 0, 0, 0, 419, 372, 373, 374, 353, 0, 0, + 0, 0, 0, 0, 0, 0, 135, 133, 0, 0, + 216, 0, 0, 124, 0, 124, 158, 0, 163, -2, + 166, 214, 0, 285, 0, 0, 0, 0, 0, 0, + 0, 73, -2, 0, 139, 141, 87, 146, 147, 148, + 333, 0, 0, 0, 0, 99, 168, 102, 105, -2, + -2, 232, 0, 0, 478, 478, 331, 283, 228, 225, + 226, 463, 221, 0, 309, 308, 0, 499, 500, 501, + 495, 496, 0, 498, 437, 442, 443, 441, 463, 0, + 446, 0, 447, 331, 341, 448, 502, 0, 503, 504, + 507, 311, 310, 312, 482, 0, 483, 0, 450, 451, + 150, 0, 151, 156, 157, 324, 325, 458, 459, 326, + 327, 462, 11, 23, 26, 0, 29, 32, 0, 22, + 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -2, 430, - 0, 432, 437, 0, 0, 393, 394, 416, 417, 0, - 0, 46, 0, 0, 137, 0, 49, 0, 218, 120, - 0, 0, 0, 0, 0, 162, 0, -2, 290, 293, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, + 419, 0, 421, 426, 0, 0, 382, 383, 405, 406, + 0, 0, 46, 0, 0, 137, 0, 49, 0, 218, + 120, 0, 0, 0, 0, 0, 162, 0, 0, 284, 65, 83, 107, 109, 0, 0, 107, 68, 116, 38, - 0, 118, 75, 0, 0, 139, 141, 87, 146, 147, - 148, 0, 168, 104, 0, 346, 198, 0, 233, 0, - 485, 0, 474, 224, 220, 0, 455, 505, 0, 445, - 474, 474, 0, 0, 482, 349, 522, 0, 497, 498, - 153, 28, 34, 0, 387, 388, 389, 390, 391, 392, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, -2, -2, -2, -2, -2, -2, -2, -2, 0, - 0, -2, 0, 382, 431, 433, 0, 374, 527, 418, - 42, 0, 136, 0, 0, 0, 130, 216, 0, 38, - 127, 128, 121, 122, 0, 164, 0, 0, 0, 0, - 110, 489, 0, 0, 0, 70, 0, 0, 0, 145, - 89, 326, 198, 345, 93, 167, 0, 0, 171, 0, - -2, 197, 0, 0, 200, 202, 203, 204, 205, 206, - 207, 106, 360, 230, 488, 0, 223, 449, 0, 447, - 0, 0, 478, 479, 351, 0, 492, 0, 386, 414, - 0, 381, 435, 436, 132, 0, 0, 38, 0, 38, - 126, 123, 326, 291, 0, 108, 0, 0, 0, 119, - 38, 0, 38, 142, 0, 90, 0, 0, 92, 0, - 210, 170, 0, 87, 201, 0, 0, 174, 234, 222, - 508, 451, 450, 353, 496, 415, 0, 47, 38, 138, - 0, 125, 0, 66, 114, 38, 111, 67, 117, 0, - 0, 0, 143, 38, 0, 169, 0, 0, 0, 0, - 0, 173, 0, 176, 178, 434, 134, 50, 112, 38, - 38, 0, 76, 0, 91, 0, 0, 0, 330, 0, - 208, 211, 0, 0, 213, 175, 0, 179, 180, 0, - 0, 188, 0, 0, -2, 0, 0, 0, 38, 144, - 312, 327, 0, 331, 0, 212, -2, 177, 181, 182, - 183, 0, 192, 0, 0, 314, 115, 0, 328, 0, - 209, 0, 184, 185, 0, -2, 189, 113, 78, 329, - 0, 0, 190, 74, 77, 79, 0, 172, 194, 38, - 186, 80, 0, 0, 0, 195, 0, 0, 38, 0, - 81, + 0, 118, 75, 0, 0, 315, 145, 89, 0, 335, + 168, 104, 198, 0, 349, 0, 474, 0, 463, 224, + 220, 0, 444, 494, 0, 434, 463, 463, 0, 0, + 471, 338, 511, 0, 486, 487, 153, 28, 34, 0, + 376, 377, 378, 379, 380, 381, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, -2, -2, -2, + -2, -2, -2, -2, -2, 0, 0, -2, 0, 371, + 420, 422, 0, 363, 516, 407, 42, 0, 136, 0, + 0, 0, 130, 216, 0, 38, 127, 128, 121, 122, + 0, 164, 315, 0, 0, 110, 478, 0, 0, 0, + 70, 0, 0, 0, 0, 0, 142, 0, 90, 334, + 198, 93, 167, 0, 0, 171, 0, -2, 197, 0, + 0, 200, 202, 203, 204, 205, 206, 207, 106, 233, + 230, 477, 0, 223, 438, 0, 436, 0, 0, 467, + 468, 340, 0, 481, 0, 375, 403, 0, 370, 424, + 425, 132, 0, 0, 38, 0, 38, 126, 123, 0, + 0, 108, 0, 0, 0, 119, 38, 0, 38, 38, + 0, 143, 92, 0, 210, 170, 0, 87, 201, 0, + 0, 174, 222, 497, 440, 439, 342, 485, 404, 0, + 47, 38, 138, 0, 125, 38, 66, 114, 38, 111, + 67, 117, 0, 0, 0, 0, 0, 319, 0, 0, + 169, 0, 0, 0, 0, 0, 173, 0, 176, 178, + 423, 134, 50, 112, 38, 0, 0, 76, 0, 91, + 302, 316, 0, 320, 144, 208, 211, 0, 0, 213, + 175, 0, 179, 180, 0, 0, 188, 0, 0, -2, + 0, 303, 0, 38, 317, 0, 0, 212, -2, 177, + 181, 182, 183, 0, 192, 0, 0, 115, 0, 318, + 209, 0, 184, 185, 0, -2, 189, 113, 78, 0, + 0, 190, 74, 77, 79, 0, 172, 194, 38, 186, + 80, 0, 0, 0, 195, 0, 0, 38, 0, 81, } var yyTok1 = [...]int{ @@ -4227,293 +4222,428 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1828 + //line php5/php5.y:1829 { + yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 232: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1829 - { - } - case 233: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1830 - { - } - case 234: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1830 - { - } - case 235: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1831 - { - } - case 236: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1832 - { - } - case 237: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1833 - { - } - case 238: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1834 - { - } - case 239: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1835 { + yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 240: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1836 - { - } - case 241: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1837 - { - } - case 242: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1838 - { - } - case 243: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1839 - { - } - case 244: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1840 - { - } - case 245: - yyDollar = yyS[yypt-3 : yypt+1] + case 233: + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1841 { + _new := expr.NewNew(yyDollar[5].node, nil) + positions.AddPosition(_new, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node)) + + if yyDollar[6].nodesWithEndToken != nil { + _new := expr.NewNew(yyDollar[5].node, yyDollar[6].nodesWithEndToken.nodes) + positions.AddPosition(_new, positionBuilder.NewTokensPosition(yyDollar[4].token, yyDollar[6].nodesWithEndToken.endToken)) + } + comments.AddComments(_new, comments[yyDollar[1].node]) + + yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, _new) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, _new)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 246: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1842 - { - } - case 247: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1843 - { - } - case 248: + case 234: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1844 - { - } - case 249: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1845 - { - } - case 250: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1846 - { - } - case 251: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1847 - { - } - case 252: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1848 - { - } - case 253: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1848 - { - } - case 254: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1849 - { - } - case 255: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1849 - { - } - case 256: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1850 - { - } - case 257: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1850 - { - } - case 258: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1851 - { - } - case 259: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1851 - { - } - case 260: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1852 - { - } - case 261: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1853 - { - } - case 262: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1854 - { - } - case 263: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1855 - { - } - case 264: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1856 { + yyVAL.node = expr.NewClone(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 265: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1857 - { - } - case 266: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1858 - { - } - case 267: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1859 - { - } - case 268: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1860 - { - } - case 269: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1861 - { - } - case 270: + case 235: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1862 { + yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 271: + case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1863 - { - } - case 272: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1864 - { - } - case 273: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1865 - { - } - case 274: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1866 - { - } - case 275: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1867 - { - } - case 276: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1868 { + yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 277: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1869 - { - } - case 278: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1870 - { - } - case 279: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1871 - { - } - case 280: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1872 - { - } - case 281: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1873 - { - } - case 282: + case 237: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1874 { + yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 283: + case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1875 - { - } - case 284: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1876 - { - } - case 285: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1877 - { - } - case 286: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1878 - { - } - case 287: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1880 + { + yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 239: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1886 + { + yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 240: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1892 + { + yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 241: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1898 + { + yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 242: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1904 + { + yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 243: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1910 + { + yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 244: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1916 + { + yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 245: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1922 + { + yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 246: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1928 + { + yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 247: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1934 + { + yyVAL.node = expr.NewPostInc(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 248: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1940 + { + yyVAL.node = expr.NewPreInc(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 249: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1946 + { + yyVAL.node = expr.NewPostDec(yyDollar[1].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 250: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1952 + { + yyVAL.node = expr.NewPreDec(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 251: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1958 + { + yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 252: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1964 + { + yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 253: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1970 + { + yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 254: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1976 + { + yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 255: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1982 + { + yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 256: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1988 + { + yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 257: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1994 + { + yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 258: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2000 + { + yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 259: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2006 + { + yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 260: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2012 + { + yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 261: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2018 + { + yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 262: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2024 + { + yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 263: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2030 + { + yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 264: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2036 + { + yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 265: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2042 + { + yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 266: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2048 + { + yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 267: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2054 + { + yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 268: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2060 + { + yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 269: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2066 + { + yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 270: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2072 + { + yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 271: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2078 + { + yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 272: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2084 + { + yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 273: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2090 + { + yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 274: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2096 + { + yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 275: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2102 + { + yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 276: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2108 + { + yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 277: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2114 + { + yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 278: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2120 + { + yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 279: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2126 + { + yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 280: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2132 + { + yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 281: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2138 { yyVAL.node = yyDollar[1].node } - case 288: + case 282: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2140 + { + yyVAL.node = yyDollar[1].node + } + case 283: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1882 + //line php5/php5.y:2142 { yyVAL.node = yyDollar[2].node @@ -4539,176 +4669,211 @@ yydefault: } } } - case 289: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1907 - { - } - case 290: + case 284: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1908 + //line php5/php5.y:2168 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 291: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1909 + case 285: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2174 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 292: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1910 - { - } - case 293: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1911 - { - } - case 294: + case 286: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1912 - { - } - case 295: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1913 - { - } - case 296: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1914 - { - } - case 297: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1915 - { - } - case 298: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1916 - { - } - case 299: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1917 - { - } - case 300: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1918 - { - } - case 301: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1919 - { - } - case 302: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1920 - { - } - case 303: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1921 - { - } - case 304: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1921 - { - } - case 305: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1922 + //line php5/php5.y:2180 { yyVAL.node = yyDollar[1].node } - case 306: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1923 + case 287: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2182 { + yyVAL.node = cast.NewCastInt(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 288: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2188 + { + yyVAL.node = cast.NewCastDouble(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 289: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2194 + { + yyVAL.node = cast.NewCastString(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 290: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2200 + { + yyVAL.node = cast.NewCastArray(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 291: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2206 + { + yyVAL.node = cast.NewCastObject(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 292: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2212 + { + yyVAL.node = cast.NewCastBool(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 293: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2218 + { + yyVAL.node = cast.NewCastUnset(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 294: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2224 + { + yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 295: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2230 + { + yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 296: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2236 + { + yyVAL.node = yyDollar[1].node + } + case 297: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2238 + { + yyVAL.node = yyDollar[1].node + } + case 298: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2240 + { + yyVAL.node = yyDollar[1].node + } + case 299: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2242 + { + yyVAL.node = expr.NewShellExec(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 300: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2248 + { + yyVAL.node = expr.NewPrint(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 301: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2254 + { + yyVAL.node = expr.NewYield(nil, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 302: + yyDollar = yyS[yypt-9 : yypt+1] + //line php5/php5.y:2260 + { + yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].boolWithToken.value, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 303: + yyDollar = yyS[yypt-10 : yypt+1] + //line php5/php5.y:2267 + { + yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].boolWithToken.value, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) + + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 304: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2277 + { + yyVAL.node = expr.NewYield(nil, yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 305: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2283 + { + yyVAL.node = expr.NewYield(nil, yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 306: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2289 + { + yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 307: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1924 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2295 { + yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 308: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1925 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2304 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 309: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1926 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2310 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 310: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1927 - { - } - case 311: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1928 - { - } - case 312: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:1930 - { - } - case 313: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1931 - { - } - case 314: - yyDollar = yyS[yypt-11 : yypt+1] - //line php5/php5.y:1933 - { - } - case 315: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1937 - { - } - case 316: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1938 - { - } - case 317: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1939 - { - } - case 318: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1940 - { - } - case 319: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1945 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 320: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1951 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 321: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1957 + //line php5/php5.y:2316 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4718,51 +4883,51 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[str]) } - case 322: + case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:2326 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 323: + case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1976 + //line php5/php5.y:2335 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 324: + case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1982 + //line php5/php5.y:2341 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 325: + case 314: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1991 + //line php5/php5.y:2350 { yyVAL.token = yyDollar[1].token } - case 326: + case 315: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1996 + //line php5/php5.y:2355 { yyVAL.list = []node.Node{} } - case 327: + case 316: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1998 + //line php5/php5.y:2357 { yyVAL.list = yyDollar[3].list } - case 328: + case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2003 + //line php5/php5.y:2362 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4778,9 +4943,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 329: + case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2019 + //line php5/php5.y:2378 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4796,9 +4961,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 330: + case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2035 + //line php5/php5.y:2394 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4814,9 +4979,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 331: + case 320: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2051 + //line php5/php5.y:2410 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4832,9 +4997,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 332: + case 321: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2070 + //line php5/php5.y:2429 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -4844,9 +5009,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(name, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[name]) } - case 333: + case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2080 + //line php5/php5.y:2439 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -4856,9 +5021,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } - case 334: + case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2090 + //line php5/php5.y:2449 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -4868,117 +5033,117 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } - case 335: + case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2100 + //line php5/php5.y:2459 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 336: + case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2106 + //line php5/php5.y:2465 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 337: + case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2112 + //line php5/php5.y:2471 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 338: + case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2118 + //line php5/php5.y:2477 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 339: + case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2124 + //line php5/php5.y:2483 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 340: + case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2133 + //line php5/php5.y:2492 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 341: + case 330: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2139 + //line php5/php5.y:2498 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 342: + case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2145 + //line php5/php5.y:2504 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 343: + case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2151 + //line php5/php5.y:2510 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 344: + case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2160 + //line php5/php5.y:2519 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 345: + case 334: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2166 + //line php5/php5.y:2525 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 346: + case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2172 + //line php5/php5.y:2531 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 347: + case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2181 + //line php5/php5.y:2540 { yyVAL.node = yyDollar[1].node } - case 348: + case 337: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2183 + //line php5/php5.y:2542 { yyVAL.node = yyDollar[1].node } - case 349: + case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2188 + //line php5/php5.y:2547 { yyVAL.node = yyDollar[1].node @@ -5026,174 +5191,177 @@ yydefault: } } } - case 350: + case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2236 + //line php5/php5.y:2595 { yyVAL.node = yyDollar[1].node } - case 351: + case 340: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2242 + //line php5/php5.y:2601 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } - case 352: + case 341: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2244 + //line php5/php5.y:2603 { yyVAL.list = []node.Node{} } - case 353: + case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2250 + //line php5/php5.y:2609 { yyVAL.list = yyDollar[2].list } - case 354: + case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2255 + //line php5/php5.y:2614 { yyVAL.node = nil } - case 355: + case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2257 + //line php5/php5.y:2616 { yyVAL.node = nil } - case 356: + case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2259 + //line php5/php5.y:2618 { yyVAL.node = yyDollar[1].node } - case 357: + case 346: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2263 + //line php5/php5.y:2623 { + yyVAL.list = []node.Node{} } - case 358: + case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2264 + //line php5/php5.y:2625 { + yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } - case 359: + case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2265 + //line php5/php5.y:2627 { + yyVAL.list = yyDollar[1].list } - case 360: + case 349: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2270 + //line php5/php5.y:2632 { yyVAL.nodesWithEndToken = nil } - case 361: + case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2272 + //line php5/php5.y:2634 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 362: + case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2277 + //line php5/php5.y:2639 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 363: + case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2283 + //line php5/php5.y:2645 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 364: + case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2651 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 365: + case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2295 + //line php5/php5.y:2657 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 366: + case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2301 + //line php5/php5.y:2663 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 367: + case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2307 + //line php5/php5.y:2669 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 368: + case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2313 + //line php5/php5.y:2675 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 369: + case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2319 + //line php5/php5.y:2681 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 370: + case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2325 + //line php5/php5.y:2687 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 371: + case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2331 + //line php5/php5.y:2693 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 372: + case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2337 + //line php5/php5.y:2699 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 373: + case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2342 + //line php5/php5.y:2704 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 374: + case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2351 + //line php5/php5.y:2713 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5203,259 +5371,259 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 375: + case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2363 + //line php5/php5.y:2725 + { + } + case 365: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2729 + { + } + case 366: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2730 + { + } + case 367: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2731 + { + } + case 368: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2732 + { + } + case 369: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2733 + { + } + case 370: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2734 + { + } + case 371: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2735 + { + } + case 372: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2736 + { + } + case 373: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2737 + { + } + case 374: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2738 + { + } + case 375: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2742 { } case 376: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2367 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2743 { } case 377: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2368 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2744 { } case 378: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2369 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2745 { } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2370 + //line php5/php5.y:2746 { } case 380: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2371 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2747 { } case 381: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2372 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2748 { } case 382: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2373 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2749 { } case 383: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2374 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2750 { } case 384: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2375 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2751 { } case 385: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2376 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2752 { } case 386: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2380 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2753 { } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2381 + //line php5/php5.y:2754 { } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2382 + //line php5/php5.y:2755 { } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2383 + //line php5/php5.y:2756 { } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2384 + //line php5/php5.y:2757 { } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2385 + //line php5/php5.y:2758 { } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2386 + //line php5/php5.y:2759 { } case 393: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2387 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2760 { } case 394: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2388 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2761 { } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2389 + //line php5/php5.y:2762 { } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2390 + //line php5/php5.y:2763 { } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2391 + //line php5/php5.y:2764 { } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2392 + //line php5/php5.y:2765 { } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2393 + //line php5/php5.y:2766 { } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2394 + //line php5/php5.y:2767 { } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2395 + //line php5/php5.y:2768 { } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2396 + //line php5/php5.y:2769 { } case 403: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2397 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2770 { } case 404: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2398 + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2771 { } case 405: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2399 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2772 { } case 406: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2400 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2773 { } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2401 + //line php5/php5.y:2774 { } case 408: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2402 - { - } - case 409: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2403 - { - } - case 410: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2404 - { - } - case 411: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2405 - { - } - case 412: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2406 - { - } - case 413: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2407 - { - } - case 414: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2408 - { - } - case 415: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2409 - { - } - case 416: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2410 - { - } - case 417: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2411 - { - } - case 418: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2412 - { - } - case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2417 + //line php5/php5.y:2779 { yyVAL.node = yyDollar[1].node } - case 420: + case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2419 + //line php5/php5.y:2781 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 421: + case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2425 + //line php5/php5.y:2787 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 422: + case 411: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2431 + //line php5/php5.y:2793 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 423: + case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2440 + //line php5/php5.y:2802 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5465,123 +5633,123 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 424: + case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2450 + //line php5/php5.y:2812 { yyVAL.node = yyDollar[1].node } - case 425: + case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2452 + //line php5/php5.y:2814 { yyVAL.node = yyDollar[1].node } - case 426: + case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2454 + //line php5/php5.y:2816 { yyVAL.node = yyDollar[1].node } - case 427: + case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2456 + //line php5/php5.y:2818 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 428: + case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2462 + //line php5/php5.y:2824 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 429: + case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2468 + //line php5/php5.y:2830 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 430: + case 419: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2476 + //line php5/php5.y:2838 { } - case 431: + case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2477 + //line php5/php5.y:2839 { } + case 423: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:2848 + { + } + case 424: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2849 + { + } + case 425: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2850 + { + } + case 426: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2851 + { + } + case 427: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2856 + { + yyVAL.node = yyDollar[1].node + } + case 428: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2858 + { + yyVAL.node = yyDollar[1].node + } + case 429: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2863 + { + yyVAL.node = yyDollar[2].node + } + case 430: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2865 + { + yyVAL.node = yyDollar[2].node + } + case 431: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2871 + { + yyVAL.node = yyDollar[1].node + } + case 432: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2879 + { + yyVAL.node = yyDollar[1].node + } + case 433: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2886 + { + yyVAL.node = yyDollar[1].node + } case 434: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2486 - { - } - case 435: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2487 - { - } - case 436: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2488 - { - } - case 437: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2489 - { - } - case 438: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2494 - { - yyVAL.node = yyDollar[1].node - } - case 439: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2496 - { - yyVAL.node = yyDollar[1].node - } - case 440: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2501 - { - yyVAL.node = yyDollar[2].node - } - case 441: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2503 - { - yyVAL.node = yyDollar[2].node - } - case 442: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2509 - { - yyVAL.node = yyDollar[1].node - } - case 443: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2517 - { - yyVAL.node = yyDollar[1].node - } - case 444: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2524 - { - yyVAL.node = yyDollar[1].node - } - case 445: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2531 + //line php5/php5.y:2893 { yyVAL.node = yyDollar[1].node @@ -5634,27 +5802,27 @@ yydefault: } } } - case 446: + case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2584 + //line php5/php5.y:2946 { yyVAL.node = yyDollar[1].node } - case 447: + case 436: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2589 + //line php5/php5.y:2951 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } - case 448: + case 437: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2591 + //line php5/php5.y:2953 { yyVAL.list = []node.Node{} } - case 449: + case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2597 + //line php5/php5.y:2959 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -5663,58 +5831,58 @@ yydefault: yyVAL.list = yyDollar[2].list } - case 450: + case 439: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2609 + //line php5/php5.y:2971 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 451: + case 440: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2616 + //line php5/php5.y:2978 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = []node.Node{yyDollar[1].node, fetch} } - case 452: + case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2626 + //line php5/php5.y:2988 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken)) } - case 453: + case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2634 + //line php5/php5.y:2996 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 454: + case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2636 + //line php5/php5.y:2998 { yyVAL.list = yyDollar[1].list } - case 455: + case 444: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2638 + //line php5/php5.y:3000 { yyVAL.list = nil } - case 456: + case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2643 + //line php5/php5.y:3005 { yyVAL.node = yyDollar[1].node } - case 457: + case 446: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2645 + //line php5/php5.y:3007 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5724,105 +5892,105 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 458: + case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2658 + //line php5/php5.y:3020 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 459: + case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2664 + //line php5/php5.y:3026 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } + case 449: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3036 + { + yyVAL.node = yyDollar[1].node + } + case 450: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3041 + { + } + case 451: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3043 + { + } + case 452: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3047 + { + yyVAL.node = yyDollar[1].node + } + case 453: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3048 + { + yyVAL.node = yyDollar[1].node + } + case 454: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3049 + { + yyVAL.node = yyDollar[1].node + } + case 455: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3055 + { + yyVAL.node = yyDollar[1].node + } + case 456: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:3057 + { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 457: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3067 + { + yyVAL.node = yyDollar[1].node + } + case 458: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3072 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 459: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3078 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2674 + //line php5/php5.y:3084 { yyVAL.node = yyDollar[1].node } case 461: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2679 - { - } - case 462: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2681 - { - } - case 463: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2685 - { - yyVAL.node = yyDollar[1].node - } - case 464: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2686 - { - yyVAL.node = yyDollar[1].node - } - case 465: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2687 - { - yyVAL.node = yyDollar[1].node - } - case 466: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2693 - { - yyVAL.node = yyDollar[1].node - } - case 467: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2695 - { - yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) - - for _, n := range yyDollar[1].simpleIndirectReference.all { - positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) - } - - yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] - } - case 468: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2705 - { - yyVAL.node = yyDollar[1].node - } - case 469: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2710 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 470: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2716 - { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 471: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2722 - { - yyVAL.node = yyDollar[1].node - } - case 472: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2728 + //line php5/php5.y:3090 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5832,85 +6000,85 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 473: + case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2738 + //line php5/php5.y:3100 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 474: + case 463: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2746 + //line php5/php5.y:3108 { yyVAL.node = nil } - case 475: + case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2747 + //line php5/php5.y:3109 { yyVAL.node = yyDollar[1].node } - case 476: + case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2753 + //line php5/php5.y:3115 { yyVAL.list = yyDollar[1].list } - case 477: + case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2755 + //line php5/php5.y:3117 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) yyVAL.list = []node.Node{fetch} } - case 478: + case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2765 + //line php5/php5.y:3127 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 479: + case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2772 + //line php5/php5.y:3134 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 480: + case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2779 + //line php5/php5.y:3141 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) yyVAL.list = []node.Node{fetch} } - case 481: + case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2789 + //line php5/php5.y:3151 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 482: + case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2795 + //line php5/php5.y:3157 { yyVAL.node = yyDollar[2].node } - case 483: + case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2800 + //line php5/php5.y:3162 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5918,9 +6086,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 484: + case 473: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2808 + //line php5/php5.y:3170 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5932,53 +6100,53 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 485: + case 474: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2823 + //line php5/php5.y:3185 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 486: + case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2825 + //line php5/php5.y:3187 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 487: + case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2831 + //line php5/php5.y:3193 { yyVAL.node = yyDollar[1].node } - case 488: + case 477: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2833 + //line php5/php5.y:3195 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 489: + case 478: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2839 + //line php5/php5.y:3201 { yyVAL.node = nil } - case 490: + case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2845 + //line php5/php5.y:3207 { yyVAL.list = nil } - case 491: + case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2847 + //line php5/php5.y:3209 { yyVAL.list = yyDollar[1].list } - case 492: + case 481: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2852 + //line php5/php5.y:3214 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5986,9 +6154,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 493: + case 482: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2860 + //line php5/php5.y:3222 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5996,9 +6164,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 494: + case 483: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2868 + //line php5/php5.y:3230 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6006,9 +6174,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 495: + case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2876 + //line php5/php5.y:3238 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6016,9 +6184,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 496: + case 485: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2884 + //line php5/php5.y:3246 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -6026,9 +6194,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 497: + case 486: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2892 + //line php5/php5.y:3254 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -6036,9 +6204,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 498: + case 487: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2900 + //line php5/php5.y:3262 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -6046,9 +6214,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 499: + case 488: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2908 + //line php5/php5.y:3270 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6056,39 +6224,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 500: + case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2919 + //line php5/php5.y:3281 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 501: + case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2921 + //line php5/php5.y:3283 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 502: + case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2928 + //line php5/php5.y:3290 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 503: + case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2930 + //line php5/php5.y:3292 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 504: + case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2940 + //line php5/php5.y:3302 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6098,9 +6266,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 505: + case 494: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2950 + //line php5/php5.y:3312 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6113,9 +6281,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 506: + case 495: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2963 + //line php5/php5.y:3325 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6131,17 +6299,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 507: + case 496: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2979 + //line php5/php5.y:3341 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 508: + case 497: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2985 + //line php5/php5.y:3347 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6154,23 +6322,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 509: + case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2999 + //line php5/php5.y:3361 { yyVAL.node = yyDollar[2].node } - case 510: + case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3004 + //line php5/php5.y:3366 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 511: + case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3010 + //line php5/php5.y:3372 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6182,9 +6350,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 512: + case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3022 + //line php5/php5.y:3384 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6194,97 +6362,97 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 513: + case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3035 + //line php5/php5.y:3397 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 514: + case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3041 + //line php5/php5.y:3403 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 515: + case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3047 + //line php5/php5.y:3409 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 516: + case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3053 + //line php5/php5.y:3415 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 517: + case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3059 + //line php5/php5.y:3421 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 518: + case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3065 + //line php5/php5.y:3427 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 519: + case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3071 + //line php5/php5.y:3433 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 520: + case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3077 + //line php5/php5.y:3439 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 521: + case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3086 + //line php5/php5.y:3448 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 522: + case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3088 + //line php5/php5.y:3450 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 523: + case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3092 + //line php5/php5.y:3454 { yyVAL.node = yyDollar[1].node } - case 524: + case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3093 + //line php5/php5.y:3455 { yyVAL.node = yyDollar[1].node } - case 525: + case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3098 + //line php5/php5.y:3460 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6294,9 +6462,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 526: + case 515: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3108 + //line php5/php5.y:3470 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6306,9 +6474,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 527: + case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3121 + //line php5/php5.y:3483 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6318,9 +6486,9 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 528: + case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3134 + //line php5/php5.y:3496 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index e88b6f3..54867c8 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -3,7 +3,7 @@ package php5 import ( // "fmt" -// "strings" + "strings" "strconv" "github.com/z7zmey/php-parser/token" @@ -13,8 +13,8 @@ import ( "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/node/expr/assign_op" -// "github.com/z7zmey/php-parser/node/expr/binary_op" -// "github.com/z7zmey/php-parser/node/expr/cast" + "github.com/z7zmey/php-parser/node/expr/binary_op" + "github.com/z7zmey/php-parser/node/expr/cast" ) %} @@ -217,7 +217,7 @@ import ( %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list %type interface_list non_empty_function_call_parameter_list trait_list trait_adaptation_list non_empty_trait_adaptation_list -%type trait_reference_list non_empty_member_modifiers +%type trait_reference_list non_empty_member_modifiers backticks_expr %type chaining_dereference chaining_instance_call chaining_method_or_property instance_call variable_property %type method_or_not array_method_dereference object_property object_dim_list dynamic_class_name_variable_property @@ -1825,57 +1825,317 @@ expr_without_variable: comments.AddComments(list, $1.Comments()) comments.AddComments($$, $1.Comments()) } - | variable '=' expr { } - | variable '=' '&' variable { } - | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } - | T_CLONE expr { } - | variable T_PLUS_EQUAL expr { } - | variable T_MINUS_EQUAL expr { } - | variable T_MUL_EQUAL expr { } - | variable T_POW_EQUAL expr { } - | variable T_DIV_EQUAL expr { } - | variable T_CONCAT_EQUAL expr { } - | variable T_MOD_EQUAL expr { } - | variable T_AND_EQUAL expr { } - | variable T_OR_EQUAL expr { } - | variable T_XOR_EQUAL expr { } - | variable T_SL_EQUAL expr { } - | variable T_SR_EQUAL expr { } - | rw_variable T_INC { } - | T_INC rw_variable { } - | rw_variable T_DEC { } - | T_DEC rw_variable { } - | expr T_BOOLEAN_OR { } expr { } - | expr T_BOOLEAN_AND { } expr { } - | expr T_LOGICAL_OR { } expr { } - | expr T_LOGICAL_AND { } expr { } - | expr T_LOGICAL_XOR expr { } - | expr '|' expr { } - | expr '&' expr { } - | expr '^' expr { } - | expr '.' expr { } - | expr '+' expr { } - | expr '-' expr { } - | expr '*' expr { } - | expr T_POW expr { } - | expr '/' expr { } - | expr '%' expr { } - | expr T_SL expr { } - | expr T_SR expr { } - | '+' expr %prec T_INC { } - | '-' expr %prec T_INC { } - | '!' expr { } - | '~' expr { } - | expr T_IS_IDENTICAL expr { } - | expr T_IS_NOT_IDENTICAL expr { } - | expr T_IS_EQUAL expr { } - | expr T_IS_NOT_EQUAL expr { } - | expr '<' expr { } - | expr T_IS_SMALLER_OR_EQUAL expr { } - | expr '>' expr { } - | expr T_IS_GREATER_OR_EQUAL expr { } - | expr T_INSTANCEOF class_name_reference { } - | parenthesis_expr { } + | variable '=' expr + { + $$ = assign_op.NewAssign($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable '=' '&' variable + { + $$ = assign_op.NewAssignRef($1, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | variable '=' '&' T_NEW class_name_reference ctor_arguments + { + _new := expr.NewNew($5, nil) + positions.AddPosition(_new, positionBuilder.NewTokenNodePosition($4, $5)) + + if $6 != nil { + _new := expr.NewNew($5, $6.nodes) + positions.AddPosition(_new, positionBuilder.NewTokensPosition($4, $6.endToken)) + } + comments.AddComments(_new, comments[$1]) + + $$ = assign_op.NewAssignRef($1, _new) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, _new)) + comments.AddComments($$, comments[$1]) + } + | T_CLONE expr + { + $$ = expr.NewClone($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | variable T_PLUS_EQUAL expr + { + $$ = assign_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MINUS_EQUAL expr + { + $$ = assign_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MUL_EQUAL expr + { + $$ = assign_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_POW_EQUAL expr + { + $$ = assign_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_DIV_EQUAL expr + { + $$ = assign_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_CONCAT_EQUAL expr + { + $$ = assign_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_MOD_EQUAL expr + { + $$ = assign_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_AND_EQUAL expr + { + $$ = assign_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_OR_EQUAL expr + { + $$ = assign_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_XOR_EQUAL expr + { + $$ = assign_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_SL_EQUAL expr + { + $$ = assign_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | variable T_SR_EQUAL expr + { + $$ = assign_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | rw_variable T_INC + { + $$ = expr.NewPostInc($1) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) + comments.AddComments($$, comments[$1]) + } + | T_INC rw_variable + { + $$ = expr.NewPreInc($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | rw_variable T_DEC + { + $$ = expr.NewPostDec($1) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) + comments.AddComments($$, comments[$1]) + } + | T_DEC rw_variable + { + $$ = expr.NewPreDec($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | expr T_BOOLEAN_OR expr + { + $$ = binary_op.NewBooleanOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_BOOLEAN_AND expr + { + $$ = binary_op.NewBooleanAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_OR expr + { + $$ = binary_op.NewLogicalOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_AND expr + { + $$ = binary_op.NewLogicalAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_LOGICAL_XOR expr + { + $$ = binary_op.NewLogicalXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '|' expr + { + $$ = binary_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '&' expr + { + $$ = binary_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '^' expr + { + $$ = binary_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '.' expr + { + $$ = binary_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '+' expr + { + $$ = binary_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '-' expr + { + $$ = binary_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '*' expr + { + $$ = binary_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_POW expr + { + $$ = binary_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '/' expr + { + $$ = binary_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '%' expr + { + $$ = binary_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_SL expr + { + $$ = binary_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_SR expr + { + $$ = binary_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | '+' expr %prec T_INC + { + $$ = expr.NewUnaryPlus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '-' expr %prec T_INC + { + $$ = expr.NewUnaryMinus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '!' expr + { + $$ = expr.NewBooleanNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '~' expr + { + $$ = expr.NewBitwiseNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | expr T_IS_IDENTICAL expr + { + $$ = binary_op.NewIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_NOT_IDENTICAL expr + { + $$ = binary_op.NewNotIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_EQUAL expr + { + $$ = binary_op.NewEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_NOT_EQUAL expr + { + $$ = binary_op.NewNotEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '<' expr + { + $$ = binary_op.NewSmaller($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_SMALLER_OR_EQUAL expr + { + $$ = binary_op.NewSmallerOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr '>' expr + { + $$ = binary_op.NewGreater($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_IS_GREATER_OR_EQUAL expr + { + $$ = binary_op.NewGreaterOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | expr T_INSTANCEOF class_name_reference + { + $$ = expr.NewInstanceOf($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | parenthesis_expr + { $$ = $1 } | new_expr { $$ = $1 } | '(' new_expr ')' instance_call @@ -1904,40 +2164,139 @@ expr_without_variable: } } } - | expr '?' { } - expr ':' { } - expr { } - | expr '?' ':' { } - expr { } - | internal_functions_in_yacc { } - | T_INT_CAST expr { } - | T_DOUBLE_CAST expr { } - | T_STRING_CAST expr { } - | T_ARRAY_CAST expr { } - | T_OBJECT_CAST expr { } - | T_BOOL_CAST expr { } - | T_UNSET_CAST expr { } - | T_EXIT exit_expr { } - | '@' { } expr { } - | scalar { $$ = $1 } - | combined_scalar_offset { } - | combined_scalar { } - | '`' backticks_expr '`' { } - | T_PRINT expr { } - | T_YIELD { } - | function is_reference { } - '(' parameter_list ')' lexical_vars - '{' inner_statement_list '}' { } - | T_STATIC function is_reference { } - '(' parameter_list ')' lexical_vars - '{' inner_statement_list '}' { } + | expr '?' expr ':' expr + { + $$ = expr.NewTernary($1, $3, $5) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $5)) + comments.AddComments($$, comments[$1]) + } + | expr '?' ':' expr + { + $$ = expr.NewTernary($1, nil, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | internal_functions_in_yacc + { $$ = $1 } + | T_INT_CAST expr + { + $$ = cast.NewCastInt($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_DOUBLE_CAST expr + { + $$ = cast.NewCastDouble($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_STRING_CAST expr + { + $$ = cast.NewCastString($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_ARRAY_CAST expr + { + $$ = cast.NewCastArray($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_OBJECT_CAST expr + { + $$ = cast.NewCastObject($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_BOOL_CAST expr + { + $$ = cast.NewCastBool($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_UNSET_CAST expr + { + $$ = cast.NewCastUnset($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_EXIT exit_expr + { + $$ = expr.NewExit($2, strings.EqualFold($1.Value, "die")) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '@' expr + { + $$ = expr.NewErrorSuppress($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | scalar + { $$ = $1 } + | combined_scalar_offset + { $$ = $1 } + | combined_scalar + { $$ = $1 } + | '`' backticks_expr '`' + { + $$ = expr.NewShellExec($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_PRINT expr + { + $$ = expr.NewPrint($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD + { + $$ = expr.NewYield(nil, nil) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' + { + $$ = expr.NewClosure($4, $6, nil, $8, false, $2.value, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $9)) + + comments.AddComments($$, $1.Comments()) + } + | T_STATIC function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' + { + $$ = expr.NewClosure($5, $7, nil, $9, true, $3.value, "") + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $10)) + + comments.AddComments($$, $1.Comments()) + } ; yield_expr: - T_YIELD expr_without_variable { } - | T_YIELD variable { } - | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { } - | T_YIELD expr T_DOUBLE_ARROW variable { } + T_YIELD expr_without_variable + { + $$ = expr.NewYield(nil, $2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD variable + { + $$ = expr.NewYield(nil, $2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD expr T_DOUBLE_ARROW expr_without_variable + { + $$ = expr.NewYield($2, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | T_YIELD expr T_DOUBLE_ARROW variable + { + $$ = expr.NewYield($2, $4) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } ; combined_scalar_offset: @@ -2260,9 +2619,12 @@ exit_expr: ; backticks_expr: - /* empty */ { } - | T_ENCAPSED_AND_WHITESPACE { } - | encaps_list { } + /* empty */ + { $$ = []node.Node{} } + | T_ENCAPSED_AND_WHITESPACE + { $$ = []node.Node{scalar.NewEncapsedStringPart($1.Value)} } + | encaps_list + { $$ = $1; } ; ctor_arguments: From 025413d2a00238a0d2dfb40cceae2dd3b2f7a15e Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 20:55:45 +0200 Subject: [PATCH 28/31] php5 syntax --- php5/php5.go | 1444 ++++++++++++++++++++++++++++---------------------- php5/php5.y | 367 ++++++++++--- 2 files changed, 1096 insertions(+), 715 deletions(-) diff --git a/php5/php5.go b/php5/php5.go index 12c1746..d500eb4 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -345,7 +345,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:3507 +//line php5/php5.y:3740 //line yacctab:1 var yyExca = [...]int{ @@ -659,23 +659,23 @@ var yyAct = [...]int{ 529, 529, 529, 529, 529, 529, 517, 920, 529, 597, 906, 599, 598, 934, 447, 1001, 885, 38, 996, 258, 519, 877, 444, 958, 283, 810, 701, 702, 933, 907, - 899, 682, 871, 125, 258, 529, 758, 757, 517, 282, + 899, 1, 871, 125, 258, 529, 758, 757, 517, 282, 519, 720, 230, 519, 649, 647, 519, 644, 570, 960, 570, 968, 38, 600, 38, 704, 701, 702, 512, 231, 479, 231, 38, 393, 38, 38, 323, 202, 519, 201, - 526, 198, 258, 570, 968, 135, 980, 255, 1, 827, - 936, 38, 284, 259, 260, 38, 38, 519, 1006, 570, - 912, 341, 914, 745, 570, 993, 751, 861, 259, 260, - 443, 995, 922, 991, 924, 925, 606, 587, 588, 231, - 38, 570, 1009, 529, 589, 917, 1010, 254, 917, 529, - 529, 837, 570, 1013, 992, 962, 954, 941, 38, 956, - 961, 945, 959, 900, 946, 481, 259, 260, 401, 893, - 836, 833, 230, 573, 230, 564, 651, 529, 943, 659, - 653, 652, 38, 1003, 977, 1002, 722, 839, 38, 392, - 970, 387, 163, 840, 339, 695, 838, 536, 926, 289, - 458, 160, 156, 990, 671, 672, 669, 670, 673, 675, + 827, 198, 258, 570, 968, 135, 980, 255, 936, 1006, + 341, 38, 284, 259, 260, 38, 38, 519, 745, 570, + 912, 751, 914, 861, 570, 993, 443, 606, 259, 260, + 587, 995, 922, 991, 924, 925, 588, 589, 682, 231, + 38, 570, 1009, 529, 254, 917, 1010, 837, 917, 529, + 529, 992, 570, 1013, 962, 961, 954, 941, 38, 956, + 900, 945, 959, 481, 946, 401, 259, 260, 893, 836, + 833, 573, 230, 564, 230, 1003, 651, 529, 943, 659, + 653, 652, 38, 1002, 977, 722, 392, 839, 38, 387, + 970, 163, 339, 840, 695, 536, 838, 926, 289, 458, + 160, 156, 317, 990, 671, 672, 669, 670, 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, 655, 988, - 317, 313, 230, 126, 605, 529, 517, 994, 967, 966, + 313, 126, 230, 526, 605, 529, 517, 994, 967, 966, 965, 964, 835, 834, 832, 517, 399, 39, 566, 14, 13, 820, 517, 517, 517, 517, 517, 845, 846, 847, 844, 843, 842, 717, 1012, 942, 191, 333, 799, 692, @@ -1528,40 +1528,40 @@ var yyPgo = [...]int{ 68, 50, 48, 1120, 1119, 1118, 1117, 1115, 34, 13, 1113, 1101, 2, 1100, 1099, 1098, 19, 1097, 1096, 1094, 1093, 1092, 52, 3, 1091, 1090, 1089, 1088, 1087, 6, - 1084, 58, 0, 1083, 1081, 1080, 105, 1062, 1061, 604, - 1060, 1059, 62, 11, 1058, 8, 1057, 1055, 1054, 12, - 38, 1052, 1051, 1049, 1046, 1045, 1043, 14, 1035, 23, - 1033, 1031, 1030, 1029, 1028, 30, 1025, 1023, 1020, 1015, - 1014, 1011, 1007, 1004, 998, 27, 997, 15, 16, 996, - 37, 990, 987, 986, 983, 41, 7, 20, 18, 22, - 981, 978, 970, 5, 969, 968, 21, 630, 25, 960, - 921, 24, + 1084, 630, 1083, 58, 0, 1081, 1080, 1062, 105, 1061, + 1060, 604, 1059, 1058, 62, 11, 1057, 8, 1055, 1054, + 1052, 12, 38, 1051, 1049, 1046, 1045, 1043, 1035, 14, + 1033, 23, 1031, 1030, 1029, 1028, 1025, 30, 1023, 1020, + 1015, 1014, 1011, 1007, 1004, 25, 998, 997, 996, 27, + 990, 15, 16, 987, 37, 986, 983, 981, 978, 41, + 7, 20, 18, 22, 970, 969, 968, 5, 960, 921, + 21, 24, } var yyR1 = [...]int{ - 0, 145, 81, 81, 82, 82, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 83, 83, 4, - 4, 4, 4, 84, 84, 5, 5, 5, 5, 85, - 85, 6, 6, 6, 6, 53, 53, 86, 86, 24, + 0, 149, 83, 83, 84, 84, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 85, 85, 4, + 4, 4, 4, 86, 86, 5, 5, 5, 5, 87, + 87, 6, 6, 6, 6, 53, 53, 88, 88, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 104, 104, 61, 61, 105, 105, 106, - 106, 62, 102, 102, 58, 51, 52, 143, 143, 144, - 144, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 114, 114, 110, 110, 115, 115, 137, 137, 136, - 136, 136, 57, 57, 59, 59, 60, 60, 103, 103, - 140, 140, 140, 140, 100, 100, 100, 146, 146, 56, - 56, 96, 96, 97, 97, 54, 54, 55, 55, 107, - 107, 108, 108, 66, 66, 65, 65, 65, 65, 139, - 139, 139, 116, 116, 72, 72, 72, 72, 87, 87, - 27, 27, 27, 88, 88, 88, 88, 109, 109, 69, - 69, 69, 69, 71, 117, 117, 142, 142, 118, 118, - 119, 119, 73, 73, 74, 120, 120, 77, 77, 76, - 75, 75, 78, 78, 141, 141, 111, 111, 112, 112, - 121, 121, 79, 79, 79, 79, 79, 79, 113, 113, - 113, 113, 70, 70, 101, 101, 99, 99, 98, 98, - 125, 125, 123, 123, 124, 124, 124, 126, 126, 42, + 26, 26, 26, 106, 106, 61, 61, 107, 107, 108, + 108, 62, 104, 104, 58, 51, 52, 147, 147, 148, + 148, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 116, 116, 112, 112, 117, 117, 141, 141, 140, + 140, 140, 57, 57, 59, 59, 60, 60, 105, 105, + 144, 144, 144, 144, 102, 102, 102, 150, 150, 56, + 56, 98, 98, 99, 99, 54, 54, 55, 55, 109, + 109, 110, 110, 66, 66, 65, 65, 65, 65, 143, + 143, 143, 118, 118, 72, 72, 72, 72, 89, 89, + 27, 27, 27, 90, 90, 90, 90, 111, 111, 69, + 69, 69, 69, 71, 119, 119, 146, 146, 120, 120, + 121, 121, 73, 73, 74, 122, 122, 77, 77, 76, + 75, 75, 78, 78, 145, 145, 113, 113, 114, 114, + 123, 123, 79, 79, 79, 79, 79, 79, 115, 115, + 115, 115, 70, 70, 103, 103, 101, 101, 100, 100, + 129, 129, 127, 127, 128, 128, 128, 130, 130, 42, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1570,27 +1570,27 @@ var yyR1 = [...]int{ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 50, 50, 50, 50, 47, 47, - 47, 47, 46, 46, 1, 95, 95, 94, 94, 94, - 94, 23, 23, 23, 23, 23, 23, 23, 23, 11, + 47, 47, 46, 46, 1, 97, 97, 96, 96, 96, + 96, 23, 23, 23, 23, 23, 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, 43, 43, 41, 41, - 133, 133, 132, 49, 49, 49, 122, 122, 122, 138, - 138, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 8, 28, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 35, 35, - 35, 35, 29, 29, 29, 29, 29, 29, 29, 148, - 148, 151, 151, 150, 150, 150, 150, 14, 14, 48, - 48, 16, 17, 18, 19, 19, 134, 134, 127, 129, - 129, 80, 128, 128, 128, 40, 40, 44, 44, 12, + 137, 137, 136, 49, 49, 49, 124, 124, 124, 142, + 142, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 8, 28, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 35, 35, + 35, 35, 29, 29, 29, 29, 29, 29, 29, 125, + 125, 151, 151, 126, 126, 126, 126, 14, 14, 48, + 48, 16, 17, 18, 19, 19, 138, 138, 131, 133, + 133, 80, 132, 132, 132, 40, 40, 44, 44, 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, - 10, 9, 9, 13, 13, 130, 130, 131, 131, 131, - 39, 39, 135, 135, 93, 93, 38, 38, 38, 92, - 92, 91, 91, 91, 91, 91, 91, 91, 91, 89, - 89, 89, 89, 33, 33, 33, 33, 33, 33, 34, + 10, 9, 9, 13, 13, 134, 134, 135, 135, 135, + 39, 39, 139, 139, 95, 95, 38, 38, 38, 94, + 94, 93, 93, 93, 93, 93, 93, 93, 93, 91, + 91, 91, 91, 33, 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, 37, - 90, 90, 36, 36, 30, 30, 31, 32, + 92, 92, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1649,7 +1649,7 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -145, -81, -3, -25, -51, -52, 51, 79, 44, + -1000, -149, -83, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1659,98 +1659,98 @@ var yyChk = [...]int{ 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, - -30, -82, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -135, -44, -12, -40, -9, 134, - 12, 123, -82, 119, 82, 10, -83, 37, 38, -4, - -82, 82, 121, 135, 122, 10, -86, -48, 123, -48, + -30, -84, 82, -11, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -10, -139, -44, -12, -40, -9, 134, + 12, 123, -84, 119, 82, 10, -85, 37, 38, -4, + -84, 82, 121, 135, 122, 10, -88, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, - -14, 121, -15, -19, -14, 121, -87, -27, 12, 134, - -88, -1, 12, -101, -14, 121, 149, 150, 87, 89, + -14, 121, -15, -19, -14, 121, -89, -27, 12, 134, + -90, -1, 12, -103, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -143, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -147, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -14, 104, 105, -18, -19, -82, 79, 82, + 147, 123, -14, 104, 105, -18, -19, -84, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -14, 125, 125, -122, 17, -89, -33, 12, 76, - 77, -14, 57, -43, -11, -41, -82, 79, 82, -21, - -10, -135, -12, 123, 123, -14, -14, 123, -14, -14, - 125, -89, 17, 17, 75, -89, 125, 123, -92, -91, - -14, 128, 125, 125, 82, -139, 123, -82, 78, 125, - 119, -10, 134, 78, -139, 119, 124, 121, 119, -81, - -82, 121, 135, -84, -5, -82, 82, -85, -6, -82, - 82, 29, -82, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -143, -99, -98, - -14, -140, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -143, 136, 121, 135, -14, + -48, -14, 125, 125, -124, 17, -91, -33, 12, 76, + 77, -14, 57, -43, -11, -41, -84, 79, 82, -21, + -10, -139, -12, 123, 123, -14, -14, 123, -14, -14, + 125, -91, 17, 17, 75, -91, 125, 123, -94, -93, + -14, 128, 125, 125, 82, -143, 123, -84, 78, 125, + 119, -10, 134, 78, -143, 119, 124, 121, 119, -83, + -84, 121, 135, -86, -5, -84, 82, -87, -6, -84, + 82, 29, -84, 10, 136, -24, 120, -25, -51, -52, + 51, -25, 122, -56, -25, 122, 21, -147, -101, -100, + -14, -144, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -147, 136, 121, 135, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -14, 122, -102, -58, -19, - -19, -15, -103, 10, -86, 121, 121, 10, 123, -68, - 55, -114, 55, 58, -14, 128, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -93, -38, - -19, 59, 82, -82, 78, 78, 124, 124, 124, 124, + -14, -14, -14, -14, -43, -14, 122, -104, -58, -19, + -19, -15, -105, 10, -88, 121, 121, 10, 123, -68, + 55, -116, 55, 58, -14, 128, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -95, -38, + -19, 59, 82, -84, 78, 78, 124, 124, 124, 124, -13, -14, -13, 118, -33, -33, 17, 125, 57, -14, - 11, -19, -130, -131, -40, -39, -10, -135, 10, 119, - -138, -139, 78, 82, -82, 57, -10, 78, -90, -36, + 11, -19, -134, -135, -40, -39, -10, -139, 10, 119, + -142, -143, 78, 82, -84, 57, -10, 78, -92, -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, -13, - -92, 126, -151, 135, 58, -17, -19, -13, -13, 10, - 124, -116, -50, -72, -15, -19, 128, 83, -139, -39, + -94, 126, -151, 135, 58, -17, -19, -13, -13, 10, + 124, -118, -50, -72, -15, -19, 128, 83, -143, -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, 121, - -81, 120, -139, -4, 121, 135, 29, -82, 121, 135, - 29, -82, 10, 29, 136, -28, -147, -7, -31, -82, - 79, 82, 60, 125, -8, 62, -149, 18, 74, -11, - 131, 132, 130, 129, 123, 123, -96, -86, -86, -48, - 121, 135, -100, 121, -100, 121, -27, -14, 12, 123, + -83, 120, -143, -4, 121, 135, 29, -84, 121, 135, + 29, -84, 10, 29, 136, -28, -81, -7, -31, -84, + 79, 82, 60, 125, -8, 62, -82, 18, 74, -11, + 131, 132, 130, 129, 123, 123, -98, -88, -88, -48, + 121, 135, -102, 121, -102, 121, -27, -14, 12, 123, -28, -14, 122, -14, 124, 135, 29, 29, 124, 135, - 136, 120, 123, -107, -108, -66, -65, 60, 61, -45, - -82, 79, 82, -110, 56, -45, 119, -115, -45, -15, - -19, -19, 91, 124, 135, 123, -82, -126, -124, -123, - -125, 125, -127, 57, 126, 126, -34, 10, 13, 12, - 10, 120, 125, 120, -128, -80, -129, -139, 125, 119, - -10, -14, -40, -82, -130, -40, 124, 135, 124, 124, + 136, 120, 123, -109, -110, -66, -65, 60, 61, -45, + -84, 79, 82, -112, 56, -45, 119, -117, -45, -15, + -19, -19, 91, 124, 135, 123, -84, -130, -128, -127, + -129, 125, -131, 57, 126, 126, -34, 10, 13, 12, + 10, 120, 125, 120, -132, -80, -133, -143, 125, 119, + -10, -14, -40, -84, -134, -40, 124, 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, 128, 126, 126, - 124, 135, 124, -17, -14, -139, -139, 126, 120, -139, - -139, 120, 120, -5, 10, 29, -6, 10, 29, 10, + 124, 135, 124, -17, -14, -143, -143, 126, 120, -143, + -143, 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, - 156, 153, 154, 157, 159, 158, 160, 127, 82, -82, - 123, -148, -150, -147, 17, 78, -147, -147, -147, -147, - -147, 124, -54, 93, 94, -97, 22, 121, -99, -14, - 120, 32, 33, -100, 31, -100, 120, 136, -107, -14, - 121, -58, -136, -19, 128, 59, -136, -60, -25, 122, - 10, -28, -104, 41, -107, 124, 135, -143, 82, -82, - 119, -115, -109, 135, -43, 136, -38, -93, 125, -125, - -127, -13, -130, 126, -14, -134, 125, 125, -13, -14, - 120, -133, -36, 58, -17, -17, -72, 10, 10, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, 122, -147, -82, -148, 126, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -84, + 123, -125, -126, -81, 17, 78, -81, -81, -81, -81, + -81, 124, -54, 93, 94, -99, 22, 121, -101, -14, + 120, 32, 33, -102, 31, -102, 120, 136, -109, -14, + 121, -58, -140, -19, 128, 59, -140, -60, -25, 122, + 10, -28, -106, 41, -109, 124, 135, -147, 82, -84, + 119, -117, -111, 135, -43, 136, -38, -95, 125, -129, + -131, -13, -134, 126, -14, -138, 125, 125, -13, -14, + 120, -137, -36, 58, -17, -17, -72, 10, 10, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, 122, -81, -84, -125, 126, -151, 135, 58, 10, 52, 124, 121, -48, -25, -55, - 93, 94, 121, 121, -14, -146, 122, 121, 120, 121, - 31, -28, 124, -137, 58, -19, 123, -137, -86, 136, - -61, 42, 123, 124, -95, 44, -66, -144, 83, -82, - -109, 120, -69, -111, -70, -71, -112, -121, 47, 38, - 44, -79, 103, 102, 101, 98, 99, 100, -45, -138, - -14, 124, -13, 126, -128, 126, -127, -13, -13, 126, - 120, -132, 57, -14, 128, 126, -147, 122, 124, -147, - -147, -25, 95, -48, 122, -99, -146, -86, 121, -95, - 124, -136, -93, 124, 28, -28, 119, -45, 119, 119, - 123, 12, 120, -113, 12, 121, 135, -1, -79, 10, - -117, -45, 126, 120, 126, 126, -130, -17, -147, 58, - 121, 122, -86, 124, -86, 119, -59, -25, 122, 124, - -59, 121, -86, 12, -86, -86, -94, 12, 128, 136, - 121, 135, 136, 10, -143, 136, -142, 135, 121, 119, - -147, -86, -57, -25, 122, -86, -86, 120, 124, 120, + 93, 94, 121, 121, -14, -150, 122, 121, 120, 121, + 31, -28, 124, -141, 58, -19, 123, -141, -88, 136, + -61, 42, 123, 124, -97, 44, -66, -148, 83, -84, + -111, 120, -69, -113, -70, -71, -114, -123, 47, 38, + 44, -79, 103, 102, 101, 98, 99, 100, -45, -142, + -14, 124, -13, 126, -132, 126, -131, -13, -13, 126, + 120, -136, 57, -14, 128, 126, -81, 122, 124, -81, + -81, -25, 95, -48, 122, -101, -150, -88, 121, -97, + 124, -140, -95, 124, 28, -28, 119, -45, 119, 119, + 123, 12, 120, -115, 12, 121, 135, -1, -79, 10, + -119, -45, 126, 120, 126, 126, -134, -17, -81, 58, + 121, 122, -88, 124, -88, 119, -59, -25, 122, 124, + -59, 121, -88, 12, -88, -88, -96, 12, 128, 136, + 121, 135, 136, 10, -147, 136, -146, 135, 121, 119, + -81, -88, -57, -25, 122, -88, -88, 120, 124, 120, 120, 124, 135, 12, -28, 12, -28, 136, 10, -28, - -45, -118, -119, -73, -74, -75, -76, -77, -45, 10, - -86, 120, 26, 119, 12, 128, 136, -28, 123, 120, - -73, 121, 121, 45, 29, 78, 24, 121, -86, 12, - -28, -107, -120, -45, -78, -79, 10, 121, 120, 124, - 135, 10, -105, -106, -62, 41, -141, 121, 119, -45, - -62, 123, -86, -45, 120, 12, 124, 119, -86, 120, + -45, -120, -121, -73, -74, -75, -76, -77, -45, 10, + -88, 120, 26, 119, 12, 128, 136, -28, 123, 120, + -73, 121, 121, 45, 29, 78, 24, 121, -88, 12, + -28, -109, -122, -45, -78, -79, 10, 121, 120, 124, + 135, 10, -107, -108, -62, 41, -145, 121, 119, -45, + -62, 123, -88, -45, 120, 12, 124, 119, -88, 120, } var yyDef = [...]int{ @@ -2233,25 +2233,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:235 + //line php5/php5.y:236 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:241 + //line php5/php5.y:242 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:242 + //line php5/php5.y:243 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:247 + //line php5/php5.y:248 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2260,7 +2260,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:254 + //line php5/php5.y:255 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2269,25 +2269,25 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + //line php5/php5.y:265 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:266 + //line php5/php5.y:267 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:268 + //line php5/php5.y:269 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:270 + //line php5/php5.y:271 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2295,7 +2295,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:276 + //line php5/php5.y:277 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2307,7 +2307,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:286 + //line php5/php5.y:287 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2319,7 +2319,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:296 + //line php5/php5.y:297 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2327,7 +2327,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:302 + //line php5/php5.y:303 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2335,7 +2335,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:308 + //line php5/php5.y:309 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2347,7 +2347,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:318 + //line php5/php5.y:319 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2359,25 +2359,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:328 + //line php5/php5.y:329 { yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:333 + //line php5/php5.y:334 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:335 + //line php5/php5.y:336 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:340 + //line php5/php5.y:341 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2389,7 +2389,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:350 + //line php5/php5.y:351 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2404,7 +2404,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:363 + //line php5/php5.y:364 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2416,7 +2416,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:373 + //line php5/php5.y:374 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2431,19 +2431,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:389 + //line php5/php5.y:390 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:391 + //line php5/php5.y:392 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:396 + //line php5/php5.y:397 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2455,7 +2455,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:406 + //line php5/php5.y:407 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2470,7 +2470,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:419 + //line php5/php5.y:420 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2482,7 +2482,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:429 + //line php5/php5.y:430 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2497,19 +2497,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:445 + //line php5/php5.y:446 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:447 + //line php5/php5.y:448 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:452 + //line php5/php5.y:453 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2521,7 +2521,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:462 + //line php5/php5.y:463 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2536,7 +2536,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:475 + //line php5/php5.y:476 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2548,7 +2548,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:486 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2563,7 +2563,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2581,7 +2581,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:518 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2599,37 +2599,37 @@ yydefault: } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:537 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:545 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:547 { yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:548 + //line php5/php5.y:549 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:550 + //line php5/php5.y:551 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2637,13 +2637,13 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:560 + //line php5/php5.y:561 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:562 + //line php5/php5.y:563 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2655,7 +2655,7 @@ yydefault: } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:575 + //line php5/php5.y:576 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2663,7 +2663,7 @@ yydefault: } case 46: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:581 + //line php5/php5.y:582 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2679,7 +2679,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:595 + //line php5/php5.y:596 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2690,7 +2690,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:604 + //line php5/php5.y:605 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[2].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -2698,7 +2698,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:610 + //line php5/php5.y:611 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2706,7 +2706,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:616 + //line php5/php5.y:617 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2714,7 +2714,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:622 + //line php5/php5.y:623 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -2722,7 +2722,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:628 + //line php5/php5.y:629 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2730,7 +2730,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:634 + //line php5/php5.y:635 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2738,7 +2738,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:640 + //line php5/php5.y:641 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2746,7 +2746,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:646 + //line php5/php5.y:647 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2754,7 +2754,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:652 + //line php5/php5.y:653 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2762,7 +2762,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:658 + //line php5/php5.y:659 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2770,7 +2770,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:664 + //line php5/php5.y:665 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2778,13 +2778,13 @@ yydefault: } case 59: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:670 + //line php5/php5.y:671 { yyVAL.node = yyDollar[1].node } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:672 + //line php5/php5.y:673 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2792,7 +2792,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:678 + //line php5/php5.y:679 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2800,7 +2800,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:684 + //line php5/php5.y:685 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2808,7 +2808,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:690 + //line php5/php5.y:691 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2816,13 +2816,13 @@ yydefault: } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:696 + //line php5/php5.y:697 { yyVAL.node = yyDollar[1].node } case 65: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:698 + //line php5/php5.y:699 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2830,7 +2830,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:704 + //line php5/php5.y:705 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2842,7 +2842,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:714 + //line php5/php5.y:715 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2854,7 +2854,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:724 + //line php5/php5.y:725 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2862,7 +2862,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:730 + //line php5/php5.y:731 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2870,7 +2870,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:736 + //line php5/php5.y:737 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -2884,7 +2884,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:748 + //line php5/php5.y:749 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2892,7 +2892,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:754 + //line php5/php5.y:755 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2904,13 +2904,13 @@ yydefault: } case 73: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:768 { yyVAL.list = []node.Node{} } case 74: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:769 + //line php5/php5.y:770 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2928,13 +2928,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:787 + //line php5/php5.y:788 { yyVAL.node = nil } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:790 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2942,31 +2942,31 @@ yydefault: } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:798 + //line php5/php5.y:799 { yyVAL.list = yyDollar[1].list } case 78: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:800 + //line php5/php5.y:801 { yyVAL.list = []node.Node{} } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:805 + //line php5/php5.y:806 { yyVAL.list = []node.Node{yyDollar[1].node} } case 80: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:807 + //line php5/php5.y:808 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 81: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:812 + //line php5/php5.y:813 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2982,61 +2982,61 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:829 + //line php5/php5.y:830 { yyVAL.list = []node.Node{yyDollar[1].node} } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:831 + //line php5/php5.y:832 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:836 + //line php5/php5.y:837 { yyVAL.node = yyDollar[1].node } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:841 + //line php5/php5.y:842 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:846 + //line php5/php5.y:847 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:851 + //line php5/php5.y:852 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:853 + //line php5/php5.y:854 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:858 + //line php5/php5.y:859 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:860 + //line php5/php5.y:861 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 91: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:865 + //line php5/php5.y:866 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3048,7 +3048,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:878 + //line php5/php5.y:879 { switch n := yyDollar[1].node.(type) { case *stmt.Class: @@ -3071,7 +3071,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:899 + //line php5/php5.y:900 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3083,7 +3083,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:913 + //line php5/php5.y:914 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3091,7 +3091,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:919 + //line php5/php5.y:920 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3103,7 +3103,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:929 + //line php5/php5.y:930 { yyVAL.node = stmt.NewTrait(nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3111,7 +3111,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:935 + //line php5/php5.y:936 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3123,85 +3123,85 @@ yydefault: } case 98: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:948 + //line php5/php5.y:949 { yyVAL.node = nil } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:950 + //line php5/php5.y:951 { yyVAL.node = yyDollar[2].node } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:956 { yyVAL.token = yyDollar[1].token } case 101: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:961 { yyVAL.list = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:962 + //line php5/php5.y:963 { yyVAL.list = yyDollar[2].list } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:967 + //line php5/php5.y:968 { yyVAL.list = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:970 { yyVAL.list = yyDollar[2].list } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:975 { yyVAL.list = []node.Node{yyDollar[1].node} } case 106: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:977 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:982 { yyVAL.foreachVariable = foreachVariable{nil, false} } case 108: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:984 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:988 + //line php5/php5.y:989 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:991 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 111: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:993 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3210,13 +3210,13 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1003 { yyVAL.node = yyDollar[1].node } case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1004 + //line php5/php5.y:1005 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3224,13 +3224,13 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1014 + //line php5/php5.y:1015 { yyVAL.node = yyDollar[1].node } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1017 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3238,13 +3238,13 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1026 + //line php5/php5.y:1027 { yyVAL.node = yyDollar[1].node } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1029 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3252,7 +3252,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1039 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3266,7 +3266,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1051 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3280,37 +3280,37 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1066 + //line php5/php5.y:1067 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 121: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1069 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1070 + //line php5/php5.y:1071 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 123: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1072 + //line php5/php5.y:1073 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 124: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { yyVAL.list = []node.Node{} } case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1081 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3319,7 +3319,7 @@ yydefault: } case 126: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1088 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3328,26 +3328,26 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1105 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1107 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 131: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1116 + //line php5/php5.y:1117 { yyVAL.list = []node.Node{} } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1118 + //line php5/php5.y:1119 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3357,13 +3357,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1131 { yyVAL.list = []node.Node{} } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1133 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3376,13 +3376,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1147 + //line php5/php5.y:1148 { yyVAL.node = nil } case 136: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1150 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3390,13 +3390,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1159 + //line php5/php5.y:1160 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1161 + //line php5/php5.y:1162 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3407,31 +3407,31 @@ yydefault: } case 139: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1174 + //line php5/php5.y:1175 { yyVAL.list = yyDollar[1].list } case 140: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1176 + //line php5/php5.y:1177 { yyVAL.list = nil } case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1181 + //line php5/php5.y:1182 { yyVAL.list = []node.Node{yyDollar[1].node} } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1183 + //line php5/php5.y:1184 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 143: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1188 + //line php5/php5.y:1189 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3459,7 +3459,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1214 + //line php5/php5.y:1215 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3487,13 +3487,13 @@ yydefault: } case 145: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1244 + //line php5/php5.y:1245 { yyVAL.node = nil } case 146: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1246 + //line php5/php5.y:1247 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3501,7 +3501,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1252 + //line php5/php5.y:1253 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3509,25 +3509,25 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:1259 { yyVAL.node = yyDollar[1].node } case 149: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1265 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1266 + //line php5/php5.y:1267 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1268 + //line php5/php5.y:1269 { arg := node.NewArgument(yyDollar[2].node, false, false) positions.AddPosition(arg, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3537,19 +3537,19 @@ yydefault: } case 152: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1280 + //line php5/php5.y:1281 { yyVAL.list = []node.Node{yyDollar[1].node} } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1282 + //line php5/php5.y:1283 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1287 + //line php5/php5.y:1288 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3557,7 +3557,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1294 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3565,7 +3565,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1300 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3573,7 +3573,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1306 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3581,19 +3581,19 @@ yydefault: } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1314 + //line php5/php5.y:1315 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1316 + //line php5/php5.y:1317 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1323 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3605,7 +3605,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1333 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3613,7 +3613,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1339 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3621,7 +3621,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1348 + //line php5/php5.y:1349 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3640,7 +3640,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1366 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3659,7 +3659,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1382 + //line php5/php5.y:1383 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3678,7 +3678,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1399 + //line php5/php5.y:1400 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3697,19 +3697,19 @@ yydefault: } case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1421 + //line php5/php5.y:1422 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 168: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1424 { yyVAL.list = []node.Node{} } case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1429 + //line php5/php5.y:1430 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3717,19 +3717,19 @@ yydefault: } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1435 + //line php5/php5.y:1436 { yyVAL.node = yyDollar[1].node } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1437 + //line php5/php5.y:1438 { yyVAL.node = yyDollar[1].node } case 172: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1440 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3741,7 +3741,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1452 + //line php5/php5.y:1453 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3749,67 +3749,67 @@ yydefault: } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1461 + //line php5/php5.y:1462 { yyVAL.list = []node.Node{yyDollar[1].node} } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1463 + //line php5/php5.y:1464 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1468 + //line php5/php5.y:1469 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1470 + //line php5/php5.y:1471 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 178: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1475 + //line php5/php5.y:1476 { yyVAL.list = nil } case 179: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1477 + //line php5/php5.y:1478 { yyVAL.list = yyDollar[1].list } case 180: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1483 { yyVAL.list = []node.Node{yyDollar[1].node} } case 181: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1484 + //line php5/php5.y:1485 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1489 + //line php5/php5.y:1490 { yyVAL.node = yyDollar[1].node } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1491 + //line php5/php5.y:1492 { yyVAL.node = yyDollar[1].node } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:1497 { name := name.NewName(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3821,19 +3821,19 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1509 + //line php5/php5.y:1510 { yyVAL.list = []node.Node{yyDollar[1].node} } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1511 + //line php5/php5.y:1512 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1516 + //line php5/php5.y:1517 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3845,13 +3845,13 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1526 + //line php5/php5.y:1527 { yyVAL.node = yyDollar[1].node } case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1531 + //line php5/php5.y:1532 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3863,7 +3863,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1544 + //line php5/php5.y:1545 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3875,7 +3875,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1554 + //line php5/php5.y:1555 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3883,37 +3883,37 @@ yydefault: } case 192: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1563 + //line php5/php5.y:1564 { yyVAL.node = nil } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1565 + //line php5/php5.y:1566 { yyVAL.node = yyDollar[1].node } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1571 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 195: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1572 + //line php5/php5.y:1573 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1577 + //line php5/php5.y:1578 { yyVAL.list = yyDollar[1].list } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1580 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3923,31 +3923,31 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1591 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1592 + //line php5/php5.y:1593 { yyVAL.list = yyDollar[1].list } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1597 + //line php5/php5.y:1598 { yyVAL.list = []node.Node{yyDollar[1].node} } case 201: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1599 + //line php5/php5.y:1600 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1604 + //line php5/php5.y:1605 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3955,7 +3955,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1610 + //line php5/php5.y:1611 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3963,7 +3963,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1616 + //line php5/php5.y:1617 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3971,7 +3971,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1622 + //line php5/php5.y:1623 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3979,7 +3979,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1629 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3987,7 +3987,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1634 + //line php5/php5.y:1635 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3995,7 +3995,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1643 + //line php5/php5.y:1644 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4013,7 +4013,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1660 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4031,7 +4031,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1675 + //line php5/php5.y:1676 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4049,7 +4049,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1691 + //line php5/php5.y:1692 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4067,7 +4067,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1710 + //line php5/php5.y:1711 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4084,7 +4084,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1725 + //line php5/php5.y:1726 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4100,55 +4100,55 @@ yydefault: } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1742 + //line php5/php5.y:1743 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1744 + //line php5/php5.y:1745 { yyVAL.list = []node.Node{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1750 + //line php5/php5.y:1751 { yyVAL.list = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1752 + //line php5/php5.y:1753 { yyVAL.list = yyDollar[1].list } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1757 + //line php5/php5.y:1758 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1759 + //line php5/php5.y:1760 { yyVAL.list = []node.Node{yyDollar[1].node} } case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1764 + //line php5/php5.y:1765 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1766 + //line php5/php5.y:1767 { yyVAL.list = yyDollar[1].list } case 222: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1771 + //line php5/php5.y:1772 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -4157,7 +4157,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1778 + //line php5/php5.y:1779 { fetch := expr.NewArrayDimFetch(nil, yyDollar[2].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -4166,37 +4166,37 @@ yydefault: } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1788 + //line php5/php5.y:1789 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 225: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1790 + //line php5/php5.y:1791 { yyVAL.list = yyDollar[1].list } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1793 { yyVAL.list = yyDollar[1].list } case 227: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1797 + //line php5/php5.y:1798 { yyVAL.list = nil } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1799 + //line php5/php5.y:1800 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1804 + //line php5/php5.y:1805 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4210,7 +4210,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1819 + //line php5/php5.y:1820 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4222,7 +4222,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1829 + //line php5/php5.y:1830 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4230,7 +4230,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1835 + //line php5/php5.y:1836 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4238,7 +4238,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1841 + //line php5/php5.y:1842 { _new := expr.NewNew(yyDollar[5].node, nil) positions.AddPosition(_new, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node)) @@ -4255,7 +4255,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1856 + //line php5/php5.y:1857 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4263,7 +4263,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1862 + //line php5/php5.y:1863 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4271,7 +4271,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1868 + //line php5/php5.y:1869 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4279,7 +4279,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1874 + //line php5/php5.y:1875 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4287,7 +4287,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1880 + //line php5/php5.y:1881 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4295,7 +4295,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1886 + //line php5/php5.y:1887 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4303,7 +4303,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1892 + //line php5/php5.y:1893 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4311,7 +4311,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1898 + //line php5/php5.y:1899 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4319,7 +4319,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1904 + //line php5/php5.y:1905 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4327,7 +4327,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1910 + //line php5/php5.y:1911 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4335,7 +4335,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1916 + //line php5/php5.y:1917 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4343,7 +4343,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1922 + //line php5/php5.y:1923 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4351,7 +4351,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1928 + //line php5/php5.y:1929 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4359,7 +4359,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1934 + //line php5/php5.y:1935 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4367,7 +4367,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1940 + //line php5/php5.y:1941 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4375,7 +4375,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1946 + //line php5/php5.y:1947 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4383,7 +4383,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1952 + //line php5/php5.y:1953 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4391,7 +4391,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1958 + //line php5/php5.y:1959 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4399,7 +4399,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1964 + //line php5/php5.y:1965 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4407,7 +4407,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1970 + //line php5/php5.y:1971 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4415,7 +4415,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1976 + //line php5/php5.y:1977 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4423,7 +4423,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1982 + //line php5/php5.y:1983 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4431,7 +4431,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:1989 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4439,7 +4439,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1994 + //line php5/php5.y:1995 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4447,7 +4447,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2000 + //line php5/php5.y:2001 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4455,7 +4455,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2006 + //line php5/php5.y:2007 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4463,7 +4463,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2012 + //line php5/php5.y:2013 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4471,7 +4471,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2018 + //line php5/php5.y:2019 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4479,7 +4479,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2024 + //line php5/php5.y:2025 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4487,7 +4487,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2030 + //line php5/php5.y:2031 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4495,7 +4495,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2036 + //line php5/php5.y:2037 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4503,7 +4503,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2042 + //line php5/php5.y:2043 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4511,7 +4511,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2048 + //line php5/php5.y:2049 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4519,7 +4519,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2054 + //line php5/php5.y:2055 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4527,7 +4527,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2060 + //line php5/php5.y:2061 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4535,7 +4535,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2066 + //line php5/php5.y:2067 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4543,7 +4543,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2072 + //line php5/php5.y:2073 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4551,7 +4551,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2078 + //line php5/php5.y:2079 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4559,7 +4559,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2084 + //line php5/php5.y:2085 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4567,7 +4567,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2090 + //line php5/php5.y:2091 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4575,7 +4575,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2096 + //line php5/php5.y:2097 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4583,7 +4583,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2102 + //line php5/php5.y:2103 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4591,7 +4591,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2108 + //line php5/php5.y:2109 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4599,7 +4599,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2114 + //line php5/php5.y:2115 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4607,7 +4607,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2120 + //line php5/php5.y:2121 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4615,7 +4615,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2126 + //line php5/php5.y:2127 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4623,7 +4623,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2132 + //line php5/php5.y:2133 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4631,19 +4631,19 @@ yydefault: } case 281: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2138 + //line php5/php5.y:2139 { yyVAL.node = yyDollar[1].node } case 282: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2140 + //line php5/php5.y:2141 { yyVAL.node = yyDollar[1].node } case 283: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2142 + //line php5/php5.y:2143 { yyVAL.node = yyDollar[2].node @@ -4671,7 +4671,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2168 + //line php5/php5.y:2169 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4679,7 +4679,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2174 + //line php5/php5.y:2175 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4687,13 +4687,13 @@ yydefault: } case 286: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2180 + //line php5/php5.y:2181 { yyVAL.node = yyDollar[1].node } case 287: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2182 + //line php5/php5.y:2183 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4701,7 +4701,7 @@ yydefault: } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2188 + //line php5/php5.y:2189 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4709,7 +4709,7 @@ yydefault: } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2194 + //line php5/php5.y:2195 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4717,7 +4717,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2200 + //line php5/php5.y:2201 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4725,7 +4725,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2206 + //line php5/php5.y:2207 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4733,7 +4733,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2212 + //line php5/php5.y:2213 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4741,7 +4741,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2218 + //line php5/php5.y:2219 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4749,7 +4749,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2224 + //line php5/php5.y:2225 { yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4757,7 +4757,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2230 + //line php5/php5.y:2231 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4765,25 +4765,25 @@ yydefault: } case 296: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2236 + //line php5/php5.y:2237 { yyVAL.node = yyDollar[1].node } case 297: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2238 + //line php5/php5.y:2239 { yyVAL.node = yyDollar[1].node } case 298: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2240 + //line php5/php5.y:2241 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2242 + //line php5/php5.y:2243 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4791,7 +4791,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2248 + //line php5/php5.y:2249 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4799,7 +4799,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2254 + //line php5/php5.y:2255 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4807,7 +4807,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:2260 + //line php5/php5.y:2261 { yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) @@ -4816,7 +4816,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:2267 + //line php5/php5.y:2268 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) @@ -4825,7 +4825,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2277 + //line php5/php5.y:2278 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4833,7 +4833,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2283 + //line php5/php5.y:2284 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4841,7 +4841,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2290 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4849,7 +4849,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2295 + //line php5/php5.y:2296 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4857,7 +4857,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2304 + //line php5/php5.y:2305 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4865,7 +4865,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2310 + //line php5/php5.y:2311 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4873,7 +4873,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2316 + //line php5/php5.y:2317 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4885,7 +4885,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2326 + //line php5/php5.y:2327 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4893,7 +4893,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2335 + //line php5/php5.y:2336 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4901,7 +4901,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2341 + //line php5/php5.y:2342 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4909,25 +4909,25 @@ yydefault: } case 314: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2350 + //line php5/php5.y:2351 { yyVAL.token = yyDollar[1].token } case 315: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2355 + //line php5/php5.y:2356 { yyVAL.list = []node.Node{} } case 316: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2357 + //line php5/php5.y:2358 { yyVAL.list = yyDollar[3].list } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2362 + //line php5/php5.y:2363 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4945,7 +4945,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2378 + //line php5/php5.y:2379 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4963,7 +4963,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2394 + //line php5/php5.y:2395 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4981,7 +4981,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2410 + //line php5/php5.y:2411 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4999,7 +4999,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2429 + //line php5/php5.y:2430 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5011,7 +5011,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2439 + //line php5/php5.y:2440 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5023,7 +5023,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2449 + //line php5/php5.y:2450 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5035,7 +5035,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2459 + //line php5/php5.y:2460 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5043,7 +5043,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2465 + //line php5/php5.y:2466 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5051,7 +5051,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2471 + //line php5/php5.y:2472 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5059,7 +5059,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2477 + //line php5/php5.y:2478 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5067,7 +5067,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2483 + //line php5/php5.y:2484 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -5075,7 +5075,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2492 + //line php5/php5.y:2493 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5083,7 +5083,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2498 + //line php5/php5.y:2499 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5091,7 +5091,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2504 + //line php5/php5.y:2505 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5099,7 +5099,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2510 + //line php5/php5.y:2511 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5107,7 +5107,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2519 + //line php5/php5.y:2520 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5115,7 +5115,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2525 + //line php5/php5.y:2526 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5123,7 +5123,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2531 + //line php5/php5.y:2532 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5131,19 +5131,19 @@ yydefault: } case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2540 + //line php5/php5.y:2541 { yyVAL.node = yyDollar[1].node } case 337: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2542 + //line php5/php5.y:2543 { yyVAL.node = yyDollar[1].node } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2547 + //line php5/php5.y:2548 { yyVAL.node = yyDollar[1].node @@ -5193,79 +5193,79 @@ yydefault: } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2595 + //line php5/php5.y:2596 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2601 + //line php5/php5.y:2602 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 341: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2603 + //line php5/php5.y:2604 { yyVAL.list = []node.Node{} } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2609 + //line php5/php5.y:2610 { yyVAL.list = yyDollar[2].list } case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2614 + //line php5/php5.y:2615 { yyVAL.node = nil } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2616 + //line php5/php5.y:2617 { yyVAL.node = nil } case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2618 + //line php5/php5.y:2619 { yyVAL.node = yyDollar[1].node } case 346: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2623 + //line php5/php5.y:2624 { yyVAL.list = []node.Node{} } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2625 + //line php5/php5.y:2626 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2627 + //line php5/php5.y:2628 { yyVAL.list = yyDollar[1].list } case 349: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2632 + //line php5/php5.y:2633 { yyVAL.nodesWithEndToken = nil } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2634 + //line php5/php5.y:2635 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2639 + //line php5/php5.y:2640 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5273,7 +5273,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2645 + //line php5/php5.y:2646 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5281,7 +5281,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2651 + //line php5/php5.y:2652 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5289,7 +5289,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2657 + //line php5/php5.y:2658 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5297,7 +5297,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2663 + //line php5/php5.y:2664 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5305,7 +5305,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2669 + //line php5/php5.y:2670 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5313,7 +5313,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2675 + //line php5/php5.y:2676 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5321,7 +5321,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2681 + //line php5/php5.y:2682 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5329,7 +5329,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2687 + //line php5/php5.y:2688 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5337,7 +5337,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2693 + //line php5/php5.y:2694 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5345,7 +5345,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2699 + //line php5/php5.y:2700 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5353,7 +5353,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2704 + //line php5/php5.y:2705 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5361,7 +5361,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2713 + //line php5/php5.y:2714 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5373,233 +5373,353 @@ yydefault: } case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2725 + //line php5/php5.y:2727 { + yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2729 + //line php5/php5.y:2732 { + yyVAL.node = yyDollar[1].node } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2730 + //line php5/php5.y:2734 { + yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2731 + //line php5/php5.y:2736 { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 368: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2732 + //line php5/php5.y:2742 { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 369: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2733 + //line php5/php5.y:2748 { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 370: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2734 + //line php5/php5.y:2754 { + yyVAL.node = expr.NewArray(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 371: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2735 + //line php5/php5.y:2760 { + yyVAL.node = expr.NewShortArray(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2736 + //line php5/php5.y:2766 { + yyVAL.node = yyDollar[1].node } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2737 + //line php5/php5.y:2768 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2738 + //line php5/php5.y:2774 { + yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2742 + //line php5/php5.y:2779 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 376: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2743 + //line php5/php5.y:2785 { + yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2744 + //line php5/php5.y:2791 { + yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2745 + //line php5/php5.y:2797 { + yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2746 + //line php5/php5.y:2803 { + yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2747 + //line php5/php5.y:2809 { + yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 381: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2748 + //line php5/php5.y:2815 { + yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 382: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2749 + //line php5/php5.y:2821 { + yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2750 + //line php5/php5.y:2827 { + yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 384: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2751 + //line php5/php5.y:2833 { + yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2752 + //line php5/php5.y:2839 { + yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2753 + //line php5/php5.y:2845 { + yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2754 + //line php5/php5.y:2851 { + yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2755 + //line php5/php5.y:2857 { + yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2756 + //line php5/php5.y:2863 { + yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2757 + //line php5/php5.y:2869 { + yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2758 + //line php5/php5.y:2875 { + yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2759 + //line php5/php5.y:2881 { + yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2760 + //line php5/php5.y:2887 { + yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2761 + //line php5/php5.y:2893 { + yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2762 + //line php5/php5.y:2899 { + yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2763 + //line php5/php5.y:2905 { + yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2764 + //line php5/php5.y:2911 { + yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2765 + //line php5/php5.y:2917 { + yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2766 + //line php5/php5.y:2923 { + yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2767 + //line php5/php5.y:2929 { + yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2768 + //line php5/php5.y:2935 { + yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2769 + //line php5/php5.y:2941 { + yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 403: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2770 + //line php5/php5.y:2947 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 404: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2771 + //line php5/php5.y:2953 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 405: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2772 + //line php5/php5.y:2959 { + yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 406: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2773 + //line php5/php5.y:2965 { + yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2774 + //line php5/php5.y:2971 { + yyVAL.node = yyDollar[2].node } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2779 + //line php5/php5.y:2976 { yyVAL.node = yyDollar[1].node } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2781 + //line php5/php5.y:2978 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5607,7 +5727,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2787 + //line php5/php5.y:2984 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5615,7 +5735,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2793 + //line php5/php5.y:2990 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5623,7 +5743,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2802 + //line php5/php5.y:2999 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5635,25 +5755,25 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2812 + //line php5/php5.y:3009 { yyVAL.node = yyDollar[1].node } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2814 + //line php5/php5.y:3011 { yyVAL.node = yyDollar[1].node } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2816 + //line php5/php5.y:3013 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2818 + //line php5/php5.y:3015 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5661,7 +5781,7 @@ yydefault: } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2824 + //line php5/php5.y:3021 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5669,7 +5789,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2830 + //line php5/php5.y:3027 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5677,79 +5797,101 @@ yydefault: } case 419: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2838 + //line php5/php5.y:3036 { + yyVAL.list = nil } case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2839 + //line php5/php5.y:3038 { + yyVAL.list = yyDollar[1].list } case 423: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2848 + //line php5/php5.y:3048 { + arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) + comments.AddComments(arrayItem, comments[yyDollar[3].node]) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2849 + //line php5/php5.y:3056 { + arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) + comments.AddComments(arrayItem, comments[yyDollar[3].node]) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2850 + //line php5/php5.y:3064 { + arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(arrayItem, comments[yyDollar[1].node]) + + yyVAL.list = []node.Node{arrayItem} } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2851 + //line php5/php5.y:3072 { + arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(arrayItem, comments[yyDollar[1].node]) + + yyVAL.list = []node.Node{arrayItem} } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2856 + //line php5/php5.y:3083 { yyVAL.node = yyDollar[1].node } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2858 + //line php5/php5.y:3085 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2863 + //line php5/php5.y:3090 { yyVAL.node = yyDollar[2].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2865 + //line php5/php5.y:3092 { yyVAL.node = yyDollar[2].node } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2871 + //line php5/php5.y:3098 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2879 + //line php5/php5.y:3104 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2886 + //line php5/php5.y:3109 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2893 + //line php5/php5.y:3114 { yyVAL.node = yyDollar[1].node @@ -5804,25 +5946,25 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2946 + //line php5/php5.y:3167 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2951 + //line php5/php5.y:3172 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 437: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2953 + //line php5/php5.y:3174 { yyVAL.list = []node.Node{} } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2959 + //line php5/php5.y:3180 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -5833,7 +5975,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2971 + //line php5/php5.y:3192 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5842,7 +5984,7 @@ yydefault: } case 440: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2978 + //line php5/php5.y:3199 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5851,38 +5993,38 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2988 + //line php5/php5.y:3209 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken)) } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2996 + //line php5/php5.y:3217 { yyVAL.list = []node.Node{yyDollar[1].node} } case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2998 + //line php5/php5.y:3219 { yyVAL.list = yyDollar[1].list } case 444: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3000 + //line php5/php5.y:3221 { yyVAL.list = nil } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3005 + //line php5/php5.y:3226 { yyVAL.node = yyDollar[1].node } case 446: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3007 + //line php5/php5.y:3228 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5894,7 +6036,7 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3020 + //line php5/php5.y:3241 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5902,7 +6044,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3026 + //line php5/php5.y:3247 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5910,47 +6052,53 @@ yydefault: } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3036 + //line php5/php5.y:3257 { yyVAL.node = yyDollar[1].node } case 450: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3041 + //line php5/php5.y:3262 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 451: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3043 + //line php5/php5.y:3268 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3047 + //line php5/php5.y:3276 { yyVAL.node = yyDollar[1].node } case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3048 + //line php5/php5.y:3277 { yyVAL.node = yyDollar[1].node } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3049 + //line php5/php5.y:3278 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3055 + //line php5/php5.y:3284 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3057 + //line php5/php5.y:3286 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5962,13 +6110,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3067 + //line php5/php5.y:3296 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3072 + //line php5/php5.y:3301 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5976,7 +6124,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3078 + //line php5/php5.y:3307 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5984,13 +6132,13 @@ yydefault: } case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3084 + //line php5/php5.y:3313 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3090 + //line php5/php5.y:3319 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6002,7 +6150,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3100 + //line php5/php5.y:3329 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6010,25 +6158,25 @@ yydefault: } case 463: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3108 + //line php5/php5.y:3338 { yyVAL.node = nil } case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3109 + //line php5/php5.y:3340 { yyVAL.node = yyDollar[1].node } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3115 + //line php5/php5.y:3346 { yyVAL.list = yyDollar[1].list } case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3117 + //line php5/php5.y:3348 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6037,7 +6185,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3127 + //line php5/php5.y:3358 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6046,7 +6194,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3134 + //line php5/php5.y:3365 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6055,7 +6203,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3141 + //line php5/php5.y:3372 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6064,7 +6212,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3151 + //line php5/php5.y:3382 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6072,13 +6220,13 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3157 + //line php5/php5.y:3388 { yyVAL.node = yyDollar[2].node } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3162 + //line php5/php5.y:3393 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6088,7 +6236,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3170 + //line php5/php5.y:3401 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6102,25 +6250,25 @@ yydefault: } case 474: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3185 + //line php5/php5.y:3416 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3187 + //line php5/php5.y:3418 { yyVAL.list = []node.Node{yyDollar[1].node} } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3193 + //line php5/php5.y:3424 { yyVAL.node = yyDollar[1].node } case 477: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3195 + //line php5/php5.y:3426 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6128,25 +6276,25 @@ yydefault: } case 478: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3201 + //line php5/php5.y:3432 { yyVAL.node = nil } case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3207 + //line php5/php5.y:3438 { yyVAL.list = nil } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3209 + //line php5/php5.y:3440 { yyVAL.list = yyDollar[1].list } case 481: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3214 + //line php5/php5.y:3445 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -6156,7 +6304,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3222 + //line php5/php5.y:3453 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6166,7 +6314,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3230 + //line php5/php5.y:3461 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6176,7 +6324,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3238 + //line php5/php5.y:3469 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6186,7 +6334,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3246 + //line php5/php5.y:3477 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -6196,7 +6344,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3254 + //line php5/php5.y:3485 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -6206,7 +6354,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3262 + //line php5/php5.y:3493 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -6216,7 +6364,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3270 + //line php5/php5.y:3501 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6226,13 +6374,13 @@ yydefault: } case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3281 + //line php5/php5.y:3512 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3283 + //line php5/php5.y:3514 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6241,13 +6389,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3290 + //line php5/php5.y:3521 { yyVAL.list = []node.Node{yyDollar[1].node} } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3292 + //line php5/php5.y:3523 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6256,7 +6404,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3302 + //line php5/php5.y:3533 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6268,7 +6416,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3312 + //line php5/php5.y:3543 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6283,7 +6431,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3325 + //line php5/php5.y:3556 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6301,7 +6449,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3341 + //line php5/php5.y:3572 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -6309,7 +6457,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3347 + //line php5/php5.y:3578 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6324,13 +6472,13 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3361 + //line php5/php5.y:3592 { yyVAL.node = yyDollar[2].node } case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3366 + //line php5/php5.y:3597 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6338,7 +6486,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3372 + //line php5/php5.y:3603 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6352,7 +6500,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3384 + //line php5/php5.y:3615 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6364,7 +6512,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3397 + //line php5/php5.y:3628 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6372,7 +6520,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3403 + //line php5/php5.y:3634 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6380,7 +6528,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3409 + //line php5/php5.y:3640 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6388,7 +6536,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3415 + //line php5/php5.y:3646 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6396,7 +6544,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3421 + //line php5/php5.y:3652 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6404,7 +6552,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3427 + //line php5/php5.y:3658 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6412,7 +6560,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3433 + //line php5/php5.y:3664 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6420,7 +6568,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3439 + //line php5/php5.y:3670 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6428,31 +6576,31 @@ yydefault: } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3448 + //line php5/php5.y:3679 { yyVAL.list = []node.Node{yyDollar[1].node} } case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3450 + //line php5/php5.y:3681 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3454 + //line php5/php5.y:3686 { yyVAL.node = yyDollar[1].node } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3455 + //line php5/php5.y:3688 { yyVAL.node = yyDollar[1].node } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3460 + //line php5/php5.y:3693 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6464,7 +6612,7 @@ yydefault: } case 515: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3470 + //line php5/php5.y:3703 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6476,7 +6624,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3483 + //line php5/php5.y:3716 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6488,7 +6636,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3496 + //line php5/php5.y:3729 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 54867c8..746a2fa 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -209,6 +209,7 @@ import ( %type optional_class_type parameter class_entry_type extends_from class_statement class_constant_declaration %type trait_use_statement function_call_parameter trait_adaptation_statement trait_precedence trait_alias %type trait_method_reference_fully_qualified trait_method_reference trait_modifiers member_modifier method +%type static_scalar_value static_operation %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -217,7 +218,7 @@ import ( %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list %type interface_list non_empty_function_call_parameter_list trait_list trait_adaptation_list non_empty_trait_adaptation_list -%type trait_reference_list non_empty_member_modifiers backticks_expr +%type trait_reference_list non_empty_member_modifiers backticks_expr static_array_pair_list non_empty_static_array_pair_list %type chaining_dereference chaining_instance_call chaining_method_or_property instance_call variable_property %type method_or_not array_method_dereference object_property object_dim_list dynamic_class_name_variable_property @@ -2722,57 +2723,253 @@ static_class_constant: } ; -static_scalar: /* compile-time evaluated scalars */ - static_scalar_value { } +static_scalar: + static_scalar_value + { $$ = $1 } ; static_scalar_value: - common_scalar { } - | static_class_name_scalar { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } - | T_ARRAY '(' static_array_pair_list ')' { } - | '[' static_array_pair_list ']' { } - | static_class_constant { } - | T_CLASS_C { } - | static_operation { } + common_scalar + { $$ = $1 } + | static_class_name_scalar + { $$ = $1 } + | namespace_name + { + $$ = name.NewName($1) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NAMESPACE T_NS_SEPARATOR namespace_name + { + $$ = name.NewRelative($3) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_SEPARATOR namespace_name + { + $$ = name.NewFullyQualified($2) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_ARRAY '(' static_array_pair_list ')' + { + $$ = expr.NewArray($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | '[' static_array_pair_list ']' + { + $$ = expr.NewShortArray($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | static_class_constant + { $$ = $1 } + | T_CLASS_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | static_operation + { $$ = $1 } ; static_operation: - static_scalar_value '[' static_scalar_value ']' { } - | static_scalar_value '+' static_scalar_value { } - | static_scalar_value '-' static_scalar_value { } - | static_scalar_value '*' static_scalar_value { } - | static_scalar_value T_POW static_scalar_value { } - | static_scalar_value '/' static_scalar_value { } - | static_scalar_value '%' static_scalar_value { } - | '!' static_scalar_value { } - | '~' static_scalar_value { } - | static_scalar_value '|' static_scalar_value { } - | static_scalar_value '&' static_scalar_value { } - | static_scalar_value '^' static_scalar_value { } - | static_scalar_value T_SL static_scalar_value { } - | static_scalar_value T_SR static_scalar_value { } - | static_scalar_value '.' static_scalar_value { } - | static_scalar_value T_LOGICAL_XOR static_scalar_value { } - | static_scalar_value T_LOGICAL_AND static_scalar_value { } - | static_scalar_value T_LOGICAL_OR static_scalar_value { } - | static_scalar_value T_BOOLEAN_AND static_scalar_value { } - | static_scalar_value T_BOOLEAN_OR static_scalar_value { } - | static_scalar_value T_IS_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_EQUAL static_scalar_value { } - | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { } - | static_scalar_value '<' static_scalar_value { } - | static_scalar_value '>' static_scalar_value { } - | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { } - | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { } - | static_scalar_value '?' ':' static_scalar_value { } - | static_scalar_value '?' static_scalar_value ':' static_scalar_value { } - | '+' static_scalar_value { } - | '-' static_scalar_value { } - | '(' static_scalar_value ')' { } + static_scalar_value '[' static_scalar_value ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '+' static_scalar_value + { + $$ = binary_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '-' static_scalar_value + { + $$ = binary_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '*' static_scalar_value + { + $$ = binary_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_POW static_scalar_value + { + $$ = binary_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '/' static_scalar_value + { + $$ = binary_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '%' static_scalar_value + { + $$ = binary_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | '!' static_scalar_value + { + $$ = expr.NewBooleanNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '~' static_scalar_value + { + $$ = expr.NewBitwiseNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | static_scalar_value '|' static_scalar_value + { + $$ = binary_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '&' static_scalar_value + { + $$ = binary_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '^' static_scalar_value + { + $$ = binary_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_SL static_scalar_value + { + $$ = binary_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_SR static_scalar_value + { + $$ = binary_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '.' static_scalar_value + { + $$ = binary_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_LOGICAL_XOR static_scalar_value + { + $$ = binary_op.NewLogicalXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_LOGICAL_AND static_scalar_value + { + $$ = binary_op.NewLogicalAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_LOGICAL_OR static_scalar_value + { + $$ = binary_op.NewLogicalOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_BOOLEAN_AND static_scalar_value + { + $$ = binary_op.NewBooleanAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_BOOLEAN_OR static_scalar_value + { + $$ = binary_op.NewBooleanOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_IDENTICAL static_scalar_value + { + $$ = binary_op.NewIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value + { + $$ = binary_op.NewNotIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_EQUAL static_scalar_value + { + $$ = binary_op.NewEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_NOT_EQUAL static_scalar_value + { + $$ = binary_op.NewNotEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '<' static_scalar_value + { + $$ = binary_op.NewSmaller($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '>' static_scalar_value + { + $$ = binary_op.NewGreater($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value + { + $$ = binary_op.NewSmallerOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value + { + $$ = binary_op.NewGreaterOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '?' ':' static_scalar_value + { + $$ = expr.NewTernary($1, nil, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '?' static_scalar_value ':' static_scalar_value + { + $$ = expr.NewTernary($1, $3, $5) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $5)) + comments.AddComments($$, comments[$1]) + } + | '+' static_scalar_value + { + $$ = expr.NewUnaryPlus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '-' static_scalar_value + { + $$ = expr.NewUnaryMinus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '(' static_scalar_value ')' + { $$ = $2 } ; general_constant: @@ -2836,8 +3033,10 @@ scalar: ; static_array_pair_list: - /* empty */ { } - | non_empty_static_array_pair_list possible_comma { } + /* empty */ + { $$ = nil } + | non_empty_static_array_pair_list possible_comma + { $$ = $1 } ; possible_comma: @@ -2846,10 +3045,38 @@ possible_comma: ; non_empty_static_array_pair_list: - non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | non_empty_static_array_pair_list ',' static_scalar_value { } - | static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | static_scalar_value { } + non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value + { + arrayItem := expr.NewArrayItem($3, $5, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($3, $5)) + comments.AddComments(arrayItem, comments[$3]) + + $$ = append($1, arrayItem) + } + | non_empty_static_array_pair_list ',' static_scalar_value + { + arrayItem := expr.NewArrayItem(nil, $3, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition($3)) + comments.AddComments(arrayItem, comments[$3]) + + $$ = append($1, arrayItem) + } + | static_scalar_value T_DOUBLE_ARROW static_scalar_value + { + arrayItem := expr.NewArrayItem($1, $3, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments(arrayItem, comments[$1]) + + $$ = []node.Node{arrayItem} + } + | static_scalar_value + { + arrayItem := expr.NewArrayItem(nil, $1, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition($1)) + comments.AddComments(arrayItem, comments[$1]) + + $$ = []node.Node{arrayItem} + } ; expr: @@ -2869,24 +3096,18 @@ parenthesis_expr: r_variable: variable - { - $$ = $1 - } + { $$ = $1 } ; w_variable: variable - { - $$ = $1 - } + { $$ = $1 } ; rw_variable: variable - { - $$ = $1 - } + { $$ = $1 } ; variable: @@ -3039,9 +3260,17 @@ variable_class_name: array_function_dereference: array_function_dereference '[' dim_offset ']' - { } + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } | function_call '[' dim_offset ']' - { } + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } ; base_variable_with_function_calls: @@ -3106,8 +3335,10 @@ compound_variable: ; dim_offset: - /* empty */ { $$ = nil } - | expr { $$ = $1 } + /* empty */ + { $$ = nil } + | expr + { $$ = $1 } ; @@ -3452,8 +3683,10 @@ isset_variables: ; isset_variable: - variable { $$ = $1 } - | expr_without_variable { $$ = $1 } + variable + { $$ = $1 } + | expr_without_variable + { $$ = $1 } ; class_constant: From fb21f2dca544618c93c68f393b8800981544ad87 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 21:35:46 +0200 Subject: [PATCH 29/31] update README.md --- README.md | 11 +++++++---- main.go | 3 ++- dumper.go => visitor/dumper.go | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) rename dumper.go => visitor/dumper.go (98%) diff --git a/README.md b/README.md index ebbcfd2..d1aaecb 100644 --- a/README.md +++ b/README.md @@ -25,18 +25,21 @@ package main import ( "bytes" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php5" "github.com/z7zmey/php-parser/visitor" ) func main() { src := bytes.NewBufferString(` Date: Sun, 4 Feb 2018 21:44:58 +0200 Subject: [PATCH 30/31] fix tests --- node/name/name_test.go | 8 ++++---- node/node_test.go | 8 ++++---- node/scalar/encapsed_test.go | 12 ++++++------ node/scalar/magic_constant_test.go | 4 ++-- node/scalar/numbers_test.go | 16 ++++++++-------- node/scalar/string_test.go | 18 +++++++++--------- node/stmt/alt_if_test.go | 10 +++++----- node/visitor_test.go | 2 +- 8 files changed, 39 insertions(+), 39 deletions(-) diff --git a/node/name/name_test.go b/node/name/name_test.go index 918103b..b76fb1b 100644 --- a/node/name/name_test.go +++ b/node/name/name_test.go @@ -12,7 +12,7 @@ import ( "github.com/kylelemons/godebug/pretty" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php7" ) func assertEqual(t *testing.T, expected interface{}, actual interface{}) { @@ -44,7 +44,7 @@ func TestName(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -65,7 +65,7 @@ func TestFullyQualified(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -86,7 +86,7 @@ func TestRelative(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } diff --git a/node/node_test.go b/node/node_test.go index 5733db5..c992956 100644 --- a/node/node_test.go +++ b/node/node_test.go @@ -12,7 +12,7 @@ import ( "github.com/kylelemons/godebug/pretty" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php7" ) func assertEqual(t *testing.T, expected interface{}, actual interface{}) { @@ -41,7 +41,7 @@ func TestIdentifier(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -132,7 +132,7 @@ func TestArgumentNode(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -198,7 +198,7 @@ func TestParameterNode(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } diff --git a/node/scalar/encapsed_test.go b/node/scalar/encapsed_test.go index 5b38718..19ceac7 100644 --- a/node/scalar/encapsed_test.go +++ b/node/scalar/encapsed_test.go @@ -10,7 +10,7 @@ import ( "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php7" ) func TestSimpleVar(t *testing.T) { @@ -29,7 +29,7 @@ func TestSimpleVar(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -56,7 +56,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -79,7 +79,7 @@ func TestDollarOpenCurlyBraces(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -105,7 +105,7 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -131,7 +131,7 @@ func TestCurlyOpenMethodCall(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) diff --git a/node/scalar/magic_constant_test.go b/node/scalar/magic_constant_test.go index f466e32..e6b9b82 100644 --- a/node/scalar/magic_constant_test.go +++ b/node/scalar/magic_constant_test.go @@ -8,7 +8,7 @@ import ( "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php7" ) func TestMagicConstant(t *testing.T) { @@ -22,7 +22,7 @@ func TestMagicConstant(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) diff --git a/node/scalar/numbers_test.go b/node/scalar/numbers_test.go index e74e41e..27b0cb7 100644 --- a/node/scalar/numbers_test.go +++ b/node/scalar/numbers_test.go @@ -9,7 +9,7 @@ import ( "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php7" ) func assertEqual(t *testing.T, expected interface{}, actual interface{}) { @@ -36,7 +36,7 @@ func TestLNumber(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -52,7 +52,7 @@ func TestDNumber(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -68,7 +68,7 @@ func TestFloat(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -84,7 +84,7 @@ func TestBinaryLNumber(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -100,7 +100,7 @@ func TestBinaryDNumber(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -116,7 +116,7 @@ func TestHLNumber(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -132,7 +132,7 @@ func TestHDNumber(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } diff --git a/node/scalar/string_test.go b/node/scalar/string_test.go index 0470a8a..42a3449 100644 --- a/node/scalar/string_test.go +++ b/node/scalar/string_test.go @@ -8,7 +8,7 @@ import ( "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/scalar" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php7" ) func TestDoubleQuotedScalarString(t *testing.T) { @@ -22,7 +22,7 @@ func TestDoubleQuotedScalarString(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -39,7 +39,7 @@ func TestDoubleQuotedScalarStringWithEscapedVar(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -59,7 +59,7 @@ func TestMultilineDoubleQuotedScalarString(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -77,7 +77,7 @@ func TestSingleQuotedScalarString(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -97,7 +97,7 @@ func TestMultilineSingleQuotedScalarString(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -118,7 +118,7 @@ CAD; }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -139,7 +139,7 @@ CAD; }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) @@ -160,7 +160,7 @@ CAD; }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") if diff := pretty.Compare(expected, actual); diff != "" { t.Errorf("diff: (-expected +actual)\n%s", diff) diff --git a/node/stmt/alt_if_test.go b/node/stmt/alt_if_test.go index d494548..e967b95 100644 --- a/node/stmt/alt_if_test.go +++ b/node/stmt/alt_if_test.go @@ -10,7 +10,7 @@ import ( "github.com/kylelemons/godebug/pretty" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/stmt" - "github.com/z7zmey/php-parser/parser" + "github.com/z7zmey/php-parser/php7" ) func assertEqual(t *testing.T, expected interface{}, actual interface{}) { @@ -41,7 +41,7 @@ func TestAltIf(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -68,7 +68,7 @@ func TestAltElseIf(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -92,7 +92,7 @@ func TestAltElse(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } @@ -128,7 +128,7 @@ func TestAltElseElseIf(t *testing.T) { }, } - actual, _, _ := parser.ParsePhp7(bytes.NewBufferString(src), "test.php") + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } diff --git a/node/visitor_test.go b/node/visitor_test.go index b7f38a7..a8c3ac4 100644 --- a/node/visitor_test.go +++ b/node/visitor_test.go @@ -31,7 +31,7 @@ var nodesToTest = []struct { { &node.Argument{Variadic: true, Expr: &expr.Variable{VarName: &node.Identifier{Value: "foo"}}}, []string{"Expr"}, - map[string]interface{}{"Variadic": true}, + map[string]interface{}{"IsReference": false, "Variadic": true}, }, { &node.Parameter{ From 3eb29f456a420961764a422f69fb6875a550f845 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 4 Feb 2018 21:47:12 +0200 Subject: [PATCH 31/31] update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d1aaecb..9bb31ef 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ A Parser for PHP written in Go inspired by [Nikic PHP Parser](https://github.com/nikic/PHP-Parser) ## Features: -- Fully support PHP7 syntax (PHP5 in future) +- Fully support PHP5 and PHP7 syntax - Abstract syntax tree representation - Traversing AST @@ -50,10 +50,10 @@ func main() { - [x] AST dumper - [x] node position - [x] handling comments +- [x] PHP 5 syntax analyzer - [ ] Tests - [ ] Error handling - [ ] Stabilize api - [ ] Documentation -- [ ] PHP 5 syntax analyzer -- [ ] Code flow graph - [ ] Pretty printer +- [ ] Code flow graph