h$:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred? language-jsreserved words   Safe-InferredY language-js9import and export binds * as identifier A, ... {x,...}-,+*)('&%$#"! .QPNMLKJIHGFEDA@?>=<;:9876543210/OBCRTSUXWVY\[Z]ba`_^cdegfhimlkjimlkjhegfdc]ba`_^Y\[ZUXWVRTS.QPNMLKJIHGFEDA@?>=<;:9876543210/OBC-,+*)('&%$#"!  Safe-Inferred?wvwxvwx Safe-Inferred?Cy language-jsIdentifier name.z language-js%Parse identifier (no reserved words).{ language-jsParse numeric literal. Here we don't distinguish between kinds.| language-jsParse boolean literal.} language-jsthis identifier~ language-jsnull identifier language-jsParse string literal. language-jsParse template strings. language-js!Parse regular expression literal. language-js1Parse elision (aka ',' without a value on array). language-js(Parse many items on a array declaration. language-jsParse array literal. language-jskey and/or value property pair. language-jsParse object literal. objectLiteral :: P.ParsecT s u m Expression language-jsParse parenthesis expression. language-js(Check for spread operation before parse p. language-js$Parse used by function declarations. language-jsParse function declaration language-js!Prase arrow function declaration. language-jsParse any kind of funcion declaration (function or arrow function). language-js3Parse property method of a class or object literal. language-js#Parse a static property of a class. language-js Parse a getter or setter method. language-js"Check for a async property method. language-js"Parse a class property definition. language-jsParse a class declaration. language-js Dot member. language-jsArray like accessor. language-jsFunction call. language-jsnew language-jsParse member expression. language-jsParse literals. language-jsParse primary expressions. language-jsCheck for maybe semi. TODO: There are some rules for expression termination...need to check that. language-jsParse a empty expression. language-js*Parse rules for left hand side expression. language-jsParse expressions. language-jsParse single line comment. language-jsParse multiline comment. language-js!Parse comment like an expression. language-js,Parse expressions excluding emptyExpression. language-js&Convert a expression into a statement. language-jsParse import namespace clauses. language-jsParse import bind clauses. language-jsParse default clauses. language-js0Parse import clauses excluding namespace clause. language-jsParse all import clauses. language-jsParse import file statement. language-jsParse import statement. language-jsParse import statements. language-jsParse export statements. language-jsParse continue statement. language-jsParse break statement. language-jsParse block statement. language-jsParse if statement. language-js"Parse catch part of try statement. language-js$Parse finally part of try statement. language-jsParse try statement. language-jsParse throw statement. language-jsParse return statement. language-jsParse variable statement. language-js#Parse case clause switch statement. language-js#Parse case clause switch statement. language-jsParse switch statement. language-jsParse debugger statement. language-jsParse breakable statement. TODO: this parser can be improved to parse vaild javascript code by passing to the break statement to subsequent statements. language-jsParse while statement. language-jsparse do-while statement. language-jsParse for statement. language-js2Parse iteration statements (for, white, do/while). language-jsParse with statement. language-jsParse labelled statement. language-jsParse statements. language-jsParse all statements allowed to be on top level. This helps to not allow import and export expressions in any other part of the code. language-jsparser language-jsParse a script with a filename. language-js1Parse a script from a file. Just for convinience.yz{|}~yz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(language-js-0.3.0-JtCaBcvlOJnHwwzwiw7Y4XLanguage.JS.CommonLanguage.JS.TypesLanguage.JS.OperatorsLanguage.JS.ParserparensbracesanglesbracketssemicommadotcolondotSepcommaSepsemiSep commaSep1semiSep1 whiteSpace whiteSpaces betweenSpaceslexemekeywordB reservedWords StatementSExp SImportFileSImportSRExportSExportSExportDefaultSCSF SVariableSWhileSDoWhileSForSLabel SDebugger SContinueSBreakSBlockSIfSSwitchSCaseSThrowSTrySCatchSFinallySReturnSWith ExpressionLThisLNullLILNLSLTSLBRegExp UnaryUpdateUnarySpreadElisionLALOLP Condition Assignment OperationFunctionArrowClass ClassPropertyPropertyMethod ClassStaticClassGetMethodClassSetMethodAsyncDotAccFCallNewCommaEmptyCommentMultilineCommentTemplateStringTString TExpressionBindExpressionBindVar BindPatternBindRest ImportClause Namespace DefaultName BindNamesForStyleForInForInVForOfForOfV ForRegular StatementOpt ExpressionOpt SwitchCaseCase DefaultCaseIsPrefixObjectPropertyOPIOPKVOPOPM$fShowStatement$fShowExpression$fShowTemplateString$fShowBindExpression$fShowObjectProperty$fShowImportClause$fShowForStyle$fShowSwitchCaseopNotFollowedBytableoperationExpressionidentifierName identifiernumericLiteralbooleanLiteral thisIdent nullIdent stringLiteraltemplateString regexLiteralelision arrayItems arrayLiteral objectBinds objectLiteralparensExpression checkSpreadformalParameterfunctionDeclarationarrowFunctionDeclarationfunctionExpressionpropertyMethodDefclassStaticDefclassGetSetMethodDefasyncMethodDefclassPropertyDefclassDeclaration dotMemberaccessor functionCallnewIdentmemberExpressionliteralsprimaryExpression maybeSemiemptyExpressionleftHandSideExpression expressionscommentmultilineCommentcommentExpressionexpressionNonEmpty toStatementimportNamespaceClauseimportBindClauseimportDefaultNameClauseimportManyClauses importClausesimportFileStatementimportStatementimportStatementsreexportStatementexportDefaultStatementexportStatementexportStatementscontinueStatementbreakStatementblockStatementblockOrStatements ifStatement catchBlock finallyBlock tryStatementthrowStatementreturnStatementbindVarbindPatternDecl bindSpreadbindExpressionconstVariableStatementnotConstVariableStatementvariableStatement caseClausecaseDeclarationswitchStatementdebuggerStatementbreakableStatementwhileStatementdoWhileStatement forInVStyle forOfVStyle forInStyle forOfStyleforRegularStyleforStyle forStatementiterationStatement withStatementlabelledStatement statementstopLevelStatementsparseJsparse parseFromFile