F diff --git a/src/frontend/lex/automatas/generator/generator.c b/src/frontend/lex/automatas/generator/generator.c
--- a/src/frontend/lex/automatas/generator/generator.c
+++ b/src/frontend/lex/automatas/generator/generator.c
current->output.delta[get_ch(entry->keyword+where_in_keyword,1)]=(struct Automata_Node*)get_generator_node(null_str,no_type_str,automata_no_action_str);
}
- current->output.delta[get_ch(entry->keyword+where_in_keyword,1)]=(struct Automata_Node*)get_generator_node(entry->data_string,entry->kw_string,entry->action_string);
+ if(current->output.delta[get_ch(entry->keyword+where_in_keyword,1)]==NULL)
+ current->output.delta[get_ch(entry->keyword+where_in_keyword,1)]=(struct Automata_Node*)get_generator_node(entry->data_string,entry->kw_string,entry->action_string);
+ else
+ {
+ ((struct Generator_Node*)current->output.delta[get_ch(entry->keyword+where_in_keyword,1)])->kw_string=entry->kw_string;
+ ((struct Generator_Node*)current->output.delta[get_ch(entry->keyword+where_in_keyword,1)])->data_string=entry->data_string;
+ ((struct Generator_Node*)current->output.delta[get_ch(entry->keyword+where_in_keyword,1)])->action_string=entry->action_string;
+ }
+
return (struct Generator_Node*)current->output.delta[get_ch(entry->keyword+where_in_keyword,1)];
}
struct Generator_Node* get_generator_node(const char *data_string,const char *kw_string,const char *action_string)
F diff --git a/src/frontend/lex/automatas/generator/keyword_list.c b/src/frontend/lex/automatas/generator/keyword_list.c
--- a/src/frontend/lex/automatas/generator/keyword_list.c
+++ b/src/frontend/lex/automatas/generator/keyword_list.c
.data_string="NULL"
},
{
+ .keyword="/=",
+ .kw_string="KW_DIV_EQ",
+ .action_string="AUTOMATA_ACTION_DISPENSE_TOKEN",
+ .data_string="NULL"
+ },
+ {
.keyword="<<=",
.kw_string="KW_SHIFT_LEFT_EQ",
.action_string="AUTOMATA_ACTION_DISPENSE_TOKEN",