diff options
Diffstat (limited to 'lib/compiler/src')
| -rw-r--r-- | lib/compiler/src/core_parse.yrl | 8 | ||||
| -rw-r--r-- | lib/compiler/src/sys_core_fold.erl | 8 | 
2 files changed, 4 insertions, 12 deletions
| diff --git a/lib/compiler/src/core_parse.yrl b/lib/compiler/src/core_parse.yrl index 716c03bc94..849f801a11 100644 --- a/lib/compiler/src/core_parse.yrl +++ b/lib/compiler/src/core_parse.yrl @@ -193,12 +193,12 @@ map_pair_pattern -> '~' '<' anno_expression ',' anno_pattern '>' :  			#c_map_pair{op=#c_literal{val=exact},key='$3',val='$5'}.  cons_pattern -> '[' anno_pattern tail_pattern : -		    #c_cons{hd='$2',tl='$3'}. +		    c_cons('$2', '$3').  tail_pattern -> ']' : #c_literal{val=[]}.  tail_pattern -> '|' anno_pattern ']' : '$2'.  tail_pattern -> ',' anno_pattern tail_pattern : -		    #c_cons{hd='$2',tl='$3'}. +		    c_cons('$2', '$3').  binary_pattern -> '#' '{' '}' '#' : #c_binary{segments=[]}.  binary_pattern -> '#' '{' segment_patterns '}' '#' : #c_binary{segments='$3'}. @@ -206,7 +206,7 @@ binary_pattern -> '#' '{' segment_patterns '}' '#' : #c_binary{segments='$3'}.  segment_patterns -> segment_pattern ',' segment_patterns : ['$1' | '$3'].  segment_patterns -> segment_pattern : ['$1']. -segment_pattern -> '#' '<' anno_pattern '>' '(' anno_patterns ')': +segment_pattern -> '#' '<' anno_pattern '>' '(' anno_expressions ')':  	case '$6' of  	    [S,U,T,Fs] ->  		#c_bitstr{val='$3',size=S,unit=U,type=T,flags=Fs}; @@ -279,7 +279,7 @@ cons_literal -> '[' literal tail_literal : c_cons('$2', '$3').  tail_literal -> ']' : #c_literal{val=[]}.  tail_literal -> '|' literal ']' : '$2'. -tail_literal -> ',' literal tail_literal : #c_cons{hd='$2',tl='$3'}. +tail_literal -> ',' literal tail_literal : c_cons('$2', '$3').  tuple -> '{' '}' : c_tuple([]).  tuple -> '{' anno_expressions '}' : c_tuple('$2'). diff --git a/lib/compiler/src/sys_core_fold.erl b/lib/compiler/src/sys_core_fold.erl index e079fc072a..08b1c0d7b7 100644 --- a/lib/compiler/src/sys_core_fold.erl +++ b/lib/compiler/src/sys_core_fold.erl @@ -607,14 +607,6 @@ eval_binary_1([#c_bitstr{val=#c_literal{val=Val},size=#c_literal{val=Sz},  	error:_ ->  	    throw(impossible)      end; -eval_binary_1([#c_bitstr{val=#c_literal{},size=#c_literal{}, -			 unit=#c_literal{},type=#c_literal{}, -			 flags=#c_cons{}=Flags}=Bitstr|Ss], Acc0) -> -    case cerl:fold_literal(Flags) of -	#c_literal{} = Flags1 -> -	    eval_binary_1([Bitstr#c_bitstr{flags=Flags1}|Ss], Acc0); -	_ -> throw(impossible) -    end;  eval_binary_1([], Acc) -> Acc;  eval_binary_1(_, _) -> throw(impossible). | 
