From ceda50048870217cfa6de1ebad22f851d1259718 Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Thu, 17 Mar 2016 01:09:14 +0100
Subject: Fixed two reduce/reduce conflicts in d2c.

---
 ChangeLog           |  5 +++++
 tools/d2c/grammar.y | 28 +++++++++++++++++-----------
 2 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 63b2a01..5064b4d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 16-03-17  Cyrille Bagard <nocbos@gmail.com>
 
+	* tools/d2c/grammar.y:
+	Fix two reduce/reduce conflicts in d2c.
+
+16-03-17  Cyrille Bagard <nocbos@gmail.com>
+
 	* plugins/pychrysa/gtkext/viewpanel.c:
 	Update code.
 
diff --git a/tools/d2c/grammar.y b/tools/d2c/grammar.y
index 02b2671..f0c1779 100644
--- a/tools/d2c/grammar.y
+++ b/tools/d2c/grammar.y
@@ -175,28 +175,31 @@ name : COPYRIGHT TITLE INS_NAME                     { save_notes_for_coder(coder
 encodings : /* empty */
           | encoding encodings
 
-encoding : ENCODING TYPE NUMBER format_content { push_encoding_spec(coder, $2, $3); }
-         | ENCODING format_content { push_encoding_spec(coder, NULL, -1); }
-         | ENCODING TYPE NUMBER content { push_encoding_spec(coder, $2, $3); }
+encoding : ENCODING TYPE NUMBER format_encoding { push_encoding_spec(coder, $2, $3); }
+         | ENCODING format_encoding { push_encoding_spec(coder, NULL, -1); }
+         | ENCODING TYPE NUMBER raw_encoding { push_encoding_spec(coder, $2, $3); }
 
 
 /* Définitions à l'aide d'un format défini */
 
-format_content : /* empty */
-               | format format_content
+format_encoding : format format_content
 
 format : FORMAT RAW_LINE { handle_coder_format(coder, $2); }
 
+format_content : /* empty */
+               | hooks format_content
+               | rules format_content
+
 
 /* Définitions à l'aide de données brutes */
 
+raw_encoding : bitfield raw_content
 
-content : /* empty */
-        | bitfield content
-        | syntax content
-        | conversions content
-        | hooks content
-        | rules content
+raw_content : /* empty */
+            | syntax raw_content
+            | conversions raw_content
+            | hooks raw_content
+            | rules raw_content
 
 bitfield : HALF RAW_LINE { handle_coder_bits(coder, 16, $2); }
          | WORD RAW_LINE { handle_coder_bits(coder, 32, $2); }
@@ -205,6 +208,9 @@ syntax : SYNTAX RAW_LINE { handle_coder_syntax(coder, $2); }
 
 conversions : CONV RAW_BLOCK { handle_coder_conversions(coder, $2); }
 
+
+/* Définitions communes */
+
 hooks : HOOKS RAW_BLOCK { handle_coder_hooks(coder, $2); }
 
 rules : RULES RAW_BLOCK { handle_coder_rules(coder, $2); }
-- 
cgit v0.11.2-87-g4458