diff options
author | Björn-Egil Dahlberg <[email protected]> | 2014-03-06 17:59:09 +0100 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2014-03-17 17:47:34 +0100 |
commit | 70c968442a8e2afbae7fa485527920006bfe2031 (patch) | |
tree | 81dfe4e5d0974b69416c20e49252fa78f4a8119f /lib/compiler/src/core_parse.yrl | |
parent | ea699f3510b464d6b65b30342f2ddd5912e127a7 (diff) | |
download | otp-70c968442a8e2afbae7fa485527920006bfe2031.tar.gz otp-70c968442a8e2afbae7fa485527920006bfe2031.tar.bz2 otp-70c968442a8e2afbae7fa485527920006bfe2031.zip |
compiler: Change Maps Core Format
Ex.
Instead of:
M~{~<K,V>}~
The format is now:
~{~<K,V>|M}~
This also removes a shift/reduce warning.
The changes in core_pp now requires compiler-5.0 to compile
because of is_map/1 guard, i.e. a need for a compiler with Maps know-how.
Diffstat (limited to 'lib/compiler/src/core_parse.yrl')
-rw-r--r-- | lib/compiler/src/core_parse.yrl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/compiler/src/core_parse.yrl b/lib/compiler/src/core_parse.yrl index b8db0f683a..8d07ab42b0 100644 --- a/lib/compiler/src/core_parse.yrl +++ b/lib/compiler/src/core_parse.yrl @@ -21,7 +21,7 @@ %% Have explicit productions for annotated phrases named anno_XXX. %% This just does an XXX and adds the annotation. -Expect 1. +Expect 0. Nonterminals @@ -285,9 +285,9 @@ tuple -> '{' '}' : c_tuple([]). tuple -> '{' anno_expressions '}' : c_tuple('$2'). map_expr -> '~' '{' '}' '~' : #c_map{es=[]}. -map_expr -> '~' '{' map_pairs '}' '~' : #c_map{es='$3'}. -map_expr -> variable '~' '{' '}' '~' : #c_map{var='$1',es=[]}. -map_expr -> variable '~' '{' map_pairs '}' '~' : #c_map{var='$1',es='$4'}. +map_expr -> '~' '{' map_pairs '}' '~' : #c_map{es='$3'}. +map_expr -> '~' '{' map_pairs '|' variable '}' '~' : #c_map{var='$5',es='$3'}. +map_expr -> '~' '{' map_pairs '|' map_expr '}' '~' : #c_map{var='$5',es='$3'}. map_pairs -> map_pair : ['$1']. map_pairs -> map_pair ',' map_pairs : ['$1' | '$3']. |