js-ast-parser
Version:
把javascript代码字符串解析为AST对象
96 lines (95 loc) • 2.95 kB
TypeScript
import { JavascriptAst } from './JavascriptAst';
export declare class JavascriptAstParsser {
private input;
static nonASCIIwhitespace: RegExp;
private pos;
private currentToken;
private excutionFlag;
private startTokens;
private stringStartToken;
private tokens;
private parsingNode;
private currentLine;
private isParsingFunDeclaration;
private isParsingLoop;
private depth;
private isParsingVarDeclaration;
ast: JavascriptAst;
private get curCharCode();
private get nextCharCode();
private get curChar();
constructor(input: string);
parse(analyze?: boolean): JavascriptAst;
private isReadAll;
private isLineEnd;
private advance;
private markPos;
private skipSpace;
private consumeNextWordIfMatch;
private isNextWordIs;
private startParse;
private expectToken;
private expectExpressionEnd;
private parseNode;
private next;
private readWord;
private readIllegalToken;
private readNumber;
private consumeNumber;
private readString;
private consumeString;
private readIdentifier;
private consumeIdentifier;
private readOperator;
private safelyParseNode;
private getExpectedNode;
private expectExpression;
private tryToGetExpectedNode;
private parseBlock;
private parseUnaryExpression;
private parseImportStatement;
private getImportedSpecifiers;
private parseVarDeclarationStatement;
private parseFunDeclarationStatement;
private tryParseFunciotnExpress;
private parseObjLiteralExp;
private parseArrExp;
private parseTryCatchStatment;
private parseCatchHandler;
private parseDoWihleStatement;
private parseWhileStatment;
private parseExpressions;
private parseForStatement;
private parseRegStatement;
private parseIfStatement;
private parseBreakStatement;
private parseReturnStatement;
private parseContinueStatement;
private parseSwitchStatement;
private parseCaseStatement;
private parseThrowStatement;
private parseWithStatement;
private parseDeleteStatement;
private parseNewStatement;
private parseClassDeclarationStatement;
private parseClassMehod;
private parseExportStatement;
private parseTypeOfExpression;
private parseVoidExpression;
private parseTemplateLiteralExp;
private parseBracketEnwrapedExpression;
private tryParse;
private tryParseTernary;
private tryParseMember;
private tryParseComputedMember;
private tryToParseCallExpression;
private tryParseSuffixUnary;
private tryParseAssign;
private parseBinaryExpression;
private parseIsStartWithKeyword;
private skipLineComment;
private skipBlockComment;
private consumeBinary;
private consumeHex;
private consumeUnexpect;
}