NAME
Text::Treesitter::Parser
- parse some input text according to a tree-sitter grammar
SYNOPSIS
Usually accessed indirectly, via Text::Treesitter
. Can also be used directly.
use Text::Treesitter::Language;
use Text::Treesitter::Parser;
my $language_lib = "path/to/the/tree-sitter-perl.so";
my $lang = Text::Treesitter::Language::load( $language_lib, "perl" );
my $parser = Text::Treesitter::Parser->new;
$parser->set_language( $lang );
my $tree = $parser->parse_string( $input );
...
DESCRIPTION
Instances of this class perform the actual parsing operation, taking a language specification (in the form of a Text::Treesitter::Language instance) and the input text string, yielding a result (in the form of a Text::Treesitter::Tree instance).
CONSTRUCTOR
new
$parser = Text::Treesitter::Parser->new;
Returns a new parser instance. A language must be set (by calling "set_language") before parsing can be performed.
METHODS
set_language
$parser->set_language( $lang );
Sets the language specification, as specified by an instance of Text::Treesitter::Language.
parse_string
$tree = $parser->parse_string( $str );
Parses a given input string, returning a node tree as an instance of Text::Treesitter::Tree.
reset
$parser->reset;
Resets the internal state of the parser so it can be used again.
TODO
The following C library functions are currently unhandled:
ts_parser_included_ranges
ts_parser_parse
ts_parser_set_timeout_micros
ts_parser_timeout_micros
ts_parser_set_cancellation_flag
ts_parser_cancellation_flag
ts_parser_set_logger
ts_parser_logger
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>