pyliblex/include/pyliblexmodule.h

33 lines
1.1 KiB
C

#ifndef PYLIBLEX_H
#define PYLIBLEX_H
#include "Python.h"
static PyObject* pyliblex_init(PyObject* self, PyObject* args);
static PyObject* pyliblex_add_definition(PyObject* self, PyObject* args);
static PyObject* pyliblex_lex(PyObject* self, PyObject* args);
static PyObject* pyliblex_test(PyObject* self, PyObject* args);
static PyObject* invalid_regex_exception;
static PyObject* failed_lex_exception;
static const char module_docstring[] = "A wrapper around a homemade lexing library, liblex.";
static PyMethodDef module_methods[] = {
{"init", pyliblex_init, METH_VARARGS, "Initialize a liblex library object." },
{"add_definition", pyliblex_add_definition, METH_VARARGS, "Add a regular expression definition." },
{"lex", pyliblex_lex, METH_VARARGS, "Lex a string, converting it to tokens." },
{"test", pyliblex_test, METH_VARARGS, "Tests whether the library is working." },
{ NULL, NULL, 0, NULL }
};
static struct PyModuleDef module_object = {
PyModuleDef_HEAD_INIT,
"pyliblex",
module_docstring,
-1,
module_methods
};
PyMODINIT_FUNC PyInit_pyliblex();
#endif