2

可能的重复:
在标记 Javascript 时出现除法/正则表达式冲突

我正在编写一个 JS 词法分析器来取乐,并且只缺少一件:可以在正则表达式中咀嚼的部分。

以以下有效的 JS 代码为例:/ab+c/;

JS 词法分析器如何知道它是在处理正则表达式还是处理
[Operator('/'), Identifier('ab'), Operator('+'), Identifier('c'), Operator('/'), Semicolon]

4

2 回答 2

3

JS 词法分析器如何知道它是在处理正则表达式还是 [some expression with operator /inside]?

好吧,词法分析器不能。这是解析器应该做的事情。

于 2013-01-27T22:59:29.563 回答
0

您需要实现包括解析正则表达式的词汇语法。根据 ECMA Script 文档,“ECMAScript 的 RegExp 语法在15.10”中给出:

"The form and functionality of regular expressions is modeled 
after the regular expression facility in the Perl 5 programming language."

另请参阅:ECMAScript 词汇约定

于 2013-01-27T22:58:58.060 回答