From ceda50048870217cfa6de1ebad22f851d1259718 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard 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 + * tools/d2c/grammar.y: + Fix two reduce/reduce conflicts in d2c. + +16-03-17 Cyrille Bagard + * 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