This is about the parse&lex word match cleanup.
I have code to put all the data into EEPROM, write the tables with one sketch and use them with an app sketch.
The word match is made for serial input, it gives match or no-match for delimited text (or text+digit) data on arrival of the last char/delimiter, enabling on-the-fly text analysis.
It's not buffer-then-match, it walks the match list char by char on arrival.
That way would support maybe 50-64 match words well and not be as difficult as the proof of concept sketches.
I figured it'd be easier as a first step than writing while learning how all of the data to flash at run time.
It'd be good for limited AT command sketches.
And now it occurs to me that the sorted word list and links to each could be put in PROGMEM, then the first word link for each "legal" start char and "magic number" bytes could be stored in EEPROM instead of all data in EEPROM.
With a limited number of legal start chars that would leave room for hundreds of match words possible, and less code for me to write and only app sketch, no load sketch required.
When I put everything in PROGMEM there was hand work (with errors more possible) to be done making two arrays or having to run one sketch that generates PROGMEM source code to copy&paste into whatever app uses the utility.
This attempt is to make it easier, clean it up for the user.
The all-in-EEPROM would read a word list from serial via Serial Monitor and generate from there. This would need a word list and links in PROGMEM that members can already do without two extra arrays it would post-generate into EEPROM.
A better solution would read a list from serial and generate the data into flash but I don't know 99.5% every bit of that yet.
0.5% unknown can lead to hellish debug! The saying since way back was 95% done, 95% to go and still no guarantee.
When I make it easier to use, it will get used by those who can comprehend what it does... in my experience that will be few, kind of like how few understand non-blocking code!
My life has been a lot like that anyway, why think that things will change when people don't?