+rdp_t* rdp_new (nextcb cb, gpointer data, gint value, grammar_t* grammar)
+{
+
+ rdp_t* parser;
+
+ parser = g_malloc (sizeof (rdp_t));
+
+ parser->cb = cb;
+ parser->data = data;
+ parser->start = symbol_new (FALSE, value);
+ parser->grammar = grammar;
+
+ parser->buffer = g_list_append (NULL, NULL);
+
+ return parser;
+
+}
+
+void rdp_delete (rdp_t* rdp)
+{
+ g_free (rdp->start);
+}
+