diff --git a/input/JavaScriptLexer.g4 b/input/JavaScriptLexer.g4 index fc3fb56..534d9d3 100644 --- a/input/JavaScriptLexer.g4 +++ b/input/JavaScriptLexer.g4 @@ -140,6 +140,7 @@ In: 'in'; Try: 'try'; Event: 'event'; AtToken: '@'; +Sharable: 'sharable'; /// Event Semantics diff --git a/input/YJSParser.g4 b/input/YJSParser.g4 index ac3ab32..d8ac949 100644 --- a/input/YJSParser.g4 +++ b/input/YJSParser.g4 @@ -63,6 +63,7 @@ clzOrFunctionDeclaration |functionDeclaration |interfaceDeclaration |eventDeclaration + |sharableDeclaration ; interfaceDeclaration @@ -120,6 +121,17 @@ block statementList : statement+ ; +sharableDeclaration + : sharableStatement + ; + +sharableStatement + : sharableModifier variableDeclarationList eos + ; + +sharableModifier // let, const - ECMAScript 6 + : Sharable + ; variableStatement : varModifier variableDeclarationList eos @@ -441,6 +453,7 @@ keyword | Protected | Static | Yield + | Sharable ; eos