ragel state machine for lexer/scanner