Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

This package provides common data structures used by all Lezer-related parsing—those related to syntax trees and the generic interface of parsers. Their main use is the LR parsers generated by the parser generator, but for example the Markdown parser implements a different parsing algorithm using the same interfaces.

Trees

Lezer syntax trees are not abstract, they just tell you which nodes were parsed where, without providing additional information about their role or relation (beyond parent-child relations). This makes them rather unsuited for some purposes, but quick to construct and cheap to store.

@Tree

@SyntaxNodeRef

@SyntaxNode

@NodeIterator

@TreeCursor

@IterMode

@NodeWeakMap

Node types

@NodeType

@NodeSet

@NodeProp

@NodePropSource

Buffers

Buffers are an optimization in the way Lezer trees are stored.

@TreeBuffer

@DefaultBufferLength

@BufferCursor

Parsing

@Parser

@Input

@PartialParse

@ParseWrapper

Incremental Parsing

Efficient reparsing happens by reusing parts of the original parsed structure.

@TreeFragment

@ChangedRange

Mixed Parsing

@parseMixed

@NestedParse

@MountedTree