The PARSE operator is part of the parse chain - a dynamic approach to parsing that uses structural rearrangement during the parsing process.
The PARSE operator has four connections (only three are shown on the display). It is not used in the text of the model, being automatically generated when tokenising the free text being read, but its textual representation would look like
The OutputSymbol represents the gap between Word1 and Word2. For example, if
then the OutputSymbol would consist of two symbols, EndNounPhrase and StartVerbPhrase. OutputSymbol becomes valid only when the Control connection is True.
There are phases in the operation of PARSE. The first phase occurs while its control pin is NYK.
The PARSE operator is built between variables representing the words in a sentence. The words broadcast their alternatives (See ALTERNATIVES), and the PARSE operator searches for structures which would allow the particular pair of words it joins, cutting the word alternatives for which no structure exists. For instance, an article followed by a word that can be a noun or a verb would have the verb alternative stripped.
The word variables are not directly connected to the PARSE operators, being connected through ANDPARSE operators instead. The purpose of the ANDPARSE operator is to maintain hierarchical consistency. One PARSE operator may find a structure supporting a Participle, while on the other side of the ANDPARSE, a structure is found supporting a Present Participle. The ANDPARSE uses its access to the word structure to see that Participle and Present Participle are consistent, one being a member of the other, so neither alternative is cut.
If any PARSE operator can find no structure capable of joining its word pair, it puts out a False on its Control connection, stopping further activity and localising the error.
Once the cutting of word alternatives has ceased, the control pin for the PARSE operator is set True by an external process, and it puts out symbols representing the gap between the word pair, such as StartNounPhrase or EndNounPhrase. These symbols flow to the BRIDGE operator sitting on the variable representing the output symbol for the PARSE operator. The BRIDGE operator builds structure on top of the PARSE output symbols.
In a number of cases, such as
some part of the parse chain is cut and the gap healed by new propagation through the cut - (See Cutting and Healing).
In other cases, where a symbol is implied by those around a location, the parse chain is cut and a new symbol inserted - (See Dynamic Insertion).
The PARSE operator responds to the new input on its pin 2 or 3 even though its Control pin is True by again cutting alternatives across it, and then putting out a new output symbol based on the newly pruned alternatives it finds on either side of it. The new output symbol will usually be different from (and not consistent with) the previous one, so the old output will first be killed.