#ifndef PARSER_UTILS_H
#define PARSER_UTILS_H

#include "parser.h"

enum string_cmp_event_types {
    STRING_CMP_MAYEQ,
    /** hay posibilidades de que el string sea igual */
    STRING_CMP_EQ,
    /** NO hay posibilidades de que el string sea igual */
    STRING_CMP_NEQ,
};

const char * parser_utils_strcmpi_event(const enum string_cmp_event_types type);


/*
 * Crea un parser que verifica que los caracteres recibidos forment el texto
 * descrito por `s'.
 *
 * Si se recibe el evento `STRING_CMP_NEQ' el texto entrado no matchea.
 */
struct parser_definition * parser_utils_strcmpi(const char *s);

/**
 * libera recursos asociado a una llamada de `parser_utils_strcmpi'
 */
void parser_utils_strcmpi_destroy(struct parser_definition *p);

#endif
