const yyErrCode = 2
const yyMaxDepth = 200
-//line go.y:2243
+//line go.y:2304
func fixlbrace(lbr int) {
// If the opening brace was an LBODY,
// set up for another one now that we're done.
0,
}
+var yyErrorMessages = [...]struct {
+ state int
+ token int
+ msg string
+}{
+ {332, 76, "unexpected comma during import block"},
+ {89, 63, "missing import path; require quoted string"},
+ {390, 63, "missing { after if clause"},
+ {387, 63, "missing { after switch clause"},
+ {279, 63, "missing { after for clause"},
+ {498, 36, "missing { after for clause"},
+ {17, 68, "unexpected semicolon or newline before {"},
+ {111, 63, "unexpected semicolon or newline in type declaration"},
+ {78, 69, "unexpected } in channel type"},
+ {78, 61, "unexpected ) in channel type"},
+ {78, 76, "unexpected comma in channel type"},
+ {416, 15, "unexpected semicolon or newline before else"},
+ {329, 76, "name list not allowed in interface type"},
+ {279, 33, "var declaration not allowed in for initializer"},
+ {25, 68, "unexpected { at end of statement"},
+ {371, 68, "unexpected { at end of statement"},
+ {122, 63, "argument to go/defer must be function call"},
+ {398, 63, "need trailing comma before newline in composite literal"},
+ {414, 63, "need trailing comma before newline in composite literal"},
+ {124, 25, "nested func not allowed"},
+ {650, 63, "else must be followed by if or statement block"},
+}
+
//line yaccpar:1
/* parser for yacc output */
type yyParserImpl struct {
lookahead func() int
- state func() int
}
func (p *yyParserImpl) Lookahead() int {
func yyNewParser() yyParser {
p := &yyParserImpl{
lookahead: func() int { return -1 },
- state: func() int { return -1 },
}
return p
}
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.
yystate := 0
yychar := -1
yytoken := -1 // yychar translated into internal numbering
- yyrcvr.state = func() int { return yystate }
yyrcvr.lookahead = func() int { return yychar }
defer func() {
// Make sure we report no lookahead when not parsing.
case 1:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:128
+ //line go.y:189
{
xtop = concat(xtop, yyDollar[4].list)
}
case 2:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:134
+ //line go.y:195
{
prevlineno = lineno
Yyerror("package statement must be first")
}
case 3:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:140
+ //line go.y:201
{
mkpackage(yyDollar[2].sym.Name)
}
case 4:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:150
+ //line go.y:211
{
importpkg = Runtimepkg
}
case 5:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:162
+ //line go.y:223
{
importpkg = nil
}
case 11:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:176
+ //line go.y:237
{
ipkg := importpkg
my := importmyname
}
case 12:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:211
+ //line go.y:272
{
// When an invalid import path is passed to importfile,
// it calls Yyerror and then sets up a fake import with
}
case 15:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:227
+ //line go.y:288
{
// import with original name
yyVAL.i = parserline()
}
case 16:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:234
+ //line go.y:295
{
// import with given name
yyVAL.i = parserline()
}
case 17:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:241
+ //line go.y:302
{
// import into my name space
yyVAL.i = parserline()
}
case 18:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:250
+ //line go.y:311
{
if importpkg.Name == "" {
importpkg.Name = yyDollar[2].sym.Name
}
case 20:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:267
+ //line go.y:328
{
if yyDollar[1].sym.Name == "safe" {
curio.importsafe = true
}
case 21:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:274
+ //line go.y:335
{
defercheckwidth()
}
case 22:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:278
+ //line go.y:339
{
resumecheckwidth()
unimportfile()
}
case 23:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:287
+ //line go.y:348
{
Yyerror("empty top-level declaration")
yyVAL.list = nil
}
case 25:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:293
+ //line go.y:354
{
yyVAL.list = list1(yyDollar[1].node)
}
case 26:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:297
+ //line go.y:358
{
Yyerror("non-declaration statement outside function body")
yyVAL.list = nil
}
case 27:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:302
+ //line go.y:363
{
yyVAL.list = nil
}
case 28:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:308
+ //line go.y:369
{
yyVAL.list = yyDollar[2].list
}
case 29:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:312
+ //line go.y:373
{
yyVAL.list = yyDollar[3].list
}
case 30:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:316
+ //line go.y:377
{
yyVAL.list = nil
}
case 31:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:320
+ //line go.y:381
{
yyVAL.list = yyDollar[2].list
iota_ = -100000
}
case 32:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:326
+ //line go.y:387
{
yyVAL.list = yyDollar[3].list
iota_ = -100000
}
case 33:
yyDollar = yyS[yypt-7 : yypt+1]
- //line go.y:332
+ //line go.y:393
{
yyVAL.list = concat(yyDollar[3].list, yyDollar[5].list)
iota_ = -100000
}
case 34:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:338
+ //line go.y:399
{
yyVAL.list = nil
iota_ = -100000
}
case 35:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:343
+ //line go.y:404
{
yyVAL.list = list1(yyDollar[2].node)
}
case 36:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:347
+ //line go.y:408
{
yyVAL.list = yyDollar[3].list
}
case 37:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:351
+ //line go.y:412
{
yyVAL.list = nil
}
case 38:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:357
+ //line go.y:418
{
iota_ = 0
}
case 39:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:363
+ //line go.y:424
{
yyVAL.list = variter(yyDollar[1].list, yyDollar[2].node, nil)
}
case 40:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:367
+ //line go.y:428
{
yyVAL.list = variter(yyDollar[1].list, yyDollar[2].node, yyDollar[4].list)
}
case 41:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:371
+ //line go.y:432
{
yyVAL.list = variter(yyDollar[1].list, nil, yyDollar[3].list)
}
case 42:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:377
+ //line go.y:438
{
yyVAL.list = constiter(yyDollar[1].list, yyDollar[2].node, yyDollar[4].list)
}
case 43:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:381
+ //line go.y:442
{
yyVAL.list = constiter(yyDollar[1].list, nil, yyDollar[3].list)
}
case 45:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:388
+ //line go.y:449
{
yyVAL.list = constiter(yyDollar[1].list, yyDollar[2].node, nil)
}
case 46:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:392
+ //line go.y:453
{
yyVAL.list = constiter(yyDollar[1].list, nil, nil)
}
case 47:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:398
+ //line go.y:459
{
// different from dclname because the name
// becomes visible right here, not at the end
}
case 48:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:407
+ //line go.y:468
{
yyVAL.node = typedcl1(yyDollar[1].node, yyDollar[2].node, true)
}
case 49:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:413
+ //line go.y:474
{
yyVAL.node = yyDollar[1].node
}
case 50:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:427
+ //line go.y:488
{
yyVAL.node = Nod(OASOP, yyDollar[1].node, yyDollar[3].node)
yyVAL.node.Etype = uint8(yyDollar[2].i) // rathole to pass opcode
}
case 51:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:432
+ //line go.y:493
{
if yyDollar[1].list.Next == nil && yyDollar[3].list.Next == nil {
// simple
}
case 52:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:444
+ //line go.y:505
{
if yyDollar[3].list.N.Op == OTYPESW {
yyVAL.node = Nod(OTYPESW, nil, yyDollar[3].list.N.Right)
}
case 53:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:462
+ //line go.y:523
{
yyVAL.node = Nod(OASOP, yyDollar[1].node, Nodintconst(1))
yyVAL.node.Implicit = true
}
case 54:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:468
+ //line go.y:529
{
yyVAL.node = Nod(OASOP, yyDollar[1].node, Nodintconst(1))
yyVAL.node.Implicit = true
}
case 55:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:476
+ //line go.y:537
{
var n, nn *Node
}
case 56:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:499
+ //line go.y:560
{
var n *Node
}
case 57:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:517
+ //line go.y:578
{
// will be converted to OCASE
// right will point to next case
}
case 58:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:526
+ //line go.y:587
{
var n, nn *Node
}
case 59:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:547
+ //line go.y:608
{
markdcl()
}
case 60:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:551
+ //line go.y:612
{
if yyDollar[3].list == nil {
yyVAL.node = Nod(OEMPTY, nil, nil)
}
case 61:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:562
+ //line go.y:623
{
// If the last token read by the lexer was consumed
// as part of the case, clear it (parser has cleared yychar).
}
case 62:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:573
+ //line go.y:634
{
// This is the only place in the language where a statement
// list is not allowed to drop the final semicolon, because
}
case 63:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:592
+ //line go.y:653
{
yyVAL.list = nil
}
case 64:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:596
+ //line go.y:657
{
yyVAL.list = list(yyDollar[1].list, yyDollar[2].node)
}
case 65:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:602
+ //line go.y:663
{
markdcl()
}
case 66:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:606
+ //line go.y:667
{
yyVAL.list = yyDollar[3].list
popdcl()
}
case 67:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:613
+ //line go.y:674
{
yyVAL.node = Nod(ORANGE, nil, yyDollar[4].node)
yyVAL.node.List = yyDollar[1].list
}
case 68:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:619
+ //line go.y:680
{
yyVAL.node = Nod(ORANGE, nil, yyDollar[4].node)
yyVAL.node.List = yyDollar[1].list
}
case 69:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:626
+ //line go.y:687
{
yyVAL.node = Nod(ORANGE, nil, yyDollar[2].node)
yyVAL.node.Etype = 0 // := flag
}
case 70:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:633
+ //line go.y:694
{
// init ; test ; incr
if yyDollar[5].node != nil && yyDollar[5].node.Colas {
}
case 71:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:646
+ //line go.y:707
{
// normal test
yyVAL.node = Nod(OFOR, nil, nil)
}
case 73:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:655
+ //line go.y:716
{
yyVAL.node = yyDollar[1].node
yyVAL.node.Nbody = concat(yyVAL.node.Nbody, yyDollar[2].list)
}
case 74:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:662
+ //line go.y:723
{
markdcl()
}
case 75:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:666
+ //line go.y:727
{
yyVAL.node = yyDollar[3].node
popdcl()
}
case 76:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:673
+ //line go.y:734
{
// test
yyVAL.node = Nod(OIF, nil, nil)
}
case 77:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:679
+ //line go.y:740
{
// init ; test
yyVAL.node = Nod(OIF, nil, nil)
}
case 78:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:691
+ //line go.y:752
{
markdcl()
}
case 79:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:695
+ //line go.y:756
{
if yyDollar[3].node.Ntest == nil {
Yyerror("missing condition in if statement")
}
case 80:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:701
+ //line go.y:762
{
yyDollar[3].node.Nbody = yyDollar[5].list
}
case 81:
yyDollar = yyS[yypt-8 : yypt+1]
- //line go.y:705
+ //line go.y:766
{
var n *Node
var nn *NodeList
}
case 82:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:723
+ //line go.y:784
{
markdcl()
}
case 83:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:727
+ //line go.y:788
{
if yyDollar[4].node.Ntest == nil {
Yyerror("missing condition in if statement")
}
case 84:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:736
+ //line go.y:797
{
yyVAL.list = nil
}
case 85:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:740
+ //line go.y:801
{
yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list)
}
case 86:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:745
+ //line go.y:806
{
yyVAL.list = nil
}
case 87:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:749
+ //line go.y:810
{
l := &NodeList{N: yyDollar[2].node}
l.End = l
}
case 88:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:757
+ //line go.y:818
{
markdcl()
}
case 89:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:761
+ //line go.y:822
{
var n *Node
n = yyDollar[3].node.Ntest
}
case 90:
yyDollar = yyS[yypt-7 : yypt+1]
- //line go.y:770
+ //line go.y:831
{
yyVAL.node = yyDollar[3].node
yyVAL.node.Op = OSWITCH
}
case 91:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:780
+ //line go.y:841
{
typesw = Nod(OXXX, typesw, nil)
}
case 92:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:784
+ //line go.y:845
{
yyVAL.node = Nod(OSELECT, nil, nil)
yyVAL.node.Lineno = typesw.Lineno
}
case 94:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:797
+ //line go.y:858
{
yyVAL.node = Nod(OOROR, yyDollar[1].node, yyDollar[3].node)
}
case 95:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:801
+ //line go.y:862
{
yyVAL.node = Nod(OANDAND, yyDollar[1].node, yyDollar[3].node)
}
case 96:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:805
+ //line go.y:866
{
yyVAL.node = Nod(OEQ, yyDollar[1].node, yyDollar[3].node)
}
case 97:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:809
+ //line go.y:870
{
yyVAL.node = Nod(ONE, yyDollar[1].node, yyDollar[3].node)
}
case 98:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:813
+ //line go.y:874
{
yyVAL.node = Nod(OLT, yyDollar[1].node, yyDollar[3].node)
}
case 99:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:817
+ //line go.y:878
{
yyVAL.node = Nod(OLE, yyDollar[1].node, yyDollar[3].node)
}
case 100:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:821
+ //line go.y:882
{
yyVAL.node = Nod(OGE, yyDollar[1].node, yyDollar[3].node)
}
case 101:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:825
+ //line go.y:886
{
yyVAL.node = Nod(OGT, yyDollar[1].node, yyDollar[3].node)
}
case 102:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:829
+ //line go.y:890
{
yyVAL.node = Nod(OADD, yyDollar[1].node, yyDollar[3].node)
}
case 103:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:833
+ //line go.y:894
{
yyVAL.node = Nod(OSUB, yyDollar[1].node, yyDollar[3].node)
}
case 104:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:837
+ //line go.y:898
{
yyVAL.node = Nod(OOR, yyDollar[1].node, yyDollar[3].node)
}
case 105:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:841
+ //line go.y:902
{
yyVAL.node = Nod(OXOR, yyDollar[1].node, yyDollar[3].node)
}
case 106:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:845
+ //line go.y:906
{
yyVAL.node = Nod(OMUL, yyDollar[1].node, yyDollar[3].node)
}
case 107:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:849
+ //line go.y:910
{
yyVAL.node = Nod(ODIV, yyDollar[1].node, yyDollar[3].node)
}
case 108:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:853
+ //line go.y:914
{
yyVAL.node = Nod(OMOD, yyDollar[1].node, yyDollar[3].node)
}
case 109:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:857
+ //line go.y:918
{
yyVAL.node = Nod(OAND, yyDollar[1].node, yyDollar[3].node)
}
case 110:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:861
+ //line go.y:922
{
yyVAL.node = Nod(OANDNOT, yyDollar[1].node, yyDollar[3].node)
}
case 111:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:865
+ //line go.y:926
{
yyVAL.node = Nod(OLSH, yyDollar[1].node, yyDollar[3].node)
}
case 112:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:869
+ //line go.y:930
{
yyVAL.node = Nod(ORSH, yyDollar[1].node, yyDollar[3].node)
}
case 113:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:874
+ //line go.y:935
{
yyVAL.node = Nod(OSEND, yyDollar[1].node, yyDollar[3].node)
}
case 115:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:881
+ //line go.y:942
{
yyVAL.node = Nod(OIND, yyDollar[2].node, nil)
}
case 116:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:885
+ //line go.y:946
{
if yyDollar[2].node.Op == OCOMPLIT {
// Special case for &T{...}: turn into (*T){...}.
}
case 117:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:896
+ //line go.y:957
{
yyVAL.node = Nod(OPLUS, yyDollar[2].node, nil)
}
case 118:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:900
+ //line go.y:961
{
yyVAL.node = Nod(OMINUS, yyDollar[2].node, nil)
}
case 119:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:904
+ //line go.y:965
{
yyVAL.node = Nod(ONOT, yyDollar[2].node, nil)
}
case 120:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:908
+ //line go.y:969
{
Yyerror("the bitwise complement operator is ^")
yyVAL.node = Nod(OCOM, yyDollar[2].node, nil)
}
case 121:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:913
+ //line go.y:974
{
yyVAL.node = Nod(OCOM, yyDollar[2].node, nil)
}
case 122:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:917
+ //line go.y:978
{
yyVAL.node = Nod(ORECV, yyDollar[2].node, nil)
}
case 123:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:927
+ //line go.y:988
{
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
}
case 124:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:931
+ //line go.y:992
{
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
yyVAL.node.List = yyDollar[3].list
}
case 125:
yyDollar = yyS[yypt-6 : yypt+1]
- //line go.y:936
+ //line go.y:997
{
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
yyVAL.node.List = yyDollar[3].list
}
case 126:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:944
+ //line go.y:1005
{
yyVAL.node = nodlit(yyDollar[1].val)
}
case 128:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:949
+ //line go.y:1010
{
if yyDollar[1].node.Op == OPACK {
var s *Sym
}
case 129:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:960
+ //line go.y:1021
{
yyVAL.node = Nod(ODOTTYPE, yyDollar[1].node, yyDollar[4].node)
}
case 130:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:964
+ //line go.y:1025
{
yyVAL.node = Nod(OTYPESW, nil, yyDollar[1].node)
}
case 131:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:968
+ //line go.y:1029
{
yyVAL.node = Nod(OINDEX, yyDollar[1].node, yyDollar[3].node)
}
case 132:
yyDollar = yyS[yypt-6 : yypt+1]
- //line go.y:972
+ //line go.y:1033
{
yyVAL.node = Nod(OSLICE, yyDollar[1].node, Nod(OKEY, yyDollar[3].node, yyDollar[5].node))
}
case 133:
yyDollar = yyS[yypt-8 : yypt+1]
- //line go.y:976
+ //line go.y:1037
{
if yyDollar[5].node == nil {
Yyerror("middle index required in 3-index slice")
}
case 135:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:987
+ //line go.y:1048
{
// conversion
yyVAL.node = Nod(OCALL, yyDollar[1].node, nil)
}
case 136:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:993
+ //line go.y:1054
{
yyVAL.node = yyDollar[3].node
yyVAL.node.Right = yyDollar[1].node
}
case 137:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1000
+ //line go.y:1061
{
yyVAL.node = yyDollar[3].node
yyVAL.node.Right = yyDollar[1].node
}
case 138:
yyDollar = yyS[yypt-7 : yypt+1]
- //line go.y:1006
+ //line go.y:1067
{
Yyerror("cannot parenthesize type in composite literal")
yyVAL.node = yyDollar[5].node
}
case 140:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1015
+ //line go.y:1076
{
// composite expression.
// make node early so we get the right line number.
}
case 141:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1023
+ //line go.y:1084
{
yyVAL.node = Nod(OKEY, yyDollar[1].node, yyDollar[3].node)
}
case 142:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1029
+ //line go.y:1090
{
// These nodes do not carry line numbers.
// Since a composite literal commonly spans several lines,
}
case 143:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1042
+ //line go.y:1103
{
yyVAL.node = yyDollar[2].node
yyVAL.node.List = yyDollar[3].list
}
case 145:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1050
+ //line go.y:1111
{
yyVAL.node = yyDollar[2].node
yyVAL.node.List = yyDollar[3].list
}
case 147:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1058
+ //line go.y:1119
{
yyVAL.node = yyDollar[2].node
}
case 151:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1079
+ //line go.y:1140
{
yyVAL.i = LBODY
}
case 152:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1083
+ //line go.y:1144
{
yyVAL.i = '{'
}
case 153:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1094
+ //line go.y:1155
{
if yyDollar[1].sym == nil {
yyVAL.node = nil
}
case 154:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1104
+ //line go.y:1165
{
yyVAL.node = dclname(yyDollar[1].sym)
}
case 155:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1109
+ //line go.y:1170
{
yyVAL.node = nil
}
case 157:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1116
+ //line go.y:1177
{
yyVAL.sym = yyDollar[1].sym
// during imports, unqualified non-exported identifiers are from builtinpkg
}
case 159:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1125
+ //line go.y:1186
{
yyVAL.sym = nil
}
case 160:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1131
+ //line go.y:1192
{
var p *Pkg
}
case 161:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1145
+ //line go.y:1206
{
var p *Pkg
}
case 162:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1161
+ //line go.y:1222
{
yyVAL.node = oldname(yyDollar[1].sym)
if yyVAL.node.Pack != nil {
}
case 164:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1182
+ //line go.y:1243
{
Yyerror("final argument in variadic function missing type")
yyVAL.node = Nod(ODDD, typenod(typ(TINTER)), nil)
}
case 165:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1187
+ //line go.y:1248
{
yyVAL.node = Nod(ODDD, yyDollar[2].node, nil)
}
case 171:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1198
+ //line go.y:1259
{
yyVAL.node = yyDollar[2].node
}
case 175:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1207
+ //line go.y:1268
{
yyVAL.node = Nod(OIND, yyDollar[2].node, nil)
}
case 180:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1217
+ //line go.y:1278
{
yyVAL.node = yyDollar[2].node
}
case 190:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1238
+ //line go.y:1299
{
if yyDollar[1].node.Op == OPACK {
var s *Sym
}
case 191:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1251
+ //line go.y:1312
{
yyVAL.node = Nod(OTARRAY, yyDollar[2].node, yyDollar[4].node)
}
case 192:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1255
+ //line go.y:1316
{
// array literal of nelem
yyVAL.node = Nod(OTARRAY, Nod(ODDD, nil, nil), yyDollar[4].node)
}
case 193:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1260
+ //line go.y:1321
{
yyVAL.node = Nod(OTCHAN, yyDollar[2].node, nil)
yyVAL.node.Etype = Cboth
}
case 194:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1265
+ //line go.y:1326
{
yyVAL.node = Nod(OTCHAN, yyDollar[3].node, nil)
yyVAL.node.Etype = Csend
}
case 195:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1270
+ //line go.y:1331
{
yyVAL.node = Nod(OTMAP, yyDollar[3].node, yyDollar[5].node)
}
case 198:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1278
+ //line go.y:1339
{
yyVAL.node = Nod(OIND, yyDollar[2].node, nil)
}
case 199:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1284
+ //line go.y:1345
{
yyVAL.node = Nod(OTCHAN, yyDollar[3].node, nil)
yyVAL.node.Etype = Crecv
}
case 200:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1291
+ //line go.y:1352
{
yyVAL.node = Nod(OTSTRUCT, nil, nil)
yyVAL.node.List = yyDollar[3].list
}
case 201:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1297
+ //line go.y:1358
{
yyVAL.node = Nod(OTSTRUCT, nil, nil)
fixlbrace(yyDollar[2].i)
}
case 202:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1304
+ //line go.y:1365
{
yyVAL.node = Nod(OTINTER, nil, nil)
yyVAL.node.List = yyDollar[3].list
}
case 203:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1310
+ //line go.y:1371
{
yyVAL.node = Nod(OTINTER, nil, nil)
fixlbrace(yyDollar[2].i)
}
case 204:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1321
+ //line go.y:1382
{
yyVAL.node = yyDollar[2].node
if yyVAL.node == nil {
}
case 205:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1339
+ //line go.y:1400
{
var t *Node
}
case 206:
yyDollar = yyS[yypt-8 : yypt+1]
- //line go.y:1370
+ //line go.y:1431
{
var rcvr, t *Node
}
case 207:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1408
+ //line go.y:1469
{
var s *Sym
var t *Type
}
case 208:
yyDollar = yyS[yypt-8 : yypt+1]
- //line go.y:1433
+ //line go.y:1494
{
yyVAL.node = methodname1(newname(yyDollar[4].sym), yyDollar[2].list.N.Right)
yyVAL.node.Type = functype(yyDollar[2].list.N, yyDollar[6].list, yyDollar[8].list)
}
case 209:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1451
+ //line go.y:1512
{
yyDollar[3].list = checkarglist(yyDollar[3].list, 1)
yyVAL.node = Nod(OTFUNC, nil, nil)
}
case 210:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1459
+ //line go.y:1520
{
yyVAL.list = nil
}
case 211:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1463
+ //line go.y:1524
{
yyVAL.list = yyDollar[2].list
if yyVAL.list == nil {
}
case 212:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1472
+ //line go.y:1533
{
yyVAL.list = nil
}
case 213:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1476
+ //line go.y:1537
{
yyVAL.list = list1(Nod(ODCLFIELD, nil, yyDollar[1].node))
}
case 214:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1480
+ //line go.y:1541
{
yyDollar[2].list = checkarglist(yyDollar[2].list, 0)
yyVAL.list = yyDollar[2].list
}
case 215:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1487
+ //line go.y:1548
{
closurehdr(yyDollar[1].node)
}
case 216:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1493
+ //line go.y:1554
{
yyVAL.node = closurebody(yyDollar[3].list)
fixlbrace(yyDollar[2].i)
}
case 217:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1498
+ //line go.y:1559
{
yyVAL.node = closurebody(nil)
}
case 218:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1509
+ //line go.y:1570
{
yyVAL.list = nil
}
case 219:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1513
+ //line go.y:1574
{
yyVAL.list = concat(yyDollar[1].list, yyDollar[2].list)
if nsyntaxerrors == 0 {
}
case 221:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1527
+ //line go.y:1588
{
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
}
case 223:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1534
+ //line go.y:1595
{
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
}
case 224:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1540
+ //line go.y:1601
{
yyVAL.list = list1(yyDollar[1].node)
}
case 225:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1544
+ //line go.y:1605
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 227:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1551
+ //line go.y:1612
{
yyVAL.list = concat(yyDollar[1].list, yyDollar[3].list)
}
case 228:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1557
+ //line go.y:1618
{
yyVAL.list = list1(yyDollar[1].node)
}
case 229:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1561
+ //line go.y:1622
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 230:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1567
+ //line go.y:1628
{
var l *NodeList
}
case 231:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1591
+ //line go.y:1652
{
yyDollar[1].node.Val = yyDollar[2].val
yyVAL.list = list1(yyDollar[1].node)
}
case 232:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1596
+ //line go.y:1657
{
yyDollar[2].node.Val = yyDollar[4].val
yyVAL.list = list1(yyDollar[2].node)
}
case 233:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1602
+ //line go.y:1663
{
yyDollar[2].node.Right = Nod(OIND, yyDollar[2].node.Right, nil)
yyDollar[2].node.Val = yyDollar[3].val
}
case 234:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1608
+ //line go.y:1669
{
yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil)
yyDollar[3].node.Val = yyDollar[5].val
}
case 235:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1615
+ //line go.y:1676
{
yyDollar[3].node.Right = Nod(OIND, yyDollar[3].node.Right, nil)
yyDollar[3].node.Val = yyDollar[5].val
}
case 236:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1624
+ //line go.y:1685
{
var n *Node
}
case 237:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1634
+ //line go.y:1695
{
var pkg *Pkg
}
case 238:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1649
+ //line go.y:1710
{
yyVAL.node = embedded(yyDollar[1].sym, localpkg)
}
case 239:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1655
+ //line go.y:1716
{
yyVAL.node = Nod(ODCLFIELD, yyDollar[1].node, yyDollar[2].node)
ifacedcl(yyVAL.node)
}
case 240:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1660
+ //line go.y:1721
{
yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[1].sym))
}
case 241:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1664
+ //line go.y:1725
{
yyVAL.node = Nod(ODCLFIELD, nil, oldname(yyDollar[2].sym))
Yyerror("cannot parenthesize embedded type")
}
case 242:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1671
+ //line go.y:1732
{
// without func keyword
yyDollar[2].list = checkarglist(yyDollar[2].list, 1)
}
case 244:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1685
+ //line go.y:1746
{
yyVAL.node = Nod(ONONAME, nil, nil)
yyVAL.node.Sym = yyDollar[1].sym
}
case 245:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1691
+ //line go.y:1752
{
yyVAL.node = Nod(ONONAME, nil, nil)
yyVAL.node.Sym = yyDollar[1].sym
}
case 247:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1700
+ //line go.y:1761
{
yyVAL.list = list1(yyDollar[1].node)
}
case 248:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1704
+ //line go.y:1765
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 249:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1709
+ //line go.y:1770
{
yyVAL.list = nil
}
case 250:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1713
+ //line go.y:1774
{
yyVAL.list = yyDollar[1].list
}
case 251:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1721
+ //line go.y:1782
{
yyVAL.node = nil
}
case 253:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1726
+ //line go.y:1787
{
yyVAL.node = liststmt(yyDollar[1].list)
}
case 255:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1731
+ //line go.y:1792
{
yyVAL.node = nil
}
case 261:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1742
+ //line go.y:1803
{
yyDollar[1].node = Nod(OLABEL, yyDollar[1].node, nil)
yyDollar[1].node.Sym = dclstack // context, for goto restrictions
}
case 262:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1747
+ //line go.y:1808
{
var l *NodeList
}
case 263:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1758
+ //line go.y:1819
{
// will be converted to OFALL
yyVAL.node = Nod(OXFALL, nil, nil)
}
case 264:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1764
+ //line go.y:1825
{
yyVAL.node = Nod(OBREAK, yyDollar[2].node, nil)
}
case 265:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1768
+ //line go.y:1829
{
yyVAL.node = Nod(OCONTINUE, yyDollar[2].node, nil)
}
case 266:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1772
+ //line go.y:1833
{
yyVAL.node = Nod(OPROC, yyDollar[2].node, nil)
}
case 267:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1776
+ //line go.y:1837
{
yyVAL.node = Nod(ODEFER, yyDollar[2].node, nil)
}
case 268:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1780
+ //line go.y:1841
{
yyVAL.node = Nod(OGOTO, yyDollar[2].node, nil)
yyVAL.node.Sym = dclstack // context, for goto restrictions
}
case 269:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1785
+ //line go.y:1846
{
yyVAL.node = Nod(ORETURN, nil, nil)
yyVAL.node.List = yyDollar[2].list
}
case 270:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1807
+ //line go.y:1868
{
yyVAL.list = nil
if yyDollar[1].node != nil {
}
case 271:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1814
+ //line go.y:1875
{
yyVAL.list = yyDollar[1].list
if yyDollar[3].node != nil {
}
case 272:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1823
+ //line go.y:1884
{
yyVAL.list = list1(yyDollar[1].node)
}
case 273:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1827
+ //line go.y:1888
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 274:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1833
+ //line go.y:1894
{
yyVAL.list = list1(yyDollar[1].node)
}
case 275:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1837
+ //line go.y:1898
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 276:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1843
+ //line go.y:1904
{
yyVAL.list = list1(yyDollar[1].node)
}
case 277:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1847
+ //line go.y:1908
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 278:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1853
+ //line go.y:1914
{
yyVAL.list = list1(yyDollar[1].node)
}
case 279:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1857
+ //line go.y:1918
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 280:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1866
+ //line go.y:1927
{
yyVAL.list = list1(yyDollar[1].node)
}
case 281:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1870
+ //line go.y:1931
{
yyVAL.list = list1(yyDollar[1].node)
}
case 282:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1874
+ //line go.y:1935
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 283:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:1878
+ //line go.y:1939
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 284:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1883
+ //line go.y:1944
{
yyVAL.list = nil
}
case 285:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:1887
+ //line go.y:1948
{
yyVAL.list = yyDollar[1].list
}
case 290:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1901
+ //line go.y:1962
{
yyVAL.node = nil
}
case 292:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1907
+ //line go.y:1968
{
yyVAL.list = nil
}
case 294:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1913
+ //line go.y:1974
{
yyVAL.node = nil
}
case 296:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1919
+ //line go.y:1980
{
yyVAL.list = nil
}
case 298:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1925
+ //line go.y:1986
{
yyVAL.list = nil
}
case 300:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1931
+ //line go.y:1992
{
yyVAL.list = nil
}
case 302:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:1937
+ //line go.y:1998
{
yyVAL.val.Ctype = CTxxx
}
case 304:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1947
+ //line go.y:2008
{
importimport(yyDollar[2].sym, yyDollar[3].val.U.(string))
}
case 305:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1951
+ //line go.y:2012
{
importvar(yyDollar[2].sym, yyDollar[3].typ)
}
case 306:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:1955
+ //line go.y:2016
{
importconst(yyDollar[2].sym, Types[TIDEAL], yyDollar[4].node)
}
case 307:
yyDollar = yyS[yypt-6 : yypt+1]
- //line go.y:1959
+ //line go.y:2020
{
importconst(yyDollar[2].sym, yyDollar[3].typ, yyDollar[5].node)
}
case 308:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1963
+ //line go.y:2024
{
importtype(yyDollar[2].typ, yyDollar[3].typ)
}
case 309:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:1967
+ //line go.y:2028
{
if yyDollar[2].node == nil {
dclcontext = PEXTERN // since we skip the funcbody below
}
case 310:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1988
+ //line go.y:2049
{
yyVAL.sym = yyDollar[1].sym
structpkg = yyVAL.sym.Pkg
}
case 311:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:1995
+ //line go.y:2056
{
yyVAL.typ = pkgtype(yyDollar[1].sym)
importsym(yyDollar[1].sym, OTYPE)
}
case 317:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2015
+ //line go.y:2076
{
yyVAL.typ = pkgtype(yyDollar[1].sym)
}
case 318:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2019
+ //line go.y:2080
{
// predefined name like uint8
yyDollar[1].sym = Pkglookup(yyDollar[1].sym.Name, builtinpkg)
}
case 319:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2030
+ //line go.y:2091
{
yyVAL.typ = aindex(nil, yyDollar[3].typ)
}
case 320:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:2034
+ //line go.y:2095
{
yyVAL.typ = aindex(nodlit(yyDollar[2].val), yyDollar[4].typ)
}
case 321:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:2038
+ //line go.y:2099
{
yyVAL.typ = maptype(yyDollar[3].typ, yyDollar[5].typ)
}
case 322:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:2042
+ //line go.y:2103
{
yyVAL.typ = tostruct(yyDollar[3].list)
}
case 323:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:2046
+ //line go.y:2107
{
yyVAL.typ = tointerface(yyDollar[3].list)
}
case 324:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:2050
+ //line go.y:2111
{
yyVAL.typ = Ptrto(yyDollar[2].typ)
}
case 325:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:2054
+ //line go.y:2115
{
yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[2].typ
}
case 326:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:2060
+ //line go.y:2121
{
yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[3].typ
}
case 327:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2066
+ //line go.y:2127
{
yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[3].typ
}
case 328:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2074
+ //line go.y:2135
{
yyVAL.typ = typ(TCHAN)
yyVAL.typ.Type = yyDollar[3].typ
}
case 329:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:2082
+ //line go.y:2143
{
yyVAL.typ = functype(nil, yyDollar[3].list, yyDollar[5].list)
}
case 330:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2088
+ //line go.y:2149
{
yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[2].typ))
if yyDollar[1].sym != nil {
}
case 331:
yyDollar = yyS[yypt-4 : yypt+1]
- //line go.y:2096
+ //line go.y:2157
{
var t *Type
}
case 332:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2113
+ //line go.y:2174
{
var s *Sym
var p *Pkg
}
case 333:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:2137
+ //line go.y:2198
{
yyVAL.node = Nod(ODCLFIELD, newname(yyDollar[1].sym), typenod(functype(fakethis(), yyDollar[3].list, yyDollar[5].list)))
}
case 334:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2141
+ //line go.y:2202
{
yyVAL.node = Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ))
}
case 335:
yyDollar = yyS[yypt-0 : yypt+1]
- //line go.y:2146
+ //line go.y:2207
{
yyVAL.list = nil
}
case 337:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2153
+ //line go.y:2214
{
yyVAL.list = yyDollar[2].list
}
case 338:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2157
+ //line go.y:2218
{
yyVAL.list = list1(Nod(ODCLFIELD, nil, typenod(yyDollar[1].typ)))
}
case 339:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2167
+ //line go.y:2228
{
yyVAL.node = nodlit(yyDollar[1].val)
}
case 340:
yyDollar = yyS[yypt-2 : yypt+1]
- //line go.y:2171
+ //line go.y:2232
{
yyVAL.node = nodlit(yyDollar[2].val)
switch yyVAL.node.Val.Ctype {
}
case 341:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2189
+ //line go.y:2250
{
yyVAL.node = oldname(Pkglookup(yyDollar[1].sym.Name, builtinpkg))
if yyVAL.node.Op != OLITERAL {
}
case 343:
yyDollar = yyS[yypt-5 : yypt+1]
- //line go.y:2199
+ //line go.y:2260
{
if yyDollar[2].node.Val.Ctype == CTRUNE && yyDollar[4].node.Val.Ctype == CTINT {
yyVAL.node = yyDollar[2].node
}
case 346:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2215
+ //line go.y:2276
{
yyVAL.list = list1(yyDollar[1].node)
}
case 347:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2219
+ //line go.y:2280
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 348:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2225
+ //line go.y:2286
{
yyVAL.list = list1(yyDollar[1].node)
}
case 349:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2229
+ //line go.y:2290
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
case 350:
yyDollar = yyS[yypt-1 : yypt+1]
- //line go.y:2235
+ //line go.y:2296
{
yyVAL.list = list1(yyDollar[1].node)
}
case 351:
yyDollar = yyS[yypt-3 : yypt+1]
- //line go.y:2239
+ //line go.y:2300
{
yyVAL.list = list(yyDollar[1].list, yyDollar[3].node)
}
$accept: .file $end
$$4: . (4)
- . reduce 4 (src line 149)
+ . reduce 4 (src line 210)
file goto 1
loadsys goto 2
package: . (2)
LPACKAGE shift 5
- . reduce 2 (src line 132)
+ . reduce 2 (src line 193)
package goto 4
file: loadsys package.imports xdcl_list
imports: . (6)
- . reduce 6 (src line 166)
+ . reduce 6 (src line 227)
imports goto 8
loadsys: $$4 import_package.import_there
$$21: . (21)
- . reduce 21 (src line 273)
+ . reduce 21 (src line 334)
import_there goto 14
$$21 goto 15
xdcl_list: . (218)
LIMPORT shift 19
- . reduce 218 (src line 1508)
+ . reduce 218 (src line 1569)
xdcl_list goto 17
import goto 18
state 10
sym: LNAME. (157)
- . reduce 157 (src line 1114)
+ . reduce 157 (src line 1175)
state 11
sym: hidden_importsym. (158)
- . reduce 158 (src line 1123)
+ . reduce 158 (src line 1184)
state 12
sym: '?'. (159)
- . reduce 159 (src line 1124)
+ . reduce 159 (src line 1185)
state 13
state 14
loadsys: $$4 import_package import_there. (5)
- . reduce 5 (src line 160)
+ . reduce 5 (src line 221)
state 15
import_there: $$21.hidden_import_list '$' '$'
hidden_import_list: . (344)
- . reduce 344 (src line 2210)
+ . reduce 344 (src line 2271)
hidden_import_list goto 22
import_safety: . (19)
LNAME shift 24
- . reduce 19 (src line 265)
+ . reduce 19 (src line 326)
import_safety goto 23
xdcl_list: xdcl_list.xdcl ';'
xdcl: . (23)
- $end reduce 1 (src line 123)
+ $end reduce 1 (src line 184)
error shift 29
LLITERAL shift 68
LBREAK shift 41
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 23 (src line 286)
+ ';' reduce 23 (src line 347)
'!' shift 62
'~' shift 63
'[' shift 77
state 20
package: LPACKAGE sym ';'. (3)
- . reduce 3 (src line 139)
+ . reduce 3 (src line 200)
state 21
state 24
import_safety: LNAME. (20)
- . reduce 20 (src line 266)
+ . reduce 20 (src line 327)
state 25
state 26
xdcl: common_dcl. (24)
- . reduce 24 (src line 291)
+ . reduce 24 (src line 352)
state 27
xdcl: xfndcl. (25)
- . reduce 25 (src line 292)
+ . reduce 25 (src line 353)
state 28
xdcl: non_dcl_stmt. (26)
- . reduce 26 (src line 296)
+ . reduce 26 (src line 357)
state 29
xdcl: error. (27)
- . reduce 27 (src line 301)
+ . reduce 27 (src line 362)
state 30
state 34
non_dcl_stmt: simple_stmt. (256)
- . reduce 256 (src line 1735)
+ . reduce 256 (src line 1796)
state 35
non_dcl_stmt: for_stmt. (257)
- . reduce 257 (src line 1737)
+ . reduce 257 (src line 1798)
state 36
non_dcl_stmt: switch_stmt. (258)
- . reduce 258 (src line 1738)
+ . reduce 258 (src line 1799)
state 37
non_dcl_stmt: select_stmt. (259)
- . reduce 259 (src line 1739)
+ . reduce 259 (src line 1800)
state 38
non_dcl_stmt: if_stmt. (260)
- . reduce 260 (src line 1740)
+ . reduce 260 (src line 1801)
state 39
state 40
non_dcl_stmt: LFALL. (263)
- . reduce 263 (src line 1757)
+ . reduce 263 (src line 1818)
state 41
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 155 (src line 1108)
+ . reduce 155 (src line 1169)
sym goto 119
new_name goto 118
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 155 (src line 1108)
+ . reduce 155 (src line 1169)
sym goto 119
new_name goto 118
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 292 (src line 1906)
+ . reduce 292 (src line 1967)
sym goto 123
expr goto 129
state 47
lconst: LCONST. (38)
- . reduce 38 (src line 355)
+ . reduce 38 (src line 416)
state 48
expr_list: expr. (276)
LASOP shift 130
- LCOLAS reduce 276 (src line 1841)
+ LCOLAS reduce 276 (src line 1902)
LANDAND shift 134
LANDNOT shift 149
LCOMM shift 152
'/' shift 146
'%' shift 147
'&' shift 148
- '=' reduce 276 (src line 1841)
- ',' reduce 276 (src line 1841)
- . reduce 49 (src line 411)
+ '=' reduce 276 (src line 1902)
+ ',' reduce 276 (src line 1902)
+ . reduce 49 (src line 472)
state 49
for_stmt: LFOR.$$74 for_body
$$74: . (74)
- . reduce 74 (src line 660)
+ . reduce 74 (src line 721)
$$74 goto 156
switch_stmt: LSWITCH.$$88 if_header $$89 LBODY caseblock_list '}'
$$88: . (88)
- . reduce 88 (src line 755)
+ . reduce 88 (src line 816)
$$88 goto 157
select_stmt: LSELECT.$$91 LBODY caseblock_list '}'
$$91: . (91)
- . reduce 91 (src line 778)
+ . reduce 91 (src line 839)
$$91 goto 158
if_stmt: LIF.$$78 if_header $$79 loop_body $$80 elseif_list else
$$78: . (78)
- . reduce 78 (src line 689)
+ . reduce 78 (src line 750)
$$78 goto 159
state 54
labelname: new_name. (163)
- . reduce 163 (src line 1168)
+ . reduce 163 (src line 1229)
state 55
expr: uexpr. (93)
- . reduce 93 (src line 794)
+ . reduce 93 (src line 855)
state 56
new_name: sym. (153)
name: sym. (162)
- ':' reduce 153 (src line 1092)
- . reduce 162 (src line 1159)
+ ':' reduce 153 (src line 1153)
+ . reduce 162 (src line 1220)
state 57
'(' shift 160
'.' shift 161
'[' shift 162
- . reduce 114 (src line 878)
+ . reduce 114 (src line 939)
state 58
pexpr: pexpr_no_paren. (146)
'{' shift 171
- . reduce 146 (src line 1055)
+ . reduce 146 (src line 1116)
state 67
state 68
pexpr_no_paren: LLITERAL. (126)
- . reduce 126 (src line 942)
+ . reduce 126 (src line 1003)
state 69
pexpr_no_paren: name. (127)
- . reduce 127 (src line 947)
+ . reduce 127 (src line 1008)
state 70
pexpr_no_paren: pseudocall. (134)
- . reduce 134 (src line 985)
+ . reduce 134 (src line 1046)
state 71
state 73
pexpr_no_paren: fnliteral. (139)
- . reduce 139 (src line 1012)
+ . reduce 139 (src line 1073)
state 74
convtype: fntype. (181)
fnlitdcl: fntype. (215)
- '(' reduce 181 (src line 1221)
- . reduce 215 (src line 1485)
+ '(' reduce 181 (src line 1282)
+ . reduce 215 (src line 1546)
state 75
convtype: othertype. (182)
comptype: othertype. (183)
- '(' reduce 182 (src line 1223)
- . reduce 183 (src line 1225)
+ '(' reduce 182 (src line 1284)
+ . reduce 183 (src line 1286)
state 76
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 290 (src line 1900)
+ . reduce 290 (src line 1961)
sym goto 123
expr goto 188
state 80
othertype: structtype. (196)
- . reduce 196 (src line 1273)
+ . reduce 196 (src line 1334)
state 81
othertype: interfacetype. (197)
- . reduce 197 (src line 1274)
+ . reduce 197 (src line 1335)
state 82
state 84
imports: imports import ';'. (7)
- . reduce 7 (src line 167)
+ . reduce 7 (src line 228)
state 85
import: LIMPORT import_stmt. (8)
- . reduce 8 (src line 169)
+ . reduce 8 (src line 230)
state 86
$$21: . (21)
LPACKAGE shift 7
- . reduce 21 (src line 273)
+ . reduce 21 (src line 334)
import_package goto 204
import_there goto 205
state 88
import_here: LLITERAL. (15)
- . reduce 15 (src line 225)
+ . reduce 15 (src line 286)
state 89
state 93
hidden_import_list: hidden_import_list hidden_import. (345)
- . reduce 345 (src line 2211)
+ . reduce 345 (src line 2272)
state 94
state 99
import_package: LPACKAGE LNAME import_safety ';'. (18)
- . reduce 18 (src line 248)
+ . reduce 18 (src line 309)
state 100
xdcl_list: xdcl_list xdcl ';'. (219)
- . reduce 219 (src line 1512)
+ . reduce 219 (src line 1573)
state 101
common_dcl: LVAR vardcl. (28)
- . reduce 28 (src line 306)
+ . reduce 28 (src line 367)
state 102
state 104
dcl_name_list: dcl_name. (274)
- . reduce 274 (src line 1831)
+ . reduce 274 (src line 1892)
state 105
dcl_name: sym. (154)
- . reduce 154 (src line 1102)
+ . reduce 154 (src line 1163)
state 106
common_dcl: lconst constdcl. (31)
- . reduce 31 (src line 319)
+ . reduce 31 (src line 380)
state 107
state 109
common_dcl: LTYPE typedcl. (35)
- . reduce 35 (src line 342)
+ . reduce 35 (src line 403)
state 110
state 112
typedclname: sym. (47)
- . reduce 47 (src line 396)
+ . reduce 47 (src line 457)
state 113
fnbody: . (210)
'{' shift 242
- . reduce 210 (src line 1458)
+ . reduce 210 (src line 1519)
fnbody goto 241
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 249 (src line 1708)
+ . reduce 249 (src line 1769)
sym goto 247
ntype goto 249
non_dcl_stmt: labelname ':'.$$261 stmt
$$261: . (261)
- . reduce 261 (src line 1741)
+ . reduce 261 (src line 1802)
$$261 goto 252
state 117
non_dcl_stmt: LBREAK onew_name. (264)
- . reduce 264 (src line 1763)
+ . reduce 264 (src line 1824)
state 118
onew_name: new_name. (156)
- . reduce 156 (src line 1112)
+ . reduce 156 (src line 1173)
state 119
new_name: sym. (153)
- . reduce 153 (src line 1092)
+ . reduce 153 (src line 1153)
state 120
non_dcl_stmt: LCONTINUE onew_name. (265)
- . reduce 265 (src line 1767)
+ . reduce 265 (src line 1828)
state 121
pexpr_no_paren: pseudocall. (134)
non_dcl_stmt: LGO pseudocall. (266)
- '(' reduce 134 (src line 985)
- '.' reduce 134 (src line 985)
- '{' reduce 134 (src line 985)
- '[' reduce 134 (src line 985)
- . reduce 266 (src line 1771)
+ '(' reduce 134 (src line 1046)
+ '.' reduce 134 (src line 1046)
+ '{' reduce 134 (src line 1046)
+ '[' reduce 134 (src line 1046)
+ . reduce 266 (src line 1832)
state 122
state 123
name: sym. (162)
- . reduce 162 (src line 1159)
+ . reduce 162 (src line 1220)
state 124
pexpr_no_paren: pseudocall. (134)
non_dcl_stmt: LDEFER pseudocall. (267)
- '(' reduce 134 (src line 985)
- '.' reduce 134 (src line 985)
- '{' reduce 134 (src line 985)
- '[' reduce 134 (src line 985)
- . reduce 267 (src line 1775)
+ '(' reduce 134 (src line 1046)
+ '.' reduce 134 (src line 1046)
+ '{' reduce 134 (src line 1046)
+ '[' reduce 134 (src line 1046)
+ . reduce 267 (src line 1836)
state 126
non_dcl_stmt: LGOTO new_name. (268)
- . reduce 268 (src line 1779)
+ . reduce 268 (src line 1840)
state 127
non_dcl_stmt: LRETURN oexpr_list. (269)
- . reduce 269 (src line 1784)
+ . reduce 269 (src line 1845)
state 128
oexpr_list: expr_list. (293)
',' shift 155
- . reduce 293 (src line 1910)
+ . reduce 293 (src line 1971)
state 129
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 276 (src line 1841)
+ . reduce 276 (src line 1902)
state 130
state 131
simple_stmt: expr LINC. (53)
- . reduce 53 (src line 461)
+ . reduce 53 (src line 522)
state 132
simple_stmt: expr LDEC. (54)
- . reduce 54 (src line 467)
+ . reduce 54 (src line 528)
state 133
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 294 (src line 1912)
+ . reduce 294 (src line 1973)
sym goto 123
expr goto 48
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 294 (src line 1912)
+ . reduce 294 (src line 1973)
sym goto 123
expr goto 48
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 294 (src line 1912)
+ . reduce 294 (src line 1973)
sym goto 123
expr goto 48
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 290 (src line 1900)
+ . reduce 290 (src line 1961)
sym goto 123
expr goto 294
state 163
uexpr: '*' uexpr. (115)
- . reduce 115 (src line 880)
+ . reduce 115 (src line 941)
state 164
uexpr: '&' uexpr. (116)
- . reduce 116 (src line 884)
+ . reduce 116 (src line 945)
state 165
uexpr: '+' uexpr. (117)
- . reduce 117 (src line 895)
+ . reduce 117 (src line 956)
state 166
uexpr: '-' uexpr. (118)
- . reduce 118 (src line 899)
+ . reduce 118 (src line 960)
state 167
uexpr: '!' uexpr. (119)
- . reduce 119 (src line 903)
+ . reduce 119 (src line 964)
state 168
uexpr: '~' uexpr. (120)
- . reduce 120 (src line 907)
+ . reduce 120 (src line 968)
state 169
uexpr: '^' uexpr. (121)
- . reduce 121 (src line 912)
+ . reduce 121 (src line 973)
state 170
uexpr: LCOMM uexpr. (122)
- . reduce 122 (src line 916)
+ . reduce 122 (src line 977)
state 171
pexpr_no_paren: pexpr_no_paren '{'.start_complit braced_keyval_list '}'
start_complit: . (140)
- . reduce 140 (src line 1014)
+ . reduce 140 (src line 1075)
start_complit goto 296
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 148 (src line 1070)
+ . reduce 148 (src line 1131)
state 174
expr_or_type: non_expr_type. (149)
- . reduce 149 (src line 1072)
+ . reduce 149 (src line 1133)
state 175
non_expr_type: recvchantype. (172)
- . reduce 172 (src line 1202)
+ . reduce 172 (src line 1263)
state 176
convtype: fntype. (181)
fnlitdcl: fntype. (215)
- error reduce 215 (src line 1485)
- LBODY reduce 215 (src line 1485)
- '(' reduce 181 (src line 1221)
- '{' reduce 215 (src line 1485)
- . reduce 173 (src line 1204)
+ error reduce 215 (src line 1546)
+ LBODY reduce 215 (src line 1546)
+ '(' reduce 181 (src line 1282)
+ '{' reduce 215 (src line 1546)
+ . reduce 173 (src line 1265)
state 177
convtype: othertype. (182)
comptype: othertype. (183)
- LBODY reduce 183 (src line 1225)
- '(' reduce 182 (src line 1223)
- '{' reduce 183 (src line 1225)
- . reduce 174 (src line 1205)
+ LBODY reduce 183 (src line 1286)
+ '(' reduce 182 (src line 1284)
+ '{' reduce 183 (src line 1286)
+ . reduce 174 (src line 1266)
state 178
pexpr_no_paren: comptype lbrace.start_complit braced_keyval_list '}'
start_complit: . (140)
- . reduce 140 (src line 1014)
+ . reduce 140 (src line 1075)
start_complit goto 301
state 182
lbrace: LBODY. (151)
- . reduce 151 (src line 1077)
+ . reduce 151 (src line 1138)
state 183
lbrace: '{'. (152)
- . reduce 152 (src line 1082)
+ . reduce 152 (src line 1143)
state 184
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 251 (src line 1720)
+ ';' reduce 251 (src line 1781)
'{' shift 308
- '}' reduce 251 (src line 1720)
+ '}' reduce 251 (src line 1781)
'!' shift 62
'~' shift 63
'[' shift 77
state 185
fnliteral: fnlitdcl error. (217)
- . reduce 217 (src line 1497)
+ . reduce 217 (src line 1558)
state 186
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 291 (src line 1904)
+ . reduce 291 (src line 1965)
state 189
othertype: LCHAN non_recvchantype. (193)
- . reduce 193 (src line 1259)
+ . reduce 193 (src line 1320)
state 190
state 191
non_recvchantype: fntype. (176)
- . reduce 176 (src line 1211)
+ . reduce 176 (src line 1272)
state 192
non_recvchantype: othertype. (177)
- . reduce 177 (src line 1213)
+ . reduce 177 (src line 1274)
state 193
non_recvchantype: ptrtype. (178)
- . reduce 178 (src line 1214)
+ . reduce 178 (src line 1275)
state 194
non_recvchantype: dotname. (179)
- . reduce 179 (src line 1215)
+ . reduce 179 (src line 1276)
state 195
dotname: name.'.' sym
'.' shift 314
- . reduce 189 (src line 1235)
+ . reduce 189 (src line 1296)
state 198
osemi: . (286)
';' shift 333
- . reduce 286 (src line 1894)
+ . reduce 286 (src line 1955)
osemi goto 332
state 202
import: LIMPORT '(' ')'. (10)
- . reduce 10 (src line 172)
+ . reduce 10 (src line 233)
state 203
import_stmt_list: import_stmt. (13)
- . reduce 13 (src line 221)
+ . reduce 13 (src line 282)
state 204
import_stmt: import_here import_package.import_there
$$21: . (21)
- . reduce 21 (src line 273)
+ . reduce 21 (src line 334)
import_there goto 334
$$21 goto 15
state 205
import_stmt: import_here import_there. (12)
- . reduce 12 (src line 210)
+ . reduce 12 (src line 271)
state 206
import_here: sym LLITERAL. (16)
- . reduce 16 (src line 233)
+ . reduce 16 (src line 294)
state 207
import_here: '.' LLITERAL. (17)
- . reduce 17 (src line 240)
+ . reduce 17 (src line 301)
state 208
hidden_importsym: '@' LLITERAL '.' LNAME. (160)
- . reduce 160 (src line 1129)
+ . reduce 160 (src line 1190)
state 209
hidden_importsym: '@' LLITERAL '.' '?'. (161)
- . reduce 161 (src line 1144)
+ . reduce 161 (src line 1205)
state 210
import_there: $$21 hidden_import_list '$' '$'. (22)
- . reduce 22 (src line 277)
+ . reduce 22 (src line 338)
state 211
state 213
hidden_pkg_importsym: hidden_importsym. (310)
- . reduce 310 (src line 1986)
+ . reduce 310 (src line 2047)
state 214
state 216
hidden_pkgtype: hidden_pkg_importsym. (311)
- . reduce 311 (src line 1993)
+ . reduce 311 (src line 2054)
state 217
fnbody: . (210)
'{' shift 242
- . reduce 210 (src line 1458)
+ . reduce 210 (src line 1519)
fnbody goto 353
osemi: . (286)
';' shift 359
- . reduce 286 (src line 1894)
+ . reduce 286 (src line 1955)
osemi goto 358
state 221
common_dcl: LVAR '(' ')'. (30)
- . reduce 30 (src line 315)
+ . reduce 30 (src line 376)
state 222
vardcl_list: vardcl. (220)
- . reduce 220 (src line 1524)
+ . reduce 220 (src line 1585)
state 223
vardcl: dcl_name_list ntype.'=' expr_list
'=' shift 360
- . reduce 39 (src line 361)
+ . reduce 39 (src line 422)
state 224
state 226
ntype: recvchantype. (166)
- . reduce 166 (src line 1191)
+ . reduce 166 (src line 1252)
state 227
ntype: fntype. (167)
- . reduce 167 (src line 1193)
+ . reduce 167 (src line 1254)
state 228
ntype: othertype. (168)
- . reduce 168 (src line 1194)
+ . reduce 168 (src line 1255)
state 229
ntype: ptrtype. (169)
- . reduce 169 (src line 1195)
+ . reduce 169 (src line 1256)
state 230
ntype: dotname. (170)
- . reduce 170 (src line 1196)
+ . reduce 170 (src line 1257)
state 231
osemi: . (286)
';' shift 366
- . reduce 286 (src line 1894)
+ . reduce 286 (src line 1955)
osemi goto 365
state 234
common_dcl: lconst '(' ')'. (34)
- . reduce 34 (src line 337)
+ . reduce 34 (src line 398)
state 235
osemi: . (286)
';' shift 370
- . reduce 286 (src line 1894)
+ . reduce 286 (src line 1955)
osemi goto 369
state 238
common_dcl: LTYPE '(' ')'. (37)
- . reduce 37 (src line 350)
+ . reduce 37 (src line 411)
state 239
typedcl_list: typedcl. (224)
- . reduce 224 (src line 1538)
+ . reduce 224 (src line 1599)
state 240
typedcl: typedclname ntype. (48)
- . reduce 48 (src line 405)
+ . reduce 48 (src line 466)
state 241
xfndcl: LFUNC fndcl fnbody. (204)
- . reduce 204 (src line 1319)
+ . reduce 204 (src line 1380)
state 242
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 251 (src line 1720)
+ ';' reduce 251 (src line 1781)
'{' shift 308
- '}' reduce 251 (src line 1720)
+ '}' reduce 251 (src line 1781)
'!' shift 62
'~' shift 63
'[' shift 77
ocomma: . (288)
',' shift 373
- . reduce 288 (src line 1897)
+ . reduce 288 (src line 1958)
ocomma goto 374
state 245
arg_type_list: arg_type. (247)
- . reduce 247 (src line 1698)
+ . reduce 247 (src line 1759)
state 246
arg_type: name_or_type. (243)
- . reduce 243 (src line 1682)
+ . reduce 243 (src line 1743)
state 247
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 162 (src line 1159)
+ . reduce 162 (src line 1220)
sym goto 123
ntype goto 249
state 248
arg_type: dotdotdot. (246)
- . reduce 246 (src line 1696)
+ . reduce 246 (src line 1757)
state 249
name_or_type: ntype. (150)
- . reduce 150 (src line 1074)
+ . reduce 150 (src line 1135)
state 250
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 164 (src line 1180)
+ . reduce 164 (src line 1241)
sym goto 123
ntype goto 377
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 249 (src line 1708)
+ . reduce 249 (src line 1769)
sym goto 247
ntype goto 249
error shift 307
LLITERAL shift 68
LBREAK shift 41
- LCASE reduce 251 (src line 1720)
+ LCASE reduce 251 (src line 1781)
LCHAN shift 78
LCONST shift 47
LCONTINUE shift 42
- LDEFAULT reduce 251 (src line 1720)
+ LDEFAULT reduce 251 (src line 1781)
LDEFER shift 44
LFALL shift 40
LFOR shift 50
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 251 (src line 1720)
+ ';' reduce 251 (src line 1781)
'{' shift 308
- '}' reduce 251 (src line 1720)
+ '}' reduce 251 (src line 1781)
'!' shift 62
'~' shift 63
'[' shift 77
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 249 (src line 1708)
+ . reduce 249 (src line 1769)
sym goto 247
ntype goto 249
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 50 (src line 426)
+ . reduce 50 (src line 487)
state 255
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 94 (src line 796)
+ . reduce 94 (src line 857)
state 256
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 95 (src line 800)
+ . reduce 95 (src line 861)
state 257
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 96 (src line 804)
+ . reduce 96 (src line 865)
state 258
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 97 (src line 808)
+ . reduce 97 (src line 869)
state 259
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 98 (src line 812)
+ . reduce 98 (src line 873)
state 260
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 99 (src line 816)
+ . reduce 99 (src line 877)
state 261
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 100 (src line 820)
+ . reduce 100 (src line 881)
state 262
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 101 (src line 824)
+ . reduce 101 (src line 885)
state 263
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 102 (src line 828)
+ . reduce 102 (src line 889)
state 264
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 103 (src line 832)
+ . reduce 103 (src line 893)
state 265
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 104 (src line 836)
+ . reduce 104 (src line 897)
state 266
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 105 (src line 840)
+ . reduce 105 (src line 901)
state 267
expr: expr.LRSH expr
expr: expr.LCOMM expr
- . reduce 106 (src line 844)
+ . reduce 106 (src line 905)
state 268
expr: expr.LRSH expr
expr: expr.LCOMM expr
- . reduce 107 (src line 848)
+ . reduce 107 (src line 909)
state 269
expr: expr.LRSH expr
expr: expr.LCOMM expr
- . reduce 108 (src line 852)
+ . reduce 108 (src line 913)
state 270
expr: expr.LRSH expr
expr: expr.LCOMM expr
- . reduce 109 (src line 856)
+ . reduce 109 (src line 917)
state 271
expr: expr.LRSH expr
expr: expr.LCOMM expr
- . reduce 110 (src line 860)
+ . reduce 110 (src line 921)
state 272
expr: expr.LRSH expr
expr: expr.LCOMM expr
- . reduce 111 (src line 864)
+ . reduce 111 (src line 925)
state 273
expr: expr LRSH expr. (112)
expr: expr.LCOMM expr
- . reduce 112 (src line 868)
+ . reduce 112 (src line 929)
state 274
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 113 (src line 873)
+ . reduce 113 (src line 934)
state 275
expr_list: expr_list.',' expr
',' shift 155
- . reduce 51 (src line 431)
+ . reduce 51 (src line 492)
state 276
expr_list: expr_list.',' expr
',' shift 155
- . reduce 52 (src line 443)
+ . reduce 52 (src line 504)
state 277
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 277 (src line 1846)
+ . reduce 277 (src line 1907)
state 278
for_stmt: LFOR $$74 for_body. (75)
- . reduce 75 (src line 665)
+ . reduce 75 (src line 726)
state 279
for_header: osimple_stmt. (71)
';' shift 383
- . reduce 71 (src line 645)
+ . reduce 71 (src line 706)
state 281
for_header: range_stmt. (72)
- . reduce 72 (src line 651)
+ . reduce 72 (src line 712)
state 282
osimple_stmt: simple_stmt. (295)
- . reduce 295 (src line 1916)
+ . reduce 295 (src line 1977)
state 283
switch_stmt: LSWITCH $$88 if_header.$$89 LBODY caseblock_list '}'
$$89: . (89)
- . reduce 89 (src line 760)
+ . reduce 89 (src line 821)
$$89 goto 387
if_header: osimple_stmt.';' osimple_stmt
';' shift 388
- . reduce 76 (src line 671)
+ . reduce 76 (src line 732)
state 287
select_stmt: LSELECT $$91 LBODY.caseblock_list '}'
caseblock_list: . (63)
- . reduce 63 (src line 591)
+ . reduce 63 (src line 652)
caseblock_list goto 389
if_stmt: LIF $$78 if_header.$$79 loop_body $$80 elseif_list else
$$79: . (79)
- . reduce 79 (src line 694)
+ . reduce 79 (src line 755)
$$79 goto 390
state 289
pseudocall: pexpr '(' ')'. (123)
- . reduce 123 (src line 925)
+ . reduce 123 (src line 986)
state 290
LDDD shift 392
',' shift 393
- . reduce 288 (src line 1897)
+ . reduce 288 (src line 1958)
ocomma goto 391
state 291
expr_or_type_list: expr_or_type. (278)
- . reduce 278 (src line 1851)
+ . reduce 278 (src line 1912)
state 292
pexpr_no_paren: pexpr '.' sym. (128)
- . reduce 128 (src line 948)
+ . reduce 128 (src line 1009)
state 293
'%' shift 147
'&' shift 148
']' shift 396
- . reduce 291 (src line 1904)
+ . reduce 291 (src line 1965)
state 295
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 284 (src line 1882)
+ . reduce 284 (src line 1943)
sym goto 123
expr goto 402
pexpr: '(' expr_or_type ')'. (147)
'{' shift 404
- . reduce 147 (src line 1057)
+ . reduce 147 (src line 1118)
state 298
non_expr_type: '*' non_expr_type. (175)
- . reduce 175 (src line 1206)
+ . reduce 175 (src line 1267)
state 299
'%' shift 147
'&' shift 148
',' shift 413
- . reduce 288 (src line 1897)
+ . reduce 288 (src line 1958)
ocomma goto 412
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 284 (src line 1882)
+ . reduce 284 (src line 1943)
sym goto 123
expr goto 402
state 303
stmt_list: stmt. (270)
- . reduce 270 (src line 1805)
+ . reduce 270 (src line 1866)
state 304
stmt: compound_stmt. (252)
- . reduce 252 (src line 1724)
+ . reduce 252 (src line 1785)
state 305
stmt: common_dcl. (253)
- . reduce 253 (src line 1725)
+ . reduce 253 (src line 1786)
state 306
stmt: non_dcl_stmt. (254)
- . reduce 254 (src line 1729)
+ . reduce 254 (src line 1790)
state 307
stmt: error. (255)
- . reduce 255 (src line 1730)
+ . reduce 255 (src line 1791)
state 308
compound_stmt: '{'.$$59 stmt_list '}'
$$59: . (59)
- . reduce 59 (src line 545)
+ . reduce 59 (src line 606)
$$59 goto 417
state 311
othertype: LCHAN LCOMM ntype. (194)
- . reduce 194 (src line 1264)
+ . reduce 194 (src line 1325)
state 312
state 313
ptrtype: '*' ntype. (198)
- . reduce 198 (src line 1276)
+ . reduce 198 (src line 1337)
state 314
osemi: . (286)
';' shift 424
- . reduce 286 (src line 1894)
+ . reduce 286 (src line 1955)
osemi goto 423
state 317
structtype: LSTRUCT lbrace '}'. (201)
- . reduce 201 (src line 1296)
+ . reduce 201 (src line 1357)
state 318
structdcl_list: structdcl. (226)
- . reduce 226 (src line 1548)
+ . reduce 226 (src line 1609)
state 319
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 427
state 323
new_name_list: new_name. (272)
- . reduce 272 (src line 1821)
+ . reduce 272 (src line 1882)
state 324
embed: packname. (238)
- . reduce 238 (src line 1647)
+ . reduce 238 (src line 1708)
state 325
packname: LNAME. (236)
packname: LNAME.'.' sym
- LLITERAL reduce 236 (src line 1622)
- ';' reduce 236 (src line 1622)
+ LLITERAL reduce 236 (src line 1683)
+ ';' reduce 236 (src line 1683)
'.' shift 434
- '}' reduce 236 (src line 1622)
- . reduce 157 (src line 1114)
+ '}' reduce 236 (src line 1683)
+ . reduce 157 (src line 1175)
state 326
osemi: . (286)
';' shift 436
- . reduce 286 (src line 1894)
+ . reduce 286 (src line 1955)
osemi goto 435
state 327
interfacetype: LINTERFACE lbrace '}'. (203)
- . reduce 203 (src line 1309)
+ . reduce 203 (src line 1370)
state 328
interfacedcl_list: interfacedcl. (228)
- . reduce 228 (src line 1555)
+ . reduce 228 (src line 1616)
state 329
state 330
interfacedcl: packname. (240)
- . reduce 240 (src line 1659)
+ . reduce 240 (src line 1720)
state 331
'.' shift 90
'?' shift 12
'@' shift 13
- . reduce 287 (src line 1895)
+ . reduce 287 (src line 1956)
import_here goto 87
sym goto 89
state 334
import_stmt: import_here import_package import_there. (11)
- . reduce 11 (src line 174)
+ . reduce 11 (src line 235)
state 335
state 337
hidden_type: hidden_type_misc. (312)
- . reduce 312 (src line 2004)
+ . reduce 312 (src line 2065)
state 338
hidden_type: hidden_type_recv_chan. (313)
- . reduce 313 (src line 2006)
+ . reduce 313 (src line 2067)
state 339
hidden_type: hidden_type_func. (314)
- . reduce 314 (src line 2007)
+ . reduce 314 (src line 2068)
state 340
hidden_type_misc: hidden_importsym. (317)
- . reduce 317 (src line 2013)
+ . reduce 317 (src line 2074)
state 341
hidden_type_misc: LNAME. (318)
- . reduce 318 (src line 2018)
+ . reduce 318 (src line 2079)
state 342
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 296 (src line 1918)
+ . reduce 296 (src line 1979)
sym goto 357
hidden_importsym goto 11
state 356
hidden_funarg_list: hidden_funarg. (346)
- . reduce 346 (src line 2213)
+ . reduce 346 (src line 2274)
state 357
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 287 (src line 1895)
+ . reduce 287 (src line 1956)
sym goto 105
dcl_name goto 104
expr_list: expr_list.',' expr
',' shift 155
- . reduce 41 (src line 370)
+ . reduce 41 (src line 431)
state 362
dcl_name_list: dcl_name_list ',' dcl_name. (275)
- . reduce 275 (src line 1836)
+ . reduce 275 (src line 1897)
state 363
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 287 (src line 1895)
+ . reduce 287 (src line 1956)
sym goto 105
dcl_name goto 104
expr_list: expr_list.',' expr
',' shift 155
- . reduce 43 (src line 380)
+ . reduce 43 (src line 441)
state 369
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 287 (src line 1895)
+ . reduce 287 (src line 1956)
sym goto 112
typedclname goto 111
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 212 (src line 1470)
+ . reduce 212 (src line 1531)
sym goto 485
dotname goto 493
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 289 (src line 1898)
+ . reduce 289 (src line 1959)
sym goto 247
ntype goto 249
state 374
oarg_type_list_ocomma: arg_type_list ocomma. (250)
- . reduce 250 (src line 1712)
+ . reduce 250 (src line 1773)
state 375
arg_type: sym name_or_type. (244)
- . reduce 244 (src line 1684)
+ . reduce 244 (src line 1745)
state 376
arg_type: sym dotdotdot. (245)
- . reduce 245 (src line 1690)
+ . reduce 245 (src line 1751)
state 377
dotdotdot: LDDD ntype. (165)
- . reduce 165 (src line 1186)
+ . reduce 165 (src line 1247)
state 378
state 379
non_dcl_stmt: labelname ':' $$261 stmt. (262)
- . reduce 262 (src line 1746)
+ . reduce 262 (src line 1807)
state 380
state 381
for_body: for_header loop_body. (73)
- . reduce 73 (src line 653)
+ . reduce 73 (src line 714)
state 382
loop_body: LBODY.$$65 stmt_list '}'
$$65: . (65)
- . reduce 65 (src line 600)
+ . reduce 65 (src line 661)
$$65 goto 497
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 294 (src line 1912)
+ . reduce 294 (src line 1973)
sym goto 123
expr goto 48
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 69 (src line 625)
+ . reduce 69 (src line 686)
state 387
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 294 (src line 1912)
+ . reduce 294 (src line 1973)
sym goto 123
expr goto 48
ocomma: . (288)
',' shift 413
- . reduce 288 (src line 1897)
+ . reduce 288 (src line 1958)
ocomma goto 510
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 289 (src line 1898)
+ . reduce 289 (src line 1959)
sym goto 123
expr goto 173
state 396
pexpr_no_paren: pexpr '[' expr ']'. (131)
- . reduce 131 (src line 967)
+ . reduce 131 (src line 1028)
state 397
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 290 (src line 1900)
+ . reduce 290 (src line 1961)
sym goto 123
expr goto 188
ocomma: . (288)
',' shift 516
- . reduce 288 (src line 1897)
+ . reduce 288 (src line 1958)
ocomma goto 517
state 400
keyval_list: keyval. (280)
- . reduce 280 (src line 1864)
+ . reduce 280 (src line 1925)
state 401
keyval_list: bare_complitexpr. (281)
- . reduce 281 (src line 1869)
+ . reduce 281 (src line 1930)
state 402
'%' shift 147
'&' shift 148
':' shift 518
- . reduce 142 (src line 1027)
+ . reduce 142 (src line 1088)
state 403
bare_complitexpr: '{'.start_complit braced_keyval_list '}'
start_complit: . (140)
- . reduce 140 (src line 1014)
+ . reduce 140 (src line 1075)
start_complit goto 519
pexpr_no_paren: '(' expr_or_type ')' '{'.start_complit braced_keyval_list '}'
start_complit: . (140)
- . reduce 140 (src line 1014)
+ . reduce 140 (src line 1075)
start_complit goto 520
state 406
recvchantype: LCOMM LCHAN ntype. (199)
- . reduce 199 (src line 1282)
+ . reduce 199 (src line 1343)
state 407
ntype: fntype. (167)
non_recvchantype: fntype. (176)
- LBODY reduce 176 (src line 1211)
- '(' reduce 176 (src line 1211)
- '{' reduce 176 (src line 1211)
- . reduce 167 (src line 1193)
+ LBODY reduce 176 (src line 1272)
+ '(' reduce 176 (src line 1272)
+ '{' reduce 176 (src line 1272)
+ . reduce 167 (src line 1254)
state 408
ntype: othertype. (168)
non_recvchantype: othertype. (177)
- LBODY reduce 177 (src line 1213)
- '(' reduce 177 (src line 1213)
- '{' reduce 177 (src line 1213)
- . reduce 168 (src line 1194)
+ LBODY reduce 177 (src line 1274)
+ '(' reduce 177 (src line 1274)
+ '{' reduce 177 (src line 1274)
+ . reduce 168 (src line 1255)
state 409
ntype: ptrtype. (169)
non_recvchantype: ptrtype. (178)
- LBODY reduce 178 (src line 1214)
- '(' reduce 178 (src line 1214)
- '{' reduce 178 (src line 1214)
- . reduce 169 (src line 1195)
+ LBODY reduce 178 (src line 1275)
+ '(' reduce 178 (src line 1275)
+ '{' reduce 178 (src line 1275)
+ . reduce 169 (src line 1256)
state 410
ntype: dotname. (170)
non_recvchantype: dotname. (179)
- LBODY reduce 179 (src line 1215)
- '(' reduce 179 (src line 1215)
- '{' reduce 179 (src line 1215)
- . reduce 170 (src line 1196)
+ LBODY reduce 179 (src line 1276)
+ '(' reduce 179 (src line 1276)
+ '{' reduce 179 (src line 1276)
+ . reduce 170 (src line 1257)
state 411
state 413
ocomma: ','. (289)
- . reduce 289 (src line 1898)
+ . reduce 289 (src line 1959)
state 414
state 415
fnliteral: fnlitdcl lbrace stmt_list '}'. (216)
- . reduce 216 (src line 1491)
+ . reduce 216 (src line 1552)
state 416
error shift 307
LLITERAL shift 68
LBREAK shift 41
- LCASE reduce 251 (src line 1720)
+ LCASE reduce 251 (src line 1781)
LCHAN shift 78
LCONST shift 47
LCONTINUE shift 42
- LDEFAULT reduce 251 (src line 1720)
+ LDEFAULT reduce 251 (src line 1781)
LDEFER shift 44
LFALL shift 40
LFOR shift 50
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 251 (src line 1720)
+ ';' reduce 251 (src line 1781)
'{' shift 308
- '}' reduce 251 (src line 1720)
+ '}' reduce 251 (src line 1781)
'!' shift 62
'~' shift 63
'[' shift 77
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 251 (src line 1720)
+ ';' reduce 251 (src line 1781)
'{' shift 308
- '}' reduce 251 (src line 1720)
+ '}' reduce 251 (src line 1781)
'!' shift 62
'~' shift 63
'[' shift 77
state 418
othertype: '[' oexpr ']' ntype. (191)
- . reduce 191 (src line 1249)
+ . reduce 191 (src line 1310)
state 419
othertype: '[' LDDD ']' ntype. (192)
- . reduce 192 (src line 1254)
+ . reduce 192 (src line 1315)
state 420
non_recvchantype: '(' ntype ')'. (180)
- . reduce 180 (src line 1216)
+ . reduce 180 (src line 1277)
state 421
dotname: name '.' sym. (190)
- . reduce 190 (src line 1237)
+ . reduce 190 (src line 1298)
state 422
'(' shift 321
'?' shift 12
'@' shift 13
- . reduce 287 (src line 1895)
+ . reduce 287 (src line 1956)
sym goto 119
packname goto 324
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 529
state 427
structdcl: embed oliteral. (231)
- . reduce 231 (src line 1590)
+ . reduce 231 (src line 1651)
state 428
oliteral: LLITERAL. (303)
- . reduce 303 (src line 1940)
+ . reduce 303 (src line 2001)
state 429
packname: LNAME.'.' sym
'.' shift 434
- . reduce 236 (src line 1622)
+ . reduce 236 (src line 1683)
state 432
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 533
'(' shift 331
'?' shift 12
'@' shift 13
- . reduce 287 (src line 1895)
+ . reduce 287 (src line 1956)
sym goto 119
packname goto 330
state 437
interfacedcl: new_name indcl. (239)
- . reduce 239 (src line 1653)
+ . reduce 239 (src line 1714)
state 438
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 249 (src line 1708)
+ . reduce 249 (src line 1769)
sym goto 247
ntype goto 249
state 440
import: LIMPORT '(' import_stmt_list osemi ')'. (9)
- . reduce 9 (src line 171)
+ . reduce 9 (src line 232)
state 441
import_stmt_list: import_stmt_list ';' import_stmt. (14)
- . reduce 14 (src line 223)
+ . reduce 14 (src line 284)
state 442
hidden_import: LIMPORT LNAME LLITERAL ';'. (304)
- . reduce 304 (src line 1945)
+ . reduce 304 (src line 2006)
state 443
hidden_import: LVAR hidden_pkg_importsym hidden_type ';'. (305)
- . reduce 305 (src line 1950)
+ . reduce 305 (src line 2011)
state 444
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 298 (src line 1924)
+ . reduce 298 (src line 1985)
sym goto 546
hidden_importsym goto 11
'[' shift 342
'?' shift 12
'@' shift 13
- . reduce 300 (src line 1930)
+ . reduce 300 (src line 1991)
sym goto 550
hidden_importsym goto 553
state 449
hidden_type_misc: '*' hidden_type. (324)
- . reduce 324 (src line 2049)
+ . reduce 324 (src line 2110)
state 450
hidden_type_misc: LCHAN hidden_type_non_recv_chan. (325)
- . reduce 325 (src line 2053)
+ . reduce 325 (src line 2114)
state 451
state 453
hidden_type_non_recv_chan: hidden_type_misc. (315)
- . reduce 315 (src line 2009)
+ . reduce 315 (src line 2070)
state 454
hidden_type_non_recv_chan: hidden_type_func. (316)
- . reduce 316 (src line 2011)
+ . reduce 316 (src line 2072)
state 455
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 296 (src line 1918)
+ . reduce 296 (src line 1979)
sym goto 357
hidden_importsym goto 11
state 458
hidden_constant: hidden_literal. (342)
- . reduce 342 (src line 2196)
+ . reduce 342 (src line 2257)
state 459
state 460
hidden_literal: LLITERAL. (339)
- . reduce 339 (src line 2165)
+ . reduce 339 (src line 2226)
state 461
state 462
hidden_literal: sym. (341)
- . reduce 341 (src line 2188)
+ . reduce 341 (src line 2249)
state 463
state 464
hidden_import: LTYPE hidden_pkgtype hidden_type ';'. (308)
- . reduce 308 (src line 1962)
+ . reduce 308 (src line 2023)
state 465
hidden_import: LFUNC hidden_fndcl fnbody ';'. (309)
- . reduce 309 (src line 1966)
+ . reduce 309 (src line 2027)
state 466
hidden_funarg_list: hidden_funarg_list.',' hidden_funarg
',' shift 469
- . reduce 297 (src line 1922)
+ . reduce 297 (src line 1983)
state 468
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 565
state 472
common_dcl: LVAR '(' vardcl_list osemi ')'. (29)
- . reduce 29 (src line 311)
+ . reduce 29 (src line 372)
state 473
vardcl_list: vardcl_list ';' vardcl. (221)
- . reduce 221 (src line 1526)
+ . reduce 221 (src line 1587)
state 474
expr_list: expr_list.',' expr
',' shift 155
- . reduce 40 (src line 366)
+ . reduce 40 (src line 427)
state 475
ntype: '(' ntype ')'. (171)
- . reduce 171 (src line 1197)
+ . reduce 171 (src line 1258)
state 476
common_dcl: lconst '(' constdcl osemi ')'. (32)
- . reduce 32 (src line 325)
+ . reduce 32 (src line 386)
state 477
osemi: . (286)
';' shift 568
- . reduce 286 (src line 1894)
+ . reduce 286 (src line 1955)
osemi goto 567
state 478
constdcl_list: constdcl1. (222)
- . reduce 222 (src line 1531)
+ . reduce 222 (src line 1592)
state 479
constdcl1: constdcl. (44)
- . reduce 44 (src line 385)
+ . reduce 44 (src line 446)
state 480
'?' shift 12
'@' shift 13
',' shift 225
- . reduce 46 (src line 391)
+ . reduce 46 (src line 452)
sym goto 123
ntype goto 569
expr_list: expr_list.',' expr
',' shift 155
- . reduce 42 (src line 375)
+ . reduce 42 (src line 436)
state 482
common_dcl: LTYPE '(' typedcl_list osemi ')'. (36)
- . reduce 36 (src line 346)
+ . reduce 36 (src line 407)
state 483
typedcl_list: typedcl_list ';' typedcl. (225)
- . reduce 225 (src line 1543)
+ . reduce 225 (src line 1604)
state 484
fnbody: '{' stmt_list '}'. (211)
- . reduce 211 (src line 1462)
+ . reduce 211 (src line 1523)
state 485
fndcl: '(' oarg_type_list_ocomma ')' sym.'(' oarg_type_list_ocomma ')' fnres
'(' shift 570
- . reduce 162 (src line 1159)
+ . reduce 162 (src line 1220)
state 486
fntype: LFUNC '(' oarg_type_list_ocomma ')' fnres. (209)
- . reduce 209 (src line 1449)
+ . reduce 209 (src line 1510)
state 487
fnres: fnret_type. (213)
- . reduce 213 (src line 1475)
+ . reduce 213 (src line 1536)
state 488
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 249 (src line 1708)
+ . reduce 249 (src line 1769)
sym goto 247
ntype goto 249
state 489
fnret_type: recvchantype. (184)
- . reduce 184 (src line 1228)
+ . reduce 184 (src line 1289)
state 490
fnret_type: fntype. (185)
- . reduce 185 (src line 1230)
+ . reduce 185 (src line 1291)
state 491
fnret_type: othertype. (186)
- . reduce 186 (src line 1231)
+ . reduce 186 (src line 1292)
state 492
fnret_type: ptrtype. (187)
- . reduce 187 (src line 1232)
+ . reduce 187 (src line 1293)
state 493
fnret_type: dotname. (188)
- . reduce 188 (src line 1233)
+ . reduce 188 (src line 1294)
state 494
arg_type_list: arg_type_list ',' arg_type. (248)
- . reduce 248 (src line 1703)
+ . reduce 248 (src line 1764)
state 495
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 212 (src line 1470)
+ . reduce 212 (src line 1531)
sym goto 123
dotname goto 493
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 212 (src line 1470)
+ . reduce 212 (src line 1531)
sym goto 123
dotname goto 493
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 251 (src line 1720)
+ ';' reduce 251 (src line 1781)
'{' shift 308
- '}' reduce 251 (src line 1720)
+ '}' reduce 251 (src line 1781)
'!' shift 62
'~' shift 63
'[' shift 77
switch_stmt: LSWITCH $$88 if_header $$89 LBODY.caseblock_list '}'
caseblock_list: . (63)
- . reduce 63 (src line 591)
+ . reduce 63 (src line 652)
caseblock_list goto 577
state 502
if_header: osimple_stmt ';' osimple_stmt. (77)
- . reduce 77 (src line 678)
+ . reduce 77 (src line 739)
state 503
caseblock_list: caseblock_list caseblock. (64)
- . reduce 64 (src line 595)
+ . reduce 64 (src line 656)
state 504
select_stmt: LSELECT $$91 LBODY caseblock_list '}'. (92)
- . reduce 92 (src line 783)
+ . reduce 92 (src line 844)
state 505
caseblock: case.$$61 stmt_list
$$61: . (61)
- . reduce 61 (src line 560)
+ . reduce 61 (src line 621)
$$61 goto 578
if_stmt: LIF $$78 if_header $$79 loop_body.$$80 elseif_list else
$$80: . (80)
- . reduce 80 (src line 700)
+ . reduce 80 (src line 761)
$$80 goto 581
state 509
pseudocall: pexpr '(' expr_or_type_list ocomma ')'. (124)
- . reduce 124 (src line 930)
+ . reduce 124 (src line 991)
state 510
state 511
expr_or_type_list: expr_or_type_list ',' expr_or_type. (279)
- . reduce 279 (src line 1856)
+ . reduce 279 (src line 1917)
state 512
pexpr_no_paren: pexpr '.' '(' expr_or_type ')'. (129)
- . reduce 129 (src line 959)
+ . reduce 129 (src line 1020)
state 513
pexpr_no_paren: pexpr '.' '(' LTYPE ')'. (130)
- . reduce 130 (src line 963)
+ . reduce 130 (src line 1024)
state 514
state 515
pexpr_no_paren: pexpr_no_paren '{' start_complit braced_keyval_list '}'. (137)
- . reduce 137 (src line 999)
+ . reduce 137 (src line 1060)
state 516
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 289 (src line 1898)
+ . reduce 289 (src line 1959)
sym goto 123
expr goto 402
state 517
braced_keyval_list: keyval_list ocomma. (285)
- . reduce 285 (src line 1886)
+ . reduce 285 (src line 1947)
state 518
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 284 (src line 1882)
+ . reduce 284 (src line 1943)
sym goto 123
expr goto 402
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 284 (src line 1882)
+ . reduce 284 (src line 1943)
sym goto 123
expr goto 402
state 522
pexpr_no_paren: convtype '(' expr ocomma ')'. (135)
- . reduce 135 (src line 986)
+ . reduce 135 (src line 1047)
state 523
pexpr_no_paren: comptype lbrace start_complit braced_keyval_list '}'. (136)
- . reduce 136 (src line 992)
+ . reduce 136 (src line 1053)
state 524
stmt_list: stmt_list ';' stmt. (271)
- . reduce 271 (src line 1813)
+ . reduce 271 (src line 1874)
state 525
state 526
othertype: LMAP '[' ntype ']' ntype. (195)
- . reduce 195 (src line 1269)
+ . reduce 195 (src line 1330)
state 527
structtype: LSTRUCT lbrace structdcl_list osemi '}'. (200)
- . reduce 200 (src line 1289)
+ . reduce 200 (src line 1350)
state 528
structdcl_list: structdcl_list ';' structdcl. (227)
- . reduce 227 (src line 1550)
+ . reduce 227 (src line 1611)
state 529
structdcl: new_name_list ntype oliteral. (230)
- . reduce 230 (src line 1565)
+ . reduce 230 (src line 1626)
state 530
new_name_list: new_name_list ',' new_name. (273)
- . reduce 273 (src line 1826)
+ . reduce 273 (src line 1887)
state 531
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 594
state 533
structdcl: '*' embed oliteral. (233)
- . reduce 233 (src line 1601)
+ . reduce 233 (src line 1662)
state 534
state 535
packname: LNAME '.' sym. (237)
- . reduce 237 (src line 1633)
+ . reduce 237 (src line 1694)
state 536
interfacetype: LINTERFACE lbrace interfacedcl_list osemi '}'. (202)
- . reduce 202 (src line 1302)
+ . reduce 202 (src line 1363)
state 537
interfacedcl_list: interfacedcl_list ';' interfacedcl. (229)
- . reduce 229 (src line 1560)
+ . reduce 229 (src line 1621)
state 538
state 539
interfacedcl: '(' packname ')'. (241)
- . reduce 241 (src line 1663)
+ . reduce 241 (src line 1724)
state 540
hidden_type_misc: '[' ']' hidden_type. (319)
- . reduce 319 (src line 2029)
+ . reduce 319 (src line 2090)
state 541
hidden_structdcl_list: hidden_structdcl_list.';' hidden_structdcl
';' shift 601
- . reduce 299 (src line 1928)
+ . reduce 299 (src line 1989)
state 545
hidden_structdcl_list: hidden_structdcl. (348)
- . reduce 348 (src line 2223)
+ . reduce 348 (src line 2284)
state 546
hidden_interfacedcl_list: hidden_interfacedcl_list.';' hidden_interfacedcl
';' shift 604
- . reduce 301 (src line 1934)
+ . reduce 301 (src line 1995)
state 549
hidden_interfacedcl_list: hidden_interfacedcl. (350)
- . reduce 350 (src line 2233)
+ . reduce 350 (src line 2294)
state 550
state 551
hidden_interfacedcl: hidden_type. (334)
- . reduce 334 (src line 2140)
+ . reduce 334 (src line 2201)
state 552
sym: LNAME. (157)
hidden_type_misc: LNAME. (318)
- '(' reduce 157 (src line 1114)
- . reduce 318 (src line 2018)
+ '(' reduce 157 (src line 1175)
+ . reduce 318 (src line 2079)
state 553
sym: hidden_importsym. (158)
hidden_type_misc: hidden_importsym. (317)
- '(' reduce 158 (src line 1123)
- . reduce 317 (src line 2013)
+ '(' reduce 158 (src line 1184)
+ . reduce 317 (src line 2074)
state 554
state 555
hidden_type_misc: LCHAN LCOMM hidden_type. (327)
- . reduce 327 (src line 2065)
+ . reduce 327 (src line 2126)
state 556
hidden_type_recv_chan: LCOMM LCHAN hidden_type. (328)
- . reduce 328 (src line 2072)
+ . reduce 328 (src line 2133)
state 557
state 558
hidden_import: LCONST hidden_pkg_importsym '=' hidden_constant ';'. (306)
- . reduce 306 (src line 1954)
+ . reduce 306 (src line 2015)
state 559
state 560
hidden_literal: '-' LLITERAL. (340)
- . reduce 340 (src line 2170)
+ . reduce 340 (src line 2231)
state 561
'(' shift 612
'[' shift 342
'@' shift 13
- . reduce 335 (src line 2145)
+ . reduce 335 (src line 2206)
hidden_importsym goto 340
hidden_funres goto 611
state 564
hidden_funarg_list: hidden_funarg_list ',' hidden_funarg. (347)
- . reduce 347 (src line 2218)
+ . reduce 347 (src line 2279)
state 565
hidden_funarg: sym hidden_type oliteral. (330)
- . reduce 330 (src line 2086)
+ . reduce 330 (src line 2147)
state 566
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 615
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 287 (src line 1895)
+ . reduce 287 (src line 1956)
sym goto 105
dcl_name goto 104
constdcl1: dcl_name_list ntype. (45)
'=' shift 367
- . reduce 45 (src line 387)
+ . reduce 45 (src line 448)
state 570
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 249 (src line 1708)
+ . reduce 249 (src line 1769)
sym goto 247
ntype goto 249
state 572
fndcl: sym '(' oarg_type_list_ocomma ')' fnres. (205)
- . reduce 205 (src line 1337)
+ . reduce 205 (src line 1398)
state 573
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 294 (src line 1912)
+ . reduce 294 (src line 1973)
sym goto 123
expr goto 48
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 67 (src line 611)
+ . reduce 67 (src line 672)
state 576
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 68 (src line 618)
+ . reduce 68 (src line 679)
state 577
error shift 307
LLITERAL shift 68
LBREAK shift 41
- LCASE reduce 251 (src line 1720)
+ LCASE reduce 251 (src line 1781)
LCHAN shift 78
LCONST shift 47
LCONTINUE shift 42
- LDEFAULT reduce 251 (src line 1720)
+ LDEFAULT reduce 251 (src line 1781)
LDEFER shift 44
LFALL shift 40
LFOR shift 50
'*' shift 58
'&' shift 59
'(' shift 67
- ';' reduce 251 (src line 1720)
+ ';' reduce 251 (src line 1781)
'{' shift 308
- '}' reduce 251 (src line 1720)
+ '}' reduce 251 (src line 1781)
'!' shift 62
'~' shift 63
'[' shift 77
state 580
case: LDEFAULT ':'. (58)
- . reduce 58 (src line 525)
+ . reduce 58 (src line 586)
state 581
if_stmt: LIF $$78 if_header $$79 loop_body $$80.elseif_list else
elseif_list: . (84)
- . reduce 84 (src line 735)
+ . reduce 84 (src line 796)
elseif_list goto 628
state 582
pseudocall: pexpr '(' expr_or_type_list LDDD ocomma ')'. (125)
- . reduce 125 (src line 935)
+ . reduce 125 (src line 996)
state 583
pexpr_no_paren: pexpr '[' oexpr ':' oexpr ']'. (132)
- . reduce 132 (src line 971)
+ . reduce 132 (src line 1032)
state 584
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 290 (src line 1900)
+ . reduce 290 (src line 1961)
sym goto 123
expr goto 188
state 585
keyval_list: keyval_list ',' keyval. (282)
- . reduce 282 (src line 1873)
+ . reduce 282 (src line 1934)
state 586
keyval_list: keyval_list ',' bare_complitexpr. (283)
- . reduce 283 (src line 1877)
+ . reduce 283 (src line 1938)
state 587
keyval: expr ':' complitexpr. (141)
- . reduce 141 (src line 1021)
+ . reduce 141 (src line 1082)
state 588
'/' shift 146
'%' shift 147
'&' shift 148
- . reduce 144 (src line 1047)
+ . reduce 144 (src line 1108)
state 589
complitexpr: '{'.start_complit braced_keyval_list '}'
start_complit: . (140)
- . reduce 140 (src line 1014)
+ . reduce 140 (src line 1075)
start_complit goto 630
ntype: '(' ntype ')'. (171)
non_recvchantype: '(' ntype ')'. (180)
- LBODY reduce 180 (src line 1216)
- '(' reduce 180 (src line 1216)
- '{' reduce 180 (src line 1216)
- . reduce 171 (src line 1197)
+ LBODY reduce 180 (src line 1277)
+ '(' reduce 180 (src line 1277)
+ '{' reduce 180 (src line 1277)
+ . reduce 171 (src line 1258)
state 593
compound_stmt: '{' $$59 stmt_list '}'. (60)
- . reduce 60 (src line 550)
+ . reduce 60 (src line 611)
state 594
structdcl: '(' embed ')' oliteral. (232)
- . reduce 232 (src line 1595)
+ . reduce 232 (src line 1656)
state 595
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 633
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 634
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 212 (src line 1470)
+ . reduce 212 (src line 1531)
sym goto 123
dotname goto 493
state 598
hidden_type_misc: '[' LLITERAL ']' hidden_type. (320)
- . reduce 320 (src line 2033)
+ . reduce 320 (src line 2094)
state 599
state 600
hidden_type_misc: LSTRUCT '{' ohidden_structdcl_list '}'. (322)
- . reduce 322 (src line 2041)
+ . reduce 322 (src line 2102)
state 601
oliteral: . (302)
LLITERAL shift 428
- . reduce 302 (src line 1936)
+ . reduce 302 (src line 1997)
oliteral goto 638
state 603
hidden_type_misc: LINTERFACE '{' ohidden_interfacedcl_list '}'. (323)
- . reduce 323 (src line 2045)
+ . reduce 323 (src line 2106)
state 604
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 296 (src line 1918)
+ . reduce 296 (src line 1979)
sym goto 357
hidden_importsym goto 11
state 606
hidden_type_misc: LCHAN '(' hidden_type_recv_chan ')'. (326)
- . reduce 326 (src line 2059)
+ . reduce 326 (src line 2120)
state 607
'(' shift 612
'[' shift 342
'@' shift 13
- . reduce 335 (src line 2145)
+ . reduce 335 (src line 2206)
hidden_importsym goto 340
hidden_funres goto 611
state 609
hidden_import: LCONST hidden_pkg_importsym hidden_type '=' hidden_constant ';'. (307)
- . reduce 307 (src line 1958)
+ . reduce 307 (src line 2019)
state 610
hidden_fndcl: hidden_pkg_importsym '(' ohidden_funarg_list ')' ohidden_funres. (207)
- . reduce 207 (src line 1406)
+ . reduce 207 (src line 1467)
state 611
ohidden_funres: hidden_funres. (336)
- . reduce 336 (src line 2149)
+ . reduce 336 (src line 2210)
state 612
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 296 (src line 1918)
+ . reduce 296 (src line 1979)
sym goto 357
hidden_importsym goto 11
state 613
hidden_funres: hidden_type. (338)
- . reduce 338 (src line 2156)
+ . reduce 338 (src line 2217)
state 614
LNAME shift 10
'?' shift 12
'@' shift 13
- . reduce 296 (src line 1918)
+ . reduce 296 (src line 1979)
sym goto 357
hidden_importsym goto 11
state 615
hidden_funarg: sym LDDD hidden_type oliteral. (331)
- . reduce 331 (src line 2095)
+ . reduce 331 (src line 2156)
state 616
common_dcl: lconst '(' constdcl ';' constdcl_list osemi ')'. (33)
- . reduce 33 (src line 331)
+ . reduce 33 (src line 392)
state 617
constdcl_list: constdcl_list ';' constdcl1. (223)
- . reduce 223 (src line 1533)
+ . reduce 223 (src line 1594)
state 618
state 619
fnres: '(' oarg_type_list_ocomma ')'. (214)
- . reduce 214 (src line 1479)
+ . reduce 214 (src line 1540)
state 620
loop_body: LBODY $$65 stmt_list '}'. (66)
- . reduce 66 (src line 605)
+ . reduce 66 (src line 666)
state 621
for_header: osimple_stmt ';' osimple_stmt ';' osimple_stmt. (70)
- . reduce 70 (src line 631)
+ . reduce 70 (src line 692)
state 622
switch_stmt: LSWITCH $$88 if_header $$89 LBODY caseblock_list '}'. (90)
- . reduce 90 (src line 769)
+ . reduce 90 (src line 830)
state 623
stmt_list: stmt_list.';' stmt
';' shift 416
- . reduce 62 (src line 572)
+ . reduce 62 (src line 633)
state 624
case: LCASE expr_or_type_list ':'. (55)
- . reduce 55 (src line 474)
+ . reduce 55 (src line 535)
state 625
else: . (86)
LELSE shift 650
- . reduce 86 (src line 744)
+ . reduce 86 (src line 805)
elseif goto 649
else goto 648
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 284 (src line 1882)
+ . reduce 284 (src line 1943)
sym goto 123
expr goto 402
state 631
bare_complitexpr: '{' start_complit braced_keyval_list '}'. (143)
- . reduce 143 (src line 1041)
+ . reduce 143 (src line 1102)
state 632
pexpr_no_paren: '(' expr_or_type ')' '{' start_complit braced_keyval_list '}'. (138)
- . reduce 138 (src line 1005)
+ . reduce 138 (src line 1066)
state 633
structdcl: '(' '*' embed ')' oliteral. (234)
- . reduce 234 (src line 1607)
+ . reduce 234 (src line 1668)
state 634
structdcl: '*' '(' embed ')' oliteral. (235)
- . reduce 235 (src line 1614)
+ . reduce 235 (src line 1675)
state 635
indcl: '(' oarg_type_list_ocomma ')' fnres. (242)
- . reduce 242 (src line 1669)
+ . reduce 242 (src line 1730)
state 636
hidden_type_misc: LMAP '[' hidden_type ']' hidden_type. (321)
- . reduce 321 (src line 2037)
+ . reduce 321 (src line 2098)
state 637
hidden_structdcl_list: hidden_structdcl_list ';' hidden_structdcl. (349)
- . reduce 349 (src line 2228)
+ . reduce 349 (src line 2289)
state 638
hidden_structdcl: sym hidden_type oliteral. (332)
- . reduce 332 (src line 2111)
+ . reduce 332 (src line 2172)
state 639
hidden_interfacedcl_list: hidden_interfacedcl_list ';' hidden_interfacedcl. (351)
- . reduce 351 (src line 2238)
+ . reduce 351 (src line 2299)
state 640
state 641
hidden_type_func: LFUNC '(' ohidden_funarg_list ')' ohidden_funres. (329)
- . reduce 329 (src line 2080)
+ . reduce 329 (src line 2141)
state 642
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 212 (src line 1470)
+ . reduce 212 (src line 1531)
sym goto 123
dotname goto 493
state 648
if_stmt: LIF $$78 if_header $$79 loop_body $$80 elseif_list else. (81)
- . reduce 81 (src line 704)
+ . reduce 81 (src line 765)
state 649
elseif_list: elseif_list elseif. (85)
- . reduce 85 (src line 739)
+ . reduce 85 (src line 800)
state 650
state 651
pexpr_no_paren: pexpr '[' oexpr ':' oexpr ':' oexpr ']'. (133)
- . reduce 133 (src line 975)
+ . reduce 133 (src line 1036)
state 652
'(' shift 612
'[' shift 342
'@' shift 13
- . reduce 335 (src line 2145)
+ . reduce 335 (src line 2206)
hidden_importsym goto 340
hidden_funres goto 611
state 654
hidden_constant: '(' hidden_literal '+' hidden_literal ')'. (343)
- . reduce 343 (src line 2198)
+ . reduce 343 (src line 2259)
state 655
hidden_funres: '(' ohidden_funarg_list ')'. (337)
- . reduce 337 (src line 2151)
+ . reduce 337 (src line 2212)
state 656
'(' shift 612
'[' shift 342
'@' shift 13
- . reduce 335 (src line 2145)
+ . reduce 335 (src line 2206)
hidden_importsym goto 340
hidden_funres goto 611
state 657
fndcl: '(' oarg_type_list_ocomma ')' sym '(' oarg_type_list_ocomma ')' fnres. (206)
- . reduce 206 (src line 1369)
+ . reduce 206 (src line 1430)
state 658
case: LCASE expr_or_type_list '=' expr ':'. (56)
- . reduce 56 (src line 498)
+ . reduce 56 (src line 559)
state 659
case: LCASE expr_or_type_list LCOLAS expr ':'. (57)
- . reduce 57 (src line 516)
+ . reduce 57 (src line 577)
state 660
elseif: LELSE LIF.$$82 if_header loop_body
$$82: . (82)
- . reduce 82 (src line 721)
+ . reduce 82 (src line 782)
$$82 goto 665
state 661
else: LELSE compound_stmt. (87)
- . reduce 87 (src line 748)
+ . reduce 87 (src line 809)
state 662
complitexpr: '{' start_complit braced_keyval_list '}'. (145)
- . reduce 145 (src line 1049)
+ . reduce 145 (src line 1110)
state 663
hidden_interfacedcl: sym '(' ohidden_funarg_list ')' ohidden_funres. (333)
- . reduce 333 (src line 2135)
+ . reduce 333 (src line 2196)
state 664
hidden_fndcl: '(' hidden_funarg_list ')' sym '(' ohidden_funarg_list ')' ohidden_funres. (208)
- . reduce 208 (src line 1432)
+ . reduce 208 (src line 1493)
state 665
'[' shift 77
'?' shift 12
'@' shift 13
- . reduce 294 (src line 1912)
+ . reduce 294 (src line 1973)
sym goto 123
expr goto 48
state 667
elseif: LELSE LIF $$82 if_header loop_body. (83)
- . reduce 83 (src line 726)
+ . reduce 83 (src line 787)
76 terminals, 142 nonterminals