cherow
Version:
Fast and lightweight, standard-compliant javascript parser written in ECMAScript
204 lines (203 loc) • 6.83 kB
TypeScript
import * as ESTree from '../estree';
import { Parser } from '../types';
import { Context } from '../utilities';
/**
* Parses statement list items
*
* @see [Link](https://tc39.github.io/ecma262/#prod-StatementListItem)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseStatementListItem(parser: Parser, context: Context): ESTree.Statement;
/**
* Parses statements
*
* @see [Link](https://tc39.github.io/ecma262/#prod-Statement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseStatement(parser: Parser, context: Context): ESTree.Statement;
/**
* Parses empty statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-EmptyStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseEmptyStatement(parser: Parser, context: Context): ESTree.EmptyStatement;
/**
* Parses the continue statement production
*
* @see [Link](https://tc39.github.io/ecma262/#prod-ContinueStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseContinueStatement(parser: Parser, context: Context): ESTree.ContinueStatement;
/**
* Parses the break statement production
*
* @see [Link](https://tc39.github.io/ecma262/#prod-BreakStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseBreakStatement(parser: Parser, context: Context): ESTree.BreakStatement;
/**
* Parses the if statement production
*
* @see [Link](https://tc39.github.io/ecma262/#sec-if-statement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseIfStatement(parser: Parser, context: Context): ESTree.IfStatement;
/**
* Parses the debugger statement production
*
* @see [Link](https://tc39.github.io/ecma262/#prod-DebuggerStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseDebuggerStatement(parser: Parser, context: Context): ESTree.DebuggerStatement;
/**
* Parses try statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-TryStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseTryStatement(parser: Parser, context: Context): ESTree.TryStatement;
/**
* Parses catch block
*
* @see [Link](https://tc39.github.io/ecma262/#prod-Catch)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseCatchBlock(parser: Parser, context: Context): ESTree.CatchClause;
/**
* Parses throw statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-ThrowStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseThrowStatement(parser: Parser, context: Context): ESTree.ThrowStatement;
/**
* Parses expression statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-ExpressionStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseExpressionStatement(parser: Parser, context: Context): ESTree.ExpressionStatement;
/**
* Parse directive node
*
* * @see [Link](https://tc39.github.io/ecma262/#sec-directive-prologues-and-the-use-strict-directive)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseDirective(parser: Parser, context: Context): ESTree.ExpressionStatement;
/**
* Parses either expression or labelled statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-ExpressionStatement)
* @see [Link](https://tc39.github.io/ecma262/#prod-LabelledStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseExpressionOrLabelledStatement(parser: Parser, context: Context): ESTree.ExpressionStatement | ESTree.LabeledStatement;
/**
* Parses do while statement
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseDoWhileStatement(parser: Parser, context: Context): ESTree.DoWhileStatement;
/**
* Parses while statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-grammar-notation-WhileStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseWhileStatement(parser: Parser, context: Context): ESTree.WhileStatement;
/**
* Parses block statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-BlockStatement)
* @see [Link](https://tc39.github.io/ecma262/#prod-Block)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseBlockStatement(parser: Parser, context: Context): ESTree.BlockStatement;
/**
* Parses return statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-ReturnStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseReturnStatement(parser: Parser, context: Context): ESTree.ReturnStatement;
/**
* Sets the necessary mutable parser flags. The parser flags will
* be unset after done parsing out the statements.
*
* @see [Link](https://tc39.github.io/ecma262/#prod-grammar-notation-IterationStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseIterationStatement(parser: Parser, context: Context): ESTree.Statement;
/**
* Parses with statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-WithStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseWithStatement(parser: Parser, context: Context): ESTree.WithStatement;
/**
* Parses switch statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-SwitchStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseSwitchStatement(parser: Parser, context: Context): ESTree.SwitchStatement;
/**
* Parses either default clause or case clauses
*
* @see [Link](https://tc39.github.io/ecma262/#prod-CaseClauses)
* @see [Link](https://tc39.github.io/ecma262/#prod-DefaultClause)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseCaseOrDefaultClauses(parser: Parser, context: Context): ESTree.SwitchCase;
/**
* Parses variable statement
*
* @see [Link](https://tc39.github.io/ecma262/#prod-VariableStatement)
*
* @param parser Parser object
* @param context Context masks
*/
export declare function parseVariableStatement(parser: Parser, context: Context, shouldConsume?: boolean): ESTree.VariableDeclaration;