词法分析器加速的方法

m
microsat
楼主 (北美华人网)
请问自己编写一个词法分析器(lexer)
比如分析下面这段代码 for(i=0;i<10;i++) do print i; end
怎么能提高速度呢?大家是用switch case或者if, elseif一个字符一个字符来读取分析吗? 还是有什么更好的方法?比如hash map?
现在流行的词法分析器都是用的什么好方法?

m
mrw
顺着读就已经最优了 不可能比O(n)更快