From f7746f718137fbcff2b4a595f9db2d4e370ee174 Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Sat, 6 Jun 2020 21:55:52 +0300 Subject: [PATCH] Add use strict to JS parsers --- lib/Parser/LL/JS.hs | 2 ++ lib/Parser/LR/JS.hs | 2 ++ lib/Parser/Recursive/JS.hs | 2 ++ 3 files changed, 6 insertions(+) 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} {