UNPKG

treebank-parser

Version:

A simple parser for treebanks stored in S-Expressions

35 lines (26 loc) 948 B
exports.get_node = function(tree, properties) { var node = tree; for (var i=0; i<properties.length; i++) { node = node[properties[i]]; } return node; }; exports.set_tree_value = function(tree, properties, value) { var property = properties[properties.length-1]; var node = exports.get_node(tree, properties.slice(0, properties.length-1)); node[property] = value; }; exports.get_property_name_for_duplicate = function(node, property_name) { var property_count = 0, match_regexp = new RegExp('^' + property_name + '_\\d+$'); for (var property in node) { if (node.hasOwnProperty(property) && match_regexp.exec(property)) { property_count++; } } var new_property_name = property_name + '_' + property_count; return new_property_name; }; exports.strip_duplicate_indicator = function(property_name) { var stripped_property_name = property_name.replace(/_\d+$/, ''); return stripped_property_name; };