HFSM2
hfst
HFSM2 | hfst | |
---|---|---|
3 | 3 | |
434 | 116 | |
- | 0.9% | |
5.0 | 4.0 | |
16 days ago | 28 days ago | |
C++ | C++ | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
HFSM2
- State machine library for portable embedded application (C++11)
- HFSM2 development might slow down
-
Introducing FFSM2 and HFSM2 state machine libraries
Here is a gist showing a 3 level hierarchy using sml. https://gist.github.com/indiosmo/08ab24181770125d5a2448d27f6ae99f. Comparing the two, esp. when anything related to *hierarchical* state machines are involved, I strongly prefer HFSM2. Even when comparing the source code, I prefer HFSM2 https://github.com/andrew-gresyk/HFSM2/blob/master/include/hfsm2/machine.hpp to boost::sml https://github.com/boost-ext/sml/blob/master/include/boost/sml.hpp.
hfst
- A portable, modern regular expression language
-
Search-and-replace with correct grammatical case - does it exist?
So you want to go from Spende to Spende+genitive to Beitrag+genitive to Beitrags. In addition to Spacy etc. you might look at Finite State Transducers, which I believe are bidirectional, i.e. for both analysis and generation. XFST and SFST and OpenFST are a few of the FST toolkits. See https://github.com/hfst/hfst for the Helsinki FST; there's a German transducer for it at https://sourceforge.net/projects/hfst/files/resources/morphological-transducers/hfst-german-installable.tar.gz/download. I don't think there is much of a learning curve, and there should be plenty of documentation.
-
Foldable Words
The regex syntax is a bit quirky due to backwards compatibility with lexicons written in XFST, see https://github.com/hfst/hfst/wiki/Regular-Expression-Operato...
What are some alternatives?
roost-hsm - Hierarchical State Machines in C++. A (sane) alternative to Boost MSM.
lttoolbox - Finite state compiler, processor and helper tools used by apertium
sml - C++14 State Machine library
apertium - Core tools (driver script, transfer, tagger, formatters) for the FOSS RBMT system Apertium
amp-embedded-infra-lib - amp-embedded-infra-lib is a set of C++ libraries and headers that provide heap-less, STL like, infrastructure for embedded software development
simplenlg - Java API for Natural Language Generation. Originally developed by Ehud Reiter at the University of Aberdeen’s Department of Computing Science and co-founder of Arria NLG. This git repo is the official SimpleNLG version.
csv2 - Fast CSV parser and writer for Modern C++
apertium-lex-tools - Module for compiling lexical selection rules and processing them in the pipeline.
BackportCpp - Library of backported modern C++ types to work with C++11
fluent-plugin-grok-parser - Fluentd's Grok parser
hsm - C++ framework library to simplify state-driven code
kbnf - KBNF has been renamed to Dogma