diff --git a/lib/Parser/LL/JS.hs b/lib/Parser/LL/JS.hs index b2e78f4..c6e4c4a 100644 --- a/lib/Parser/LL/JS.hs +++ b/lib/Parser/LL/JS.hs @@ -22,6 +22,8 @@ instance ParserWriter LLParser JS where where basename = parserOptionsBaseFileName sourceFile = [interp| +'use strict' + const {TokenType, tokToStr} = require('./lexer.js') #{topTop gtop} const NonTerminal = { diff --git a/lib/Parser/LR/JS.hs b/lib/Parser/LR/JS.hs index c287a0c..37807da 100644 --- a/lib/Parser/LR/JS.hs +++ b/lib/Parser/LR/JS.hs @@ -24,6 +24,8 @@ instance LRPoint p => ParserWriter (LRParser p) JS where --writeParser :: Proxy lang -> Text -> ParserOptions a -> parser -> [(FilePath,Text)] writeParser _ gtop ParserOptions{..} LRParser{..} = [ (base <> ".js", [interp| +'use strict' + const {TokenType, tokToStr} = require('./lexer.js') #{topTop gtop} diff --git a/lib/Parser/Recursive/JS.hs b/lib/Parser/Recursive/JS.hs index 03a806c..dafcccb 100644 --- a/lib/Parser/Recursive/JS.hs +++ b/lib/Parser/Recursive/JS.hs @@ -22,6 +22,8 @@ import Parser.Recursive.Build instance ParserWriter RecursiveParser JS where writeParser _ gtop ParserOptions{..} RecursiveParser{..} = [(basename <> ".js", [interp| +'use strict' + const {tokToStr, TokenType} = require('./lexer.js') #{topTop gtop} class #{parserOptionsName}#{topInh gtop} {