UNPKG

psl-parser

Version:

A parser for the Profile Scripting Language

140 lines (139 loc) 3.77 kB
export declare function getTokens(documentContents: string): IterableIterator<Token>; export declare class Token { type: Type; value: string; position: Position; constructor(type: Type, value: string, position: Position); getRange(): Range; isWhiteSpace(): boolean; isAlphanumeric(): boolean; isNumeric(): boolean; isLineComment(): boolean; isBlockComment(): boolean; isString(): boolean; isLineCommentInit(): boolean; isBlockCommentInit(): boolean; isBlockCommentTerm(): boolean; isDoubleQuotes(): boolean; isSlash(): boolean; isTab(): boolean; isNewLine(): boolean; isSpace(): boolean; isExclamationMark(): boolean; isNumberSign(): boolean; isDollarSign(): boolean; isAmpersand(): boolean; isSingleQuote(): boolean; isOpenParen(): boolean; isCloseParen(): boolean; isAsterisk(): boolean; isPlusSign(): boolean; isComma(): boolean; isMinusSign(): boolean; isPeriod(): boolean; isColon(): boolean; isSemiColon(): boolean; isLessThan(): boolean; isEqualSign(): boolean; isGreaterThan(): boolean; isQuestionMark(): boolean; isAtSymbol(): boolean; isOpenBracket(): boolean; isBackslash(): boolean; isCloseBracket(): boolean; isCaret(): boolean; isUnderscore(): boolean; isBackQuote(): boolean; isOpenBrace(): boolean; isPipe(): boolean; isCloseBrace(): boolean; isTilde(): boolean; } export declare class Range { /** * The start position. It is before or equal to [end](#Range.end). */ readonly start: Position; /** * The end position. It is after or equal to [start](#Range.start). */ readonly end: Position; /** * Create a new range from two positions. If `start` is not * before or equal to `end`, the values will be swapped. * * @param start A position. * @param end A position. */ constructor(start: Position, end: Position); /** * Create a new range from number coordinates. It is a shorter equivalent of * using `new Range(new Position(startLine, startCharacter), new Position(endLine, endCharacter))` * * @param startLine A zero-based line value. * @param startCharacter A zero-based character value. * @param endLine A zero-based line value. * @param endCharacter A zero-based character value. */ constructor(startLine: number, startCharacter: number, endLine: number, endCharacter: number); } export declare class Position { /** * The zero-based line value. */ readonly line: number; /** * The zero-based character value. */ readonly character: number; /** * @param line A zero-based line value. * @param character A zero-based character value. */ constructor(line: number, character: number); } export declare const enum Type { Alphanumeric = 1, Numeric = 2, LineComment = 3, BlockComment = 4, String = 5, LineCommentInit = 6, BlockCommentInit = 7, BlockCommentTerm = 8, DoubleQuotes = 9, Slash = 10, Tab = 11, NewLine = 13, Space = 32, ExclamationMark = 33, NumberSign = 35, DollarSign = 36, Ampersand = 38, SingleQuote = 39, OpenParen = 40, CloseParen = 41, Asterisk = 42, PlusSign = 43, Comma = 44, MinusSign = 45, Period = 46, Colon = 58, SemiColon = 59, LessThan = 60, EqualSign = 61, GreaterThan = 62, QuestionMark = 63, AtSymbol = 64, OpenBracket = 91, Backslash = 92, CloseBracket = 93, Caret = 94, Underscore = 95, BackQuote = 96, OpenBrace = 123, Pipe = 124, CloseBrace = 125, Tilde = 126, Undefined = -1 }