Orm*_*rme 8 javascript regex token tokenize
我正在编写一个简单的javascript tokenizer来检测基本类型:Word,Number,String,RegExp,Operator,Comment和Newline.一切都很顺利,但我无法理解如何检测当前字符是RegExp分隔符还是除法运算符.我没有使用正则表达式,因为它们太慢了.有人知道检测它的机制吗?谢谢.
您可以通过流中的前一个标记来判断.浏览你的词法分析器发出的每个标记,并询问它是否可以合理地跟随分裂符号或正则表达式; 你会发现两个结果集的标记是不相交的.例如,(,[,{,;,和所有的二进制运算符只能接着是正则表达式.同样地,),],},标识符和串/数文字只能后跟一个除法符号.
有关更多详细信息,请参阅ECMAScript规范的第7节.
| 归档时间: |
|
| 查看次数: |
2071 次 |
| 最近记录: |