compAut merge requestshttps://gitlab.inria.fr/cpaperma/compaut/-/merge_requests2021-07-08T13:05:11+02:00https://gitlab.inria.fr/cpaperma/compaut/-/merge_requests/7Draft: Add in line_machine.py the code generation for use with cffi (+ workin...2021-07-08T13:05:11+02:00MARCHAL DamienDraft: Add in line_machine.py the code generation for use with cffi (+ working example of use)This PR aims at supporting using cffi as machine code generation.
For that:
A new function is added in SimpleLineMachine.
This function emits a C version implementing single line regex matching.
This function can be compiled and loaded ...This PR aims at supporting using cffi as machine code generation.
For that:
A new function is added in SimpleLineMachine.
This function emits a C version implementing single line regex matching.
This function can be compiled and loaded using cffi.
A working exemple combining cffi+compaut is provided in cffi_re.py.https://gitlab.inria.fr/cpaperma/compaut/-/merge_requests/6Add a MANIFEST.in file so that the installer properly copy the ctemplate dire...2022-09-02T14:22:31+02:00MARCHAL DamienAdd a MANIFEST.in file so that the installer properly copy the ctemplate directory.The installed version of compAu was missing the c template files. To fix that my first attempt was to add the C template in the MANIFEST.in file as it is the suggested method to handle non python files in a python project: https://docs.p...The installed version of compAu was missing the c template files. To fix that my first attempt was to add the C template in the MANIFEST.in file as it is the suggested method to handle non python files in a python project: https://docs.python.org/2/distutils/sourcedist.html#the-manifest-in-template
When I noticed this could be fixed directly in setup.py I removed the MANIFEST.in and use that approach to minimize the amount of change on the project.https://gitlab.inria.fr/cpaperma/compaut/-/merge_requests/5Filter the gcc's messages to differentiate errors from warnings.2022-09-02T14:22:16+02:00MARCHAL DamienFilter the gcc's messages to differentiate errors from warnings.Modern version of gcc (mine is 9.3) emits a lot of warnings & hints in
stderr. The compiler backing in CompAut is currently considering that every messages in an error which is a bit too much.
In this PR I differentiate the error message...Modern version of gcc (mine is 9.3) emits a lot of warnings & hints in
stderr. The compiler backing in CompAut is currently considering that every messages in an error which is a bit too much.
In this PR I differentiate the error messages from the compiler (the one that should raise en exception) from the
warnings. In order to allow the developpers to see the compiler's code warning an extra attribute is added to TemplateCompiler to get the messages.
Example of use:
M.compile(comp_dir="comp_dir", clean=False) # Generates the binaries
print(M.compilation_messages) # Displays there is warningshttps://gitlab.inria.fr/cpaperma/compaut/-/merge_requests/4fixed cayley_graphs2020-08-27T20:18:48+02:00PAPERMAN Charlesfixed cayley_graphshttps://gitlab.inria.fr/cpaperma/compaut/-/merge_requests/3Complex transitions2020-07-15T17:54:10+02:00PAPERMAN CharlesComplex transitionshttps://gitlab.inria.fr/cpaperma/compaut/-/merge_requests/2Algebra2020-07-15T15:03:54+02:00PAPERMAN CharlesAlgebraPAPERMAN CharlesPAPERMAN Charleshttps://gitlab.inria.fr/cpaperma/compaut/-/merge_requests/1FSM2020-05-08T11:44:58+02:00PAPERMAN CharlesFSMAutomata abstracted away as Finiste State Machine. Compilation procedure will be more flexible and
allow more general version of automata.
Many bugs fixed.Automata abstracted away as Finiste State Machine. Compilation procedure will be more flexible and
allow more general version of automata.
Many bugs fixed.