Skip to content

antlr-ng Tool Class Hierarchy / index / GrammarAST

Class: GrammarAST

A tree node that is wrapper for a Token object.

Extends

Implements

  • IGrammarAST

Constructors

Constructor

ts
new GrammarAST(nodeOrToken?): GrammarAST;

Parameters

nodeOrToken?

Token | GrammarAST

Returns

GrammarAST

Overrides

CommonTree.constructor

Constructor

ts
new GrammarAST(
   type, 
   t?, 
   text?): GrammarAST;

Parameters

type

number

t?

Token

text?

string

Returns

GrammarAST

Overrides

ts
CommonTree.constructor

Properties

astType

ts
readonly astType: string = "GrammarAST";

A discriminator to distinguish between different grammar AST types without creating a circular dependency.

Implementation of

ts
IGrammarAST.astType

atnState?

ts
optional atnState: ATNState;

If we build an ATN, we make AST node point at left edge of ATN construct

Implementation of

ts
IGrammarAST.atnState

childIndex

ts
childIndex: number = -1;

What index is this node in the child list? Range: 0..n-1

Implementation of

ts
IGrammarAST.childIndex

Inherited from

CommonTree.childIndex


children

ts
children: CommonTree[] = [];

Implementation of

ts
IGrammarAST.children

Inherited from

CommonTree.children


g

ts
g: Grammar;

For process AST nodes from imported grammars.

Implementation of

ts
IGrammarAST.g

parent

ts
parent: null | CommonTree = null;

Who is the parent node of this node? If null, implies node is root.

Implementation of

ts
IGrammarAST.parent

Inherited from

CommonTree.parent


startIndex

ts
startIndex: number = -1;

What token indexes bracket all tokens associated with this node and below?

Implementation of

ts
IGrammarAST.startIndex

Inherited from

CommonTree.startIndex


stopIndex

ts
stopIndex: number = -1;

What token indexes bracket all tokens associated with this node and below?

Implementation of

ts
IGrammarAST.stopIndex

Inherited from

CommonTree.stopIndex


textOverride

ts
textOverride: string;

Implementation of

ts
IGrammarAST.textOverride

token?

ts
optional token: Token;

A single token is the payload.

Implementation of

ts
IGrammarAST.token

Inherited from

CommonTree.token

Methods

addChild()

ts
addChild(t?): void;

Adds t as child of this node.

Warning: if t has no children, but child does and child isNil then this routine moves children to t via t.children = child.children, i.e., without copying the array.

Parameters

t?

CommonTree

The child to add.

Returns

void

Implementation of

ts
IGrammarAST.addChild

Inherited from

CommonTree.addChild


addChildren()

ts
addChildren(kids): void;

Adds all elements of kids list as children of this node.

Parameters

kids

CommonTree[]

The children to add.

Returns

void

Implementation of

ts
IGrammarAST.addChildren

Inherited from

CommonTree.addChildren


deleteChild()

Call Signature

ts
deleteChild(i): null | CommonTree;
Parameters
i

number

Returns

null | CommonTree

Implementation of
ts
IGrammarAST.deleteChild
Overrides

CommonTree.deleteChild

Call Signature

ts
deleteChild(t): boolean;
Parameters
t

CommonTree

Returns

boolean

Implementation of
ts
IGrammarAST.deleteChild
Overrides
ts
CommonTree.deleteChild

dupNode()

ts
dupNode(): GrammarAST;

Returns

GrammarAST

Implementation of

ts
IGrammarAST.dupNode

Overrides

CommonTree.dupNode


freshenParentAndChildIndexes()

ts
freshenParentAndChildIndexes(offset?): void;

Sets the parent and child index values for all child of t.

Parameters

offset?

number

The index to start from.

Returns

void

Implementation of

ts
IGrammarAST.freshenParentAndChildIndexes

Inherited from

CommonTree.freshenParentAndChildIndexes


getAllChildrenWithType()

ts
getAllChildrenWithType(type): GrammarAST[];

Parameters

type

number

Returns

GrammarAST[]

Implementation of

ts
IGrammarAST.getAllChildrenWithType

getAltLabel()

ts
getAltLabel(): null | string;

Walk ancestors of this node until we find ALT with alt!=null or leftRecursiveAltInfo!=null. Then grab label if any. If not a rule element, just returns null.

Returns

null | string

Implementation of

ts
IGrammarAST.getAltLabel

getAncestor()

ts
getAncestor(ttype): null | CommonTree;

Walks upwards and get first ancestor with this token type.

Parameters

ttype

number

The token type to check for.

Returns

null | CommonTree

The first ancestor of this node with the specified token type, or null if no ancestor with the type exists.

Implementation of

ts
IGrammarAST.getAncestor

Inherited from

CommonTree.getAncestor


getAncestors()

ts
protected getAncestors(): null | CommonTree[];

Returns

null | CommonTree[]

a list of all ancestors of this node. The first node of list is the root and the last is the parent of this node.

Implementation of

ts
IGrammarAST.getAncestors

Inherited from

CommonTree.getAncestors


getCharPositionInLine()

ts
getCharPositionInLine(): number;

Returns

number

Implementation of

ts
IGrammarAST.getCharPositionInLine

Inherited from

CommonTree.getCharPositionInLine


getFirstChildWithType()

ts
getFirstChildWithType(type): null | CommonTree;

Parameters

type

number

Returns

null | CommonTree

Implementation of

ts
IGrammarAST.getFirstChildWithType

Inherited from

CommonTree.getFirstChildWithType


getFirstDescendantWithType()

ts
getFirstDescendantWithType(typeOrTypes): null | CommonTree;

