function build_template_processor (path_handlers) {
  var processor = new TemplateProcessor(path_handlers);
  return function (stringified_function) {
    return processor.process_stringified_function_template(stringified_function);
  };
}
/**
 * @param {Object} path_handlers
 *   The object should be made up of nested objects or keys assigned to functions.
 *
 *   A key assigned to a function will use that function to evaluate a field name under that key.
 *     Example:
 *       {  HELPERS: get_helper }
 *       process_template('function(elem) { return $HELPERS.process_elem$(elem); }
 *       - Will call get_helper('process_elem') and replace "$HELPERS.process_elem$" with the string given.
 *       - So if get_helper('process_elem') returns "U" the function will be "function(elem) { return U(elem); }"
 *
 *   Nested objects should have keys that all resolve to strings or nested objects.
 *     - The template system will traverse nested objects using the path given.
 *     Example:
 *       { SYMBOLS: { SCOPES: { PARENT: 'p' } } }
 *       process_template('function() { return this.$SYMBOLS.SCOPES.PARENT$; }')
 *       Will result in 'function() { return this.p; }'
 *
 *   The templating system will blow up if the path helper function called blows up or the path does not resolve to a string value.
 *   So if someone changes the name of a symbol constant one of the helpers utilize through the templating system, the
 *   templating system will loudly let you know.
 */
@param {Object} path_handlers
The object should be made up of nested objects or keys assigned to functions.

A key assigned to a function will use that function to evaluate a field name under that key.
Example:
{  HELPERS: get_helper }
process_template('function(elem) { return $HELPERS.process_elem$(elem); }
- Will call get_helper('process_elem') and replace "$HELPERS.process_elem$" with the string given.
- So if get_helper('process_elem') returns "U" the function will be "function(elem) { return U(elem); }"

Nested objects should have keys that all resolve to strings or nested objects.
- The template system will traverse nested objects using the path given.

The templating system will blow up if the path helper function called blows up or the path does not resolve to a string value.
So if someone changes the name of a symbol constant one of the helpers utilize through the templating system, the
templating system will loudly let you know.
@param { Object } path_handlers The object should be made up of nested objects or keys assigned to functions . A key assigned to a function will use that function to evaluate a field name under that key . Example : { HELPERS : get_helper } process_template ( ' function ( elem ) { return $HELPERS . process_elem$ ( elem ) ; } - Will call get_helper ( ' process_elem ' ) and replace " $HELPERS . process_elem$ " with the string given . - So if get_helper ( ' process_elem ' ) returns " U " the function will be " function ( elem ) { return U ( elem ) ; } " Nested objects should have keys that all resolve to strings or nested objects . - The template system will traverse nested objects using the path given . The templating system will blow up if the path helper function called blows up or the path does not resolve to a string value . So if someone changes the name of a symbol constant one of the helpers utilize through the templating system the templating system will loudly let you know .
function build_template_processor (path_handlers) {
  var processor = new TemplateProcessor(path_handlers);
  return function (stringified_function) {
    return processor.process_stringified_function_template(stringified_function);
  };
}
function build_template_processor ( path_handlers ) { var processor = new TemplateProcessor ( path_handlers ) ; return function ( stringified_function ) { return processor . process_stringified_function_template ( stringified_function ) ; } ; }
@param {Object} path_handlers
   The object should be made up of nested objects or keys assigned to functions.
@param { Object } path_handlers The object should be made up of nested objects or keys assigned to functions .