Package ch.usi.si.seart.treesitter
Class Parser
- java.lang.Object
-
- ch.usi.si.seart.treesitter.Parser
-
- All Implemented Interfaces:
AutoCloseable
public class Parser extends Object
Parsers are stateful objects that can be assigned a language and used to produce aTreebased on some source code. Instances of this class can not be created without an initially set language.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Delete the parser, freeing all the memory that it used.booleanequals(Object obj)inthashCode()booleanisNull()TreeparseFile(Path path)Use the parser to parse some source code found in a file at the specified path.TreeparseString(String source)Use the parser to parse some source code and create a syntax tree.TreeparseString(String source, Tree oldTree)Use the parser to incrementally parse a changed source code string, reusing unchanged parts of the tree to speed up the process.voidsetLanguage(Language language)Set the language that the parser should use for parsing.StringtoString()
-
-
-
Constructor Detail
-
Parser
public Parser(Language language)
- Parameters:
language- The language used for parsing.- Throws:
NullPointerException- if the specified language is nullUnsatisfiedLinkError- if the specified language has not been linked to the system library
-
-
Method Detail
-
close
public void close()
Delete the parser, freeing all the memory that it used.- Specified by:
closein interfaceAutoCloseable
-
setLanguage
public void setLanguage(Language language)
Set the language that the parser should use for parsing.- Parameters:
language- The language used for parsing.- Throws:
NullPointerException- if the specified language is nullUnsatisfiedLinkError- if the specified language has not been linked to the system library
-
parseString
public Tree parseString(String source) throws UnsupportedEncodingException
Use the parser to parse some source code and create a syntax tree.- Parameters:
source- The source code string to be parsed.- Returns:
- A syntax tree matching the provided source.
- Throws:
UnsupportedEncodingException- If the UTF-16LE character set is not supported
-
parseString
public Tree parseString(String source, Tree oldTree) throws UnsupportedEncodingException
Use the parser to incrementally parse a changed source code string, reusing unchanged parts of the tree to speed up the process.- Parameters:
source- The source code string to be parsed.oldTree- The syntax tree before changes were made.- Returns:
- A syntax tree matching the provided source.
- Throws:
UnsupportedEncodingException- If the UTF-16LE character set is not supported
-
parseFile
public Tree parseFile(Path path) throws IOException
Use the parser to parse some source code found in a file at the specified path.- Parameters:
path- The path of the file to be parsed.- Returns:
- A tree-sitter Tree matching the provided source.
- Throws:
IOException- If an I/O error occurs reading from the file or a malformed or unmappable byte sequence is read.OutOfMemoryError- If the file is extremely large, for example larger than 2GB.
-
isNull
public final boolean isNull()
-
-