node_grammar_type()
gets the node's type as it appears in the grammar, ignoring aliases.node_grammar_symbol()
gets the node's symbol (the type as a numeric id) as it appears in the grammar, ignoring aliases. This should be used inlanguage_next_state()
rather thannode_symbol()
.
Examples
language <- treesitter.r::language()
parser <- parser(language)
text <- "fn <- function() { 1 + 1 }"
tree <- parser_parse(parser, text)
node <- tree_root_node(tree)
# Examples for these functions are highly specific to the grammar,
# because they relies on the placement of `alias()` calls in the grammar.
node_grammar_type(node)
#> [1] "program"
node_grammar_symbol(node)
#> [1] 79