summaryrefslogtreecommitdiff
path: root/tools/d2c/d2c_gram.y
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2014-12-04 22:59:30 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2014-12-04 22:59:30 (GMT)
commit12154652c576144405011b5bd267c15c9667f223 (patch)
treebe552b2b7bc563a58892e8950afd920a45132a6e /tools/d2c/d2c_gram.y
parent6803c5d5b86416d1748d4d37a5cc5cb44fe007b1 (diff)
Provided a new way to build the full name of each instruction and cached it.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@435 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'tools/d2c/d2c_gram.y')
-rw-r--r--tools/d2c/d2c_gram.y9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/d2c/d2c_gram.y b/tools/d2c/d2c_gram.y
index 1c25b17..5ae93c8 100644
--- a/tools/d2c/d2c_gram.y
+++ b/tools/d2c/d2c_gram.y
@@ -138,7 +138,7 @@ struct action_tmp
%token WORD HALF NAME SIZE BIT
-%token SYNTAX OPERAND_INTERNAL OPERAND_VISIBLE
+%token SYNTAX OPERAND_NAME OPERAND_INTERNAL OPERAND_VISIBLE
%token CONV EQ OP COMMA CP NOT EOR COLON
@@ -154,7 +154,7 @@ struct action_tmp
%type <string> NAME
%type <integer> SIZE BIT
-%type <string> OPERAND_INTERNAL OPERAND_VISIBLE
+%type <string> OPERAND_NAME OPERAND_INTERNAL OPERAND_VISIBLE
%type <subst> substitution
@@ -216,8 +216,9 @@ bits : /* empty */
syntax : SYNTAX operands
operands : /* empty */
- | operands OPERAND_INTERNAL { register_syntax_item_in_coder(coder, $2, true); }
- | operands OPERAND_VISIBLE { register_syntax_item_in_coder(coder, $2, false); }
+ | operands OPERAND_NAME { register_syntax_item_in_coder(coder, $2, SIT_KEYWORD); }
+ | operands OPERAND_INTERNAL { register_syntax_item_in_coder(coder, $2, SIT_INT_OPERAND); }
+ | operands OPERAND_VISIBLE { register_syntax_item_in_coder(coder, $2, SIT_EXT_OPERAND); }
conversions : CONV substitutions