+guint symbol_hash (gconstpointer data)
+{
+ symbol_t* symbol;
+ symbol = (symbol_t*) data;
+ return g_direct_hash ((gpointer)symbol->value);
+}
+
+gboolean symbol_equal (gconstpointer data1, gconstpointer data2)
+{
+ symbol_t* symbol1;
+ symbol_t* symbol2;
+ symbol1 = (symbol_t*) data1;
+ symbol2 = (symbol_t*) data2;
+ return symbol1->value == symbol2->value &&
+ symbol1->terminal == symbol2->terminal;
+}
+