Parameters

typeOrTypes

number | BitSet

Returns

null | CommonTree

Implementation of

ts
IGrammarAST.getFirstDescendantWithType

getLine()

ts
getLine(): number;

Returns

number

Implementation of

ts
IGrammarAST.getLine

Inherited from

CommonTree.getLine


getNodesWithType()

ts
getNodesWithType(typeOrTypes): GrammarAST[];

Parameters

typeOrTypes

null | number | IntervalSet

Returns

GrammarAST[]

Implementation of

ts
IGrammarAST.getNodesWithType

getNodesWithTypePreorderDFS()

ts
getNodesWithTypePreorderDFS(types): GrammarAST[];

Parameters

types

IntervalSet

Returns

GrammarAST[]

Implementation of

ts
IGrammarAST.getNodesWithTypePreorderDFS

getNodeWithTokenIndex()

ts
getNodeWithTokenIndex(index): null | GrammarAST;

Parameters

index

number

Returns

null | GrammarAST

Implementation of

ts
IGrammarAST.getNodeWithTokenIndex

getSourceInterval()

ts
getSourceInterval(): Interval;

Returns

Interval

Implementation of

ts
IGrammarAST.getSourceInterval

Inherited from

CommonTree.getSourceInterval


getText()

ts
getText(): string;

Returns

string

Implementation of

ts
IGrammarAST.getText

Inherited from

CommonTree.getText


getTokenStartIndex()

ts
getTokenStartIndex(): number;

Returns

number

Implementation of

ts
IGrammarAST.getTokenStartIndex

Inherited from

CommonTree.getTokenStartIndex


getTokenStopIndex()

ts
getTokenStopIndex(): number;

Returns

number

Implementation of

ts
IGrammarAST.getTokenStopIndex

Inherited from

CommonTree.getTokenStopIndex


getType()

ts
getType(): number;

Returns

number

Implementation of

ts
IGrammarAST.getType

Inherited from

CommonTree.getType


insertChild()

ts
insertChild(i, t): void;

Inserts child t at child position i (0..n - 1) by shifting children i + 1..n - 1 to the right one position. Sets parent/indexes properly but does NOT collapse nil-rooted t's that come in here like addChild.

Parameters

i

number

The index to insert the child at.

t

CommonTree

The child to insert.

Returns

void

Implementation of

ts
IGrammarAST.insertChild

Inherited from

CommonTree.insertChild


isNil()

ts
isNil(): boolean;

Returns

boolean

Implementation of

ts
IGrammarAST.isNil

Inherited from

CommonTree.isNil


replaceChildren()

ts
replaceChildren(
   startChildIndex, 
   stopChildIndex, 
   t): void;

Deletes children from start to stop and replaces with t even if t is a list (nil-root tree). Number of children can increase or decrease. For huge child lists, inserting children can force walking rest of children to set their child index - could be slow.

Parameters

startChildIndex

number

The index to start deleting children.

stopChildIndex

number

The index to stop deleting children.

t

CommonTree

The tree to replace the deleted children with.

Returns

void

Implementation of

ts
IGrammarAST.replaceChildren

Inherited from

CommonTree.replaceChildren


sanityCheckParentAndChildIndexes()

Call Signature

ts
sanityCheckParentAndChildIndexes(): void;
Returns

void

Implementation of
ts
IGrammarAST.sanityCheckParentAndChildIndexes
Inherited from

CommonTree.sanityCheckParentAndChildIndexes

Call Signature

ts
sanityCheckParentAndChildIndexes(parent, i): void;
Parameters
parent

undefined | CommonTree

i

number

Returns

void

Implementation of
ts
IGrammarAST.sanityCheckParentAndChildIndexes
Inherited from

CommonTree.sanityCheckParentAndChildIndexes


setChild()

ts
setChild(i, t): void;

Parameters

i

number

t

CommonTree

Returns

void

Implementation of

ts
IGrammarAST.setChild

Inherited from

CommonTree.setChild


setText()

ts
setText(text): void;

Parameters

text

string

Returns

void

Implementation of

ts
IGrammarAST.setText

setTokenStartIndex()

ts
setTokenStartIndex(index): void;

Parameters

index

number

Returns

void

Implementation of

ts
IGrammarAST.setTokenStartIndex

Inherited from

CommonTree.setTokenStartIndex


setTokenStopIndex()

ts
setTokenStopIndex(index): void;

Parameters

index

number

Returns

void

Implementation of

ts
IGrammarAST.setTokenStopIndex

Inherited from

CommonTree.setTokenStopIndex


setType()

ts
setType(type): void;

Parameters

type

number

Returns

void

Implementation of

ts
IGrammarAST.setType

setUnknownTokenBoundaries()

ts
setUnknownTokenBoundaries(): void;

For every node in this subtree, make sure it's start/stop token's are set. Walks depth first, visits bottom up. Only updates nodes with at least one token index < 0.

Returns

void

Implementation of

ts
IGrammarAST.setUnknownTokenBoundaries

Inherited from

CommonTree.setUnknownTokenBoundaries


toString()

ts
toString(): string;

Returns

string

Implementation of

ts
IGrammarAST.toString

Inherited from

CommonTree.toString


toStringTree()

ts
toStringTree(): string;

Prints out a whole tree not just a node.

Returns

string

A string representation of the tree.

Implementation of

ts
IGrammarAST.toStringTree

Inherited from

CommonTree.toStringTree


visit()

ts
visit<T>(v): T;

Type Parameters

T

T

Parameters

v

IGrammarASTVisitor<T>

Returns

T

Implementation of

ts
IGrammarAST.visit