mirror of
https://github.com/golang/go
synced 2024-11-21 17:44:40 -07:00
gc: bug277 - new conversion syntax
R=ken2 CC=golang-dev https://golang.org/cl/1220046
This commit is contained in:
parent
43c0a46ac6
commit
2e9b67afa6
@ -70,7 +70,7 @@
|
||||
%type <list> interfacedcl_list vardcl vardcl_list structdcl structdcl_list
|
||||
%type <list> common_dcl constdcl constdcl1 constdcl_list typedcl_list
|
||||
|
||||
%type <node> convtype dotdotdot
|
||||
%type <node> convtype comptype dotdotdot
|
||||
%type <node> indcl interfacetype structtype ptrtype
|
||||
%type <node> recvchantype non_recvchantype othertype fnret_type fntype
|
||||
|
||||
@ -822,7 +822,7 @@ pexpr:
|
||||
$$ = nod(OCALL, $1, N);
|
||||
$$->list = list1($3);
|
||||
}
|
||||
| convtype lbrace braced_keyval_list '}'
|
||||
| comptype lbrace braced_keyval_list '}'
|
||||
{
|
||||
// composite expression
|
||||
$$ = nod(OCOMPLIT, N, $1);
|
||||
@ -886,7 +886,7 @@ sym:
|
||||
LNAME
|
||||
|
||||
name:
|
||||
sym
|
||||
sym %prec NotParen
|
||||
{
|
||||
$$ = oldname($1);
|
||||
if($$->pack != N)
|
||||
@ -896,24 +896,6 @@ name:
|
||||
labelname:
|
||||
new_name
|
||||
|
||||
convtype:
|
||||
'[' oexpr ']' ntype
|
||||
{
|
||||
// array literal
|
||||
$$ = nod(OTARRAY, $2, $4);
|
||||
}
|
||||
| '[' LDDD ']' ntype
|
||||
{
|
||||
// array literal of nelem
|
||||
$$ = nod(OTARRAY, nod(ODDD, N, N), $4);
|
||||
}
|
||||
| LMAP '[' ntype ']' ntype
|
||||
{
|
||||
// map literal
|
||||
$$ = nod(OTMAP, $3, $5);
|
||||
}
|
||||
| structtype
|
||||
|
||||
/*
|
||||
* to avoid parsing conflicts, type is split into
|
||||
* channel types
|
||||
@ -963,6 +945,13 @@ non_recvchantype:
|
||||
$$ = $2;
|
||||
}
|
||||
|
||||
convtype:
|
||||
fntype
|
||||
| othertype
|
||||
|
||||
comptype:
|
||||
othertype
|
||||
|
||||
fnret_type:
|
||||
recvchantype
|
||||
| fntype
|
||||
|
Loading…
Reference in New Issue
Block a user