Various command line applications use an Interpreter Directive to define how they should be run.
#! js -m foo
#! node foo
#! eshost foo
I propose we add this as a top level syntax to ECMA262 as a comment that can occur before a DirectivePrologue.
None
None
Module := HashBang (opt) ...
Script := HashBang (opt) ...
HashBang := "#!" SingleLineCommentChars (opt)
DirectivePrologue text should be changed to explicitly allow HashBang to occur in front of it.
@michaelficarra DirectivePrologue is affected by the initial statement list, we need to be sure that HashBang doesn't prevent the DirectivePrologue.