[Flex-help] flex: input rules are too complicated (>= 32000 NFA states)
flex is a tool for generating scanners
Brought to you by:
wlestes
From: Clement W. <cl...@ya...> - 2006-10-09 18:35:53
|
i ran into this error message: "flex: input rules are too complicated (>= 32000 NFA states)" My question is: why is there a limit of 32000? it seems like 32 bit machines are the rule, so old 16 bit dependencies should go away, or at least be optional. Or perhaps flex is the wrong tool? Flex has been working fine until I hit this limit. I have a large number of prefix pattterns followed by a smaller numer of strings that I want to extract: {PATTERN_1}({EXTRACTION_1}) {PATTERN_2}({EXTRACTION_1}) ... {PATTERN_51}({EXTRACTION_2}) {PATTERN_52}({EXTRACTION_2}) ... {PATTERN_101}({EXTRACTION_3}) In the perl world, I would have just used the variable $1 to get the submatch. Of course, perl would be horribly inefficient, since since the code would have to be a series of if-then-else-if's (on top of perl being an interpreter...) in the flex world, I have: {PATTERN_1} BEGIN(extraction_1); <extraction_1>{EXTRACTION_1} extract_1(yytext); etc. Many thanks in advance, Clem |