Skip to content

Latest commit

 

History

History
1388 lines (860 loc) · 31.6 KB

_parser_immutable_antlr_parser_.immutableantlrparser.md

File metadata and controls

1388 lines (860 loc) · 31.6 KB

antlr4-helper > "parser/immutable-antlr-parser" > ImmutableAntlrParser

Class: ImmutableAntlrParser

Hierarchy

ImmutableAntlrParser

Implements

Index

Constructors

Properties

Methods


Constructors

constructor

new ImmutableAntlrParser(factory: AntlrFactory): ImmutableAntlrParser

Provide an AntlrFactory to construct

Parameters:

Param Type Description
factory AntlrFactory

Returns: ImmutableAntlrParser


Properties

<Private> customValidatorSubject

● customValidatorSubject: Subject<ParserRuleContext>


<Private> enterRuleSubject

● enterRuleSubject: Subject<ParserRuleContext>


<Private> errorHandler

● errorHandler: ErrorRuleHandler


<Private> exitRuleSubject

● exitRuleSubject: Subject<ParserRuleContext>


<Private> factory

● factory: AntlrFactory


<Private> functionalRuleParser

● functionalRuleParser: FunctionalRuleParser


<Private> inputStream

● inputStream: InputStream


<Private> lexer

● lexer: Lexer


<Private> parseCompleteSubject

● parseCompleteSubject: Subject<void>


<Private> parseStartedSubject

● parseStartedSubject: Subject<void>


<Private> parserWrapper

● parserWrapper: AntlrParserWrapper


<Private> rootRule

● rootRule: ParserRuleContext


<Private> ruleIndexToNameMap

● ruleIndexToNameMap: ReadonlyMap<number, string>


<Private> ruleTable

● ruleTable: RuleTable


<Private> ruleWrapperStack

● ruleWrapperStack: AntlrRuleWrapper[]


<Private> stack

● stack: ParserRuleContext[]


<Private> textBuffer

● textBuffer: TextBuffer


<Private> tokenSubject

● tokenSubject: Subject<Token>


<Private> tokenTable

● tokenTable: TokenTable


<Private> tokenTypeToSymoblMap

● tokenTypeToSymoblMap: ReadonlyMap<number, string>


Methods

addCustomRuleValidator

addCustomRuleValidatorT(ruleClass: AntlrRuleClass<ParserRuleContext>, validator: function): void

Type parameters:

T : ParserRuleContext

Parameters:

Param Type
ruleClass AntlrRuleClass<ParserRuleContext>
validator function

Returns: void


addEnterRuleListener

addEnterRuleListenerT(ruleClass: AntlrRuleClass<ParserRuleContext>, listener: function): void

Type parameters:

T : ParserRuleContext

Parameters:

Param Type
ruleClass AntlrRuleClass<ParserRuleContext>
listener function

Returns: void


addExitRuleListener

addExitRuleListenerT(ruleClass: AntlrRuleClass<ParserRuleContext>, listener: function): void

Type parameters:

T : ParserRuleContext

Parameters:

Param Type
ruleClass AntlrRuleClass<ParserRuleContext>
listener function

Returns: void


addParserCompleteListener

addParserCompleteListener(listener: function): void

Parameters:

Param Type
listener function

Returns: void


addParserStartListener

addParserStartListener(listener: function): void

Parameters:

Param Type
listener function

Returns: void


addTokenListener

addTokenListener(listener: function): void

Parameters:

Param Type
listener function

Returns: void


addValidator

addValidator(ruleName: string, validator: function): void

Parameters:

Param Type
ruleName string
validator function

Returns: void


checkForErrors

checkForErrors(): void

Returns: void


comparePositions

comparePositions(a: object, b: object): number

Parameters:

Param Type
a object
b object

Returns: number


createRuleError

createRuleError(rule: ParserRuleContext): AntlrRuleError

Parameters:

Param Type
rule ParserRuleContext

Returns: AntlrRuleError


doesRuleExist

doesRuleExist(rule: ParserRuleContext): boolean

Parameters:

Param Type
rule ParserRuleContext

Returns: boolean


doesRuleMatchClass

doesRuleMatchClass(rule: ParserRuleContext, ruleClass: AntlrRuleClass<any>): boolean

Checks if a rule matches the ruleClass given

Parameters:

Param Type Description
rule ParserRuleContext -
ruleClass AntlrRuleClass<any> -

