2

重複の可能性:
Javascript のトークン化中の Division/RegExp の競合

私は楽しみのために JS lexer を書いていますが、欠けている部分が 1 つだけあります。正規表現を噛むことができる部分です。

たとえば、次の有効な JS コードを見てみましょう。/ab+c/;

JS 字句解析器は、正規表現を扱っているのか、
[Operator('/'), Identifier('ab'), Operator('+'), Identifier('c'), Operator('/'), Semicolon].

4

2 に答える 2

3

JS 字句解析器は、正規表現を扱っているのか、[operator /内部のある式] を扱っているのかをどのように知ることができますか?

まあ、レクサーはできません。これは、パーサーが行うべきことです。

于 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 に答える