Program (script) @2:1 ├─ VariableDeclaration (let) @2:1 │ └─ VariableDeclarator @2:1 │ ├─ Identifier "a" [global] (let) @2:5 │ └─ RegExpLiteral /foo/ @2:9 ├─ VariableDeclaration (let) @5:1 │ └─ VariableDeclarator @5:1 │ ├─ Identifier "b" [global] (let) @5:5 │ └─ RegExpLiteral /bar/gi @5:9 ├─ VariableDeclaration (let) @8:1 │ └─ VariableDeclarator @8:1 │ ├─ Identifier "c" [global] (let) @8:5 │ └─ BinaryExpression (+) @8:11 │ ├─ NumericLiteral 1 @8:9 │ └─ RegExpLiteral /baz/i @8:13 ├─ VariableDeclaration (let) @11:1 │ └─ VariableDeclarator @11:1 │ ├─ Identifier "d" [global] (let) @11:5 │ └─ ArrayExpression @11:9 │ ├─ RegExpLiteral /abc/ @11:10 │ └─ RegExpLiteral /def/g @11:17 ├─ VariableDeclaration (let) @12:1 │ └─ VariableDeclarator @12:1 │ ├─ Identifier "e" [global] (let) @12:5 │ └─ RegExpLiteral /hello world/ @12:9 ├─ VariableDeclaration (let) @13:1 │ └─ VariableDeclarator @13:1 │ ├─ Identifier "f" [global] (let) @13:5 │ └─ RegExpLiteral /[a-z]+/gms @13:9 ├─ IfStatement @16:1 │ ├─ test │ │ └─ CallExpression @16:16 │ │ ├─ MemberExpression @16:11 │ │ │ ├─ RegExpLiteral /test/ @16:5 │ │ │ └─ Identifier "test" @16:12 │ │ └─ StringLiteral "test" @16:23 │ └─ consequent │ └─ BlockStatement @16:26 ├─ ExpressionStatement @17:1 │ └─ UnaryExpression (typeof) @17:1 │ └─ RegExpLiteral /foo/ @17:8 └─ ExpressionStatement @18:1 └─ UnaryExpression (void) @18:1 └─ RegExpLiteral /foo/ @18:6