Table of Parse Tree Functions

The functions used to operate on parse trees have been listed here in table form for easy reference.  For examples of these functions, refer to the individual function pages included in the Parse Tree Functions section.

The return types include:  INT (integer), PNODE (parse tree node), STR (string), and VAR VALUES (variable values). NONE indicates nothing is returned.

FUNCTION NAME

RETURNS

DESCRIPTION

arraylength(VAR)

INT

Count number of values in given variable or expr. (Like a call-by-reference)

eltnode(elt_num)

PNODE

Fetch the first node that matched the nth element of a rule.

group(start_n,end_n,name_str)

PNODE

Perform a reduction in the @POST region.  Replaces the old group action. (2.3.1.9 return the created node.)

inputrange(start_n,end_n)

STR

Return a substring of the input text as specified by start and end offsets.

inputrange(start_n,end_n,out_ostr)

BOOL

Print a range of chars from the input text to an output stream.

lasteltnode(elt_num)

PNODE

Fetch the last node that matched the nth element of a rule.

phrasetext()

STR

Fetch the text that matched the right hand side phrase of a rule. Analogous to $text.

phraseraw()

STR

Fetch the raw text that matched the right hand side phrase of a rule. Analogous to $raw

pncopyvars()

pncopyvars(aPnode)

pncopyvars(0)

NONE

Copy a node's variables to the suggested node of a rule match. Must be called from the POST Region and can be considered a new-style NLP++ action.

pndeletechilds(pnode)

NONE

Delete children of given pnode.

pninsert(name, pnode, after_n)

PNODE

Insert nonliteral node with name into parse tree.  If after_n == 1, insert after pnode, else if 0 then before pnode.

pnmakevar(pnode, var_str, val)

NONE

Make a variable for a given pnode.

pnname(pnode)

STR

Fetch the name of a pnode.

pnnext(pnode)

PNODE

Fetch a pnode's right sibling, if any.

pnprev(pnode)

PNODE

Fetch a pnode's left sibling, if any.

pnrename(pnode, str)

STR

Rename given pnode. Returns the interned name.

pnreplaceval

NONE

Replace the value of pnode's variable.

pnroot()

PNODE

Fetch the root of a parse tree.

pndown(pnode)

PNODE

Fetch the child of a parse tree node.

pnsingletdown(pnode)

PNODE

Fetch the child of a parse tree node, obeying rules about going down a "singlet chain." I.e., get child only if no branching and if not going past node with BASE flag set.

pnup(pnode)

PNODE

Fetch a pnode's parent, if any. Only leftmost pnode in a list has a parent.

pnvar(pnode, var_str)

ARRAY

Fetch a pnode's variable value(s).

pnvarnames(pnode)

ARRAY

Fetch a node's variable names as an array.

varinlist(var_str, elt_num)

ARRAY

Find var_str variable's value(s) in any pnode that matched elt_numth element

See Also

Special Functions

Knowledge Base Functions

Formatting and I/O Functions

String Functions

Spelling Functions