public static void join ( SAXSymbol left , SAXSymbol right ) { // System.out.println(" performing the join of " + getPayload(left) + " and " // + getPayload(right)); // check for an OLD digram existence - i.e. left must have a next symbol // if .n exists then we are joining TERMINAL symbols within the string, and must clean-up the // old digram if ( left . n != null ) { // System.out.println(" " + getPayload(left) // + " use to be in the digram table, cleaning up"); left . deleteDigram ( ) ; } // re-link left and right left . n = right ; right . p = left ; }
Links left and right symbols together i . e . removes this symbol from the string also removing any old digram from the hash table .