I'm writing a simple lexer for a general purpose programming language and one of the token types is a 'keyword' that has some predefined control flow tokens such as 'if', 'else', 'while', 'return'.
I want to know the fastest way to check if some keyword is inside my list using x86 Standard C.
My idea was to use a jump table but C string comparisons is problematic since C strings are arrays of char type.
The fastest way is to hand-build a trie, or equivalently a state machine. Flex (or any other lex variant) would do that for you.