Returns: boolean


doesTokenExist

doesTokenExist(token: Token): boolean

Parameters:

Param Type
token Token

Returns: boolean


enterEveryRule

enterEveryRule(ctx: ParserRuleContext): void

(For internal use only)

Parameters:

Param Type Description
ctx ParserRuleContext

Returns: void


every

every(predicate: function): boolean

Parameters:

Param Type
predicate function

Returns: boolean


exitEveryRule

exitEveryRule(ctx: ParserRuleContext): void

(For internal use only)

Parameters:

Param Type Description
ctx ParserRuleContext

Returns: void


filter

filter(filterFunction: function): AntlrParser

Parameters:

Param Type
filterFunction function

Returns: AntlrParser


find

find(filterFunction: function): AntlrRuleWrapper

Parameters:

Param Type
filterFunction function

Returns: AntlrRuleWrapper


findAll

findAll(filterFunction: function): AntlrRuleWrapper[]

Parameters:

Param Type
filterFunction function

Returns: AntlrRuleWrapper[]


findLast

findLast(filterFunction: function): AntlrRuleWrapper

Parameters:

Param Type
filterFunction function

Returns: AntlrRuleWrapper


findRuleByName

findRuleByName(ruleName: string): AntlrRuleWrapper

Parameters:

Param Type
ruleName string

Returns: AntlrRuleWrapper


findRuleByPath

findRuleByPath(path: string): AntlrRuleWrapper

Parameters:

Param Type
path string

Returns: AntlrRuleWrapper


findRulesByName

findRulesByName(ruleName: string): AntlrRuleWrapper[]

Parameters:

Param Type
ruleName string

Returns: AntlrRuleWrapper[]


findRulesByPath

findRulesByPath(path: string): AntlrRuleWrapper[]

Parameters:

Param Type
path string

Returns: AntlrRuleWrapper[]


forEach

forEachT(eachFunction: function): void

Type parameters:

T

Parameters:

Param Type
eachFunction function

Returns: void


getAllRules

getAllRules(): AntlrRuleWrapper[]

Returns: AntlrRuleWrapper[]


getAllTokens

getAllTokens(): AntlrTokenWrapper[]

Returns: AntlrTokenWrapper[]


getCharacterAt

getCharacterAt(column: number, line: number): string

Parameters:

Param Type
column number
line number

Returns: string


getColumnCount

getColumnCount(line: number): number

Parameters:

Param Type
line number

Returns: number


getErrorRuleAt

getErrorRuleAt(column: number, line: number): AntlrRuleWrapper

Parameters:

Param Type
column number
line number

Returns: AntlrRuleWrapper


getErrorRuleTable

getErrorRuleTable(): ParserRuleContext[][]

Returns: ParserRuleContext[][]


getErrors

getErrors(): AntlrRuleError[]

Returns: AntlrRuleError[]


getFactory

getFactory(): AntlrFactory

Returns: AntlrFactory


getInputStream

getInputStream(): InputStream

Returns: InputStream


getLine

getLine(line: number): string

Parameters:

Param Type
line number

Returns: string


getLineCount

getLineCount(): number

Returns: number


getRelevantError

getRelevantError(): AntlrRuleError

Returns: AntlrRuleError


getRoot

getRoot(): AntlrRuleWrapper

Returns: AntlrRuleWrapper


getRuleAt

getRuleAt(column: number, line: number): AntlrRuleWrapper | undefined

Parameters:

Param Type
column number
line number

Returns: AntlrRuleWrapper | undefined


getRuleBefore

getRuleBefore(rule: ParserRuleContext): ParserRuleContext

Parameters:

Param Type
rule ParserRuleContext

Returns: ParserRuleContext


getRuleName

getRuleName(rule: ParserRuleContext): string

Parameters:

Param Type
rule ParserRuleContext

Returns: string


getRuleParent

getRuleParent(rule: ParserRuleContext): ParserRuleContext

Parameters:

Param Type
rule ParserRuleContext

Returns: ParserRuleContext


getRulePositionTable

getRulePositionTable(): ParserRuleContext[][]

Returns: ParserRuleContext[][]


getRuleRange

getRuleRange(rule: ParserRuleContext): AntlrRange

Get the range of a given rule, where the first object is the start position and the last is the end position

Parameters:

Param Type Description
rule ParserRuleContext -

Returns: AntlrRange


getRuleStack

