package net.sf.jlinkgrammar; /** * One possible parsing choice of a ParseSet * */ public class ParseChoice { ParseChoice next; ParseSet set[] = new ParseSet[2]; Link link[] = new Link[2]; /* the lc fields of these is null if there is no link used */ Disjunct ld, md, rd; /* the chosen disjuncts for the relevant three words */ /** * Constructor * @see ParseInfo * @param lset sets left ParseSet * @param llw sets the index of the left word in left set * @param lrw sets the index of the rightword in the left set * @param llc sets the left Connector in the left set * @param lrc sets the right Connector in the left set * @param rset sets right ParseSet * @param rlw sets the index of the left word in right set * @param rrw sets the index of the rightword in the right set * @param rlc sets the left Connector in the right set * @param rrc sets the right Connector in the right set * @param ld sets the left Disjunct * @param md sets the middle Disjunct * @param rd sets the right Disjunct * @see ParseSet * @see Connector * @see Disjunct * */ public ParseChoice( ParseSet lset, int llw, int lrw, Connector llc, Connector lrc, ParseSet rset, int rlw, int rrw, Connector rlc, Connector rrc, Disjunct ld, Disjunct md, Disjunct rd) { next = null; set[0] = lset; link[0] = new Link(); link[0].l = llw; link[0].r = lrw; link[0].lc = llc; link[0].rc = lrc; set[1] = rset; link[1] = new Link(); link[1].l = rlw; link[1].r = rrw; link[1].lc = rlc; link[1].rc = rrc; this.ld = ld; this.md = md; this.rd = rd; } }