diff options
Diffstat (limited to 'tools/d2c/syntax.h')
-rw-r--r-- | tools/d2c/syntax.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/d2c/syntax.h b/tools/d2c/syntax.h index 0cd9210..fc7cc6b 100644 --- a/tools/d2c/syntax.h +++ b/tools/d2c/syntax.h @@ -34,6 +34,15 @@ +/* Type d'éléments de syntaxe */ +typedef enum _SyntaxItemType +{ + SIT_KEYWORD, /* Elément de l'instruction */ + SIT_INT_OPERAND, /* Propriété d'architecture */ + SIT_EXT_OPERAND /* Opérande généraliste */ + +} SyntaxItemType; + /* Syntaxe d'une ligne d'assembleur */ typedef struct _asm_syntax asm_syntax; @@ -45,7 +54,7 @@ asm_syntax *create_asm_syntax(void); void delete_asm_syntax(asm_syntax *); /* Enregistre la présence d'un nouvel opérande dans la syntaxe. */ -void register_syntax_item(asm_syntax *, char *, bool); +void register_syntax_item(asm_syntax *, char *, SyntaxItemType); /* Marque les champs de bits effectivement utilisés. */ bool mark_syntax_items(const asm_syntax *, const coding_bits *, const conv_list *); @@ -53,6 +62,9 @@ bool mark_syntax_items(const asm_syntax *, const coding_bits *, const conv_list /* Déclare les variables C associées aux opérandes de syntaxe. */ bool declare_syntax_items(const asm_syntax *, int, const coding_bits *, const conv_list *, unsigned int); +/* Fournit si elle existe un nom nouveau pour une instruction. */ +const char *get_new_keyword_from_syntax_items(const asm_syntax *); + /* Définit les variables C associées aux opérandes de syntaxe. */ bool define_syntax_items(const asm_syntax *, int, const char *, const coding_bits *, const conv_list *, const pre_processor *); |