getRuleStack(): ReadonlyArray<ParserRuleContext>

Returns: ReadonlyArray<ParserRuleContext>


getRuleText

getRuleText(rule: ParserRuleContext): string

Get the complete text of a completely parsed rule

Parameters:

Param Type Description
rule ParserRuleContext -

Returns: string


getRulesInLine

getRulesInLine(line: number): Set<AntlrRuleWrapper>

Parameters:

Param Type
line number

Returns: Set<AntlrRuleWrapper>


getSiblings

getSiblings(rule: ParserRuleContext): ParserRuleContext[]

Parameters:

Param Type
rule ParserRuleContext

Returns: ParserRuleContext[]


getText

getText(): string

Returns: string


getTextRange

getTextRange(range: AntlrRange): string

Parameters:

Param Type
range AntlrRange

Returns: string


getTokenAt

getTokenAt(column: number, line: number): AntlrTokenWrapper | undefined

Retrieve a token a the specified position

Parameters:

Param Type Description
column number -
line number -

Returns: AntlrTokenWrapper | undefined


getTokenName

getTokenName(token: Token): string

Parameters:

Param Type
token Token

Returns: string


getTokenPositionTable

getTokenPositionTable(): Token[][]

Returns: Token[][]


getTokenRange

getTokenRange(token: Token): AntlrRange

Get the range of a given token, where the first object is the start position and the last is the end position

Parameters:

Param Type Description
token Token -

Returns: AntlrRange


getTokenText

getTokenText(token: Token): string

Get the text of a given token

Parameters:

Param Type Description
token Token -

Returns: string


getTokensInLine

getTokensInLine(line: number): Set<Token>

Parameters:

Param Type
line number

Returns: Set<Token>


getWarnings

getWarnings(): AntlrRuleError[]

Returns: AntlrRuleError[]


hasErrorNode

hasErrorNode(ctx: ParserRuleContext): boolean

Parameters:

Param Type
ctx ParserRuleContext

Returns: boolean


hasErrors

hasErrors(): boolean

Returns: boolean


hasTextChanged

hasTextChanged(): boolean

Returns: boolean


hasWarnings

hasWarnings(): boolean

Returns: boolean


map

mapT(mapFunction: function): T[]

Type parameters:

T

Parameters:

Param Type
mapFunction function

Returns: T[]


onParseComplete

onParseComplete(callback: function): void

Parameters:

Param Type
callback function

Returns: void


onParseStart

onParseStart(callback: function): void

Parameters:

Param Type
callback function

Returns: void


onRuleEnter

onRuleEnter(ruleName: string, callback: function): void

Parameters:

Param Type
ruleName string
callback function

Returns: void


onRuleExit

onRuleExit(ruleName: string, callback: function): void

Parameters:

Param Type
ruleName string
callback function

Returns: void


parse

parse(input: string): ParserRuleContext

Parse the input string

Parameters:

Param Type Description
input string -

Returns: ParserRuleContext

  • the invoked root rule

reduce

reduceT(reduceFunction: function, accumulator: T): T

Type parameters:

T

Parameters:

Param Type
reduceFunction function
accumulator T

Returns: T


reparse

reparse(): ParserRuleContext

Returns: ParserRuleContext


replaceRange

replaceRange(range: AntlrRange, text: string): AntlrRange

Parameters:

Param Type
range AntlrRange
text string

Returns: AntlrRange


setLexer

setLexer(lexer: Lexer): void

Parameters:

Param Type
lexer Lexer

Returns: void


setRuleText

setRuleText(rule: ParserRuleContext, text: string): void

Parameters:

Param Type
rule ParserRuleContext
text string

Returns: void


setTokenText

setTokenText(token: Token, text: string): void

Parameters:

Param Type
token Token
text string

Returns: void


siblingsHaveNoErrors

siblingsHaveNoErrors(rule: ParserRuleContext): boolean

Parameters:

Param Type
rule ParserRuleContext

Returns: boolean


<Private> tokenIntervalText

tokenIntervalText(token: Token): string

Parameters:

Param Type
token Token

Returns: string


visitErrorNode

visitErrorNode(node: ErrorNode): void

(For internal use only)

Parameters:

Param Type Description
node ErrorNode

Returns: void


visitTerminal

visitTerminal(node: TerminalNode): void

(For internal use only)

Parameters:

Param Type Description
node TerminalNode

Returns: void