-------------------------------------------------------------
Comments:

 basic-indef-head-opt-comp-phrase := basic-head-opt-comp-phrase &
 [ HEAD-DTR lexeme-to-word-rule ].

 This will do for now as I do not have any post ltow lexical rules at this time.
You can just have "lex-rule" as the daughter.

 29.
 ani lmd:PIEL.PAST-ti mtmviqh
 pron:NOM.1SG teach:PAAL.PAST-1SG math:F.SG
 'I taught math.'

 So now that the basic-indef-head-opt-comp-phrase is able to apply
 twice, the grammar produces 2 parses for #27, 1 for #28, 1 for #29,
 and 1 for #30. Getting it to produce two parses for #28 and #29 will
 have to be handled differently once the semantic roles are in place.

The semantic roles *are* in place.  (Did you look at the MRS?)  One
way to get the second parse for these is to add a
head-2nd-comp-phrase.  This would also be desirable if 'ani
lmd:PIEL.PAST-ti mtmviqh awtw' is grammatical (with the sensible
reading).  If that reading is not available, what you'll want instead
is a head-opt-2nd-comp-phrase.  That type doesn't yet exist in the
matrix, but by looking at basic-head-2nd-comp and basic-head-opt-comp
it should be clear how to make it.


interrogative-complementizer-lex-item := no-hcons-lex-item & basic-one-arg &
[ SYNSEM.LOCAL.CAT.VAL.COMPS < #comps & [ LOCAL.CAT.HEAD verb,
					  LOCAL.CAT.HEAD.FORM fin,
					  LOCAL.CAT.VAL.SUBJ < >,
					  LOCAL.CAT.VAL.SPR < >,
					  LOCAL.CAT.VAL.SPEC < >,
					  LOCAL.CAT.VAL.COMPS < >,
					  LOCAL.CAT.IMPERATIVE -,
					  LOCAL.CONT.MSG.PRED proposition_m_rel,
					  LOCAL.CAT.P-OR-Q +,
					  LOCAL.CONT.HOOK.LTOP #marg,
					  LOCAL.CAT.MC #mc ] >, 
  SYNSEM.LOCAL.CONT.HOOK.LTOP #ltop,
  SYNSEM.LOCAL.CONT.MSG.LBL #ltop,
  SYNSEM.LOCAL.CONT.MSG #rel,
  SYNSEM.LOCAL.CONT.MSG.PRED question_m_rel,
  SYNSEM.LOCAL.CONT.RELS <! #rel !>,
  SYNSEM.LOCAL.CONT.MSG.MARG #marg,
  SYNSEM.LOCAL.CAT.VAL.SUBJ < >,
  SYNSEM.LOCAL.CAT.VAL.SPR < >,
  SYNSEM.LOCAL.CAT.VAL.SPEC < >,
  SYNSEM.LOCAL.CAT.HEAD comp,
  SYNSEM.LOCAL.CAT.HEAD.COMPLEMENTIZER-TYPE interrogative-complementizer,
  SYNSEM.LOCAL.CAT.MC #mc,
  ARG-ST < #comps > ].

All the repeated path names are really hard to read here.  It's
better form to do this:

interrogative-complementizer-lex-item := no-hcons-lex-item & basic-one-arg &
[ SYNSEM.LOCAL [ CAT [ HEAD comp &
			   [ COMPLEMENTIZER-TYPE interrogative-complementizer],
		       VAL [ COMPS < #comps & 
				     [ LOCAL [ CAT [ HEAD verb &
							  [ FORM fin ],
						     VAL [ SUBJ < >,
							   SPR < >,
							   SPEC < >,
							   COMPS < > ],
						     IMPERATIVE -,
						     P-OR-Q +,
						     MC #mc ],
					       CONT [ MSG.PRED proposition_m_rel,
						      HOOK.LTOP #marg ] ]] >,
			     SUBJ < >,
			     SPR < >,
			     SPEC < > ],
		       MC #mc ]
		 CONT [ HOOK.LTOP #ltop,
			MSG #rel & [ LBL #ltop,
				     MARG #marg,
				     PRED question_m_rel ],
			RELS <! #rel !>,
  ARG-ST < #comps > ].


 The latter was accomplished by adding to the adj rule the constraint
 that the head of the non-head daughter had to be adj.

 hebrew-head-adj-int-phrase := head-adj-int-phrase &
 [ NON-HEAD-DTR.SYNSEM.LOCAL.CAT.HEAD adj,
   SYNSEM.MODORDER #modorder,
   NON-HEAD-DTR.SYNSEM [ LOCAL [ CAT [ HEAD [ MOD < [  MODORDER #modorder2 ] > ]]]],
   HEAD-DTR.SYNSEM.MODORDER #modorder2,
   NON-HEAD-DTR.SYNSEM.MODORDER #modorder ].

 The former was accomplished with:  

 head-adv-int-phrase := head-adj-int-phrase &
 [ NON-HEAD-DTR.SYNSEM.LOCAL.CAT.HEAD adv ]. 

 adv-head-int-phrase := adj-head-int-phrase &
 [ NON-HEAD-DTR.SYNSEM.LOCAL.CAT.HEAD adv ].

We already have a mechanism for doing this: the POSTHEAD feature.
Just leave POSTHEAD unspecified on your adverbs but make it + on
adjectives.  Then instantiate both head-adj and adj-head rules
('adj' in those names stands for 'adjunct').

