---------------------------------------------------------
Notes

* I also noticed that sentences with the question particle est-ce-que accept subject-verb inversion in its complement, making those sentences double interrogative.  From your Lab 4 comments, I know I have to add [ INV -] to the COMPS of est-ce-que.  I tried this in lexicon.tdl (using the PRED as a model), and I tried making a lexical rule that added this to the COMPS list of a qpart-lex-item (using the adjective agreement as a model): 

ques-particle-removing-inv-minus-lrule := const-ltow-rule & 
  [ DTR qpart-lex-item] & 
  [ SYNSEM.LOCAL.CAT.VAL.COMPS < [ INV -] > ]. 

You don't want to do this as a lexical rule. Adding is at a constraint on 
qpart-lex-item is the way to go:

qpart-lex-item := complementizer-lex-item &
  [ SYNSEM.LOCAL [ CAT.VAL.COMPS < [ LOCAL.CAT.HEAD.INV - ] >,
                               CONT.HOOK.INDEX.SF ques ]  ] .

* My negated sentences doubly parse thanks to there being 2 negating
  particles: the ne- prefix, and the pas adverb.  I need to fix this.

You're not getting extra parses, you're getting an extra _neg_r_rel in
the semantics.  I suggest the following:

1. Edit the negation prefix lexical rule so that it has empty C-CONT.RELS
and C-CONT.HCONS lists, but adds an adverb to the first position
of the COMPS list.  

2.  The negation prefix lexical rule should also identify the verb's HOOK
with the adverb's MOD's HOOK.  (This gives the adverb access to the
semantic things it needs to do.)

3. The negation prefix lexical rule shoudl also identify the adverb's
own HOOK with the C-CONT.HOOK. 

4. The supertypes for this rule are a little tricky.  I suggest:

infl-ltol-rule &
local-change-only-lex-rule &
same-ctxt-lex-rule &
same-light-lex-rule &
same-agr-lex-rule &
same-modified-lex-rule &
same-head-lex-rule &
same-hc-light-lex-rule &
same-posthead-lex-rule &
same-mc-lex-rule &

You'll also need to be sure to copy up the SUBJ, SPEC, and SPR values.

5. Finally, you'll want to keep pas from modifying verbs on its own.
As a placeholder, for now I suggest giving it:

MOD < [ LOCAL [ CAT.HEAD noun,  
                            CONT.HOOK.INDEX event ] ] >

That'll be incompatible with anything, but since the ne- lexical rule
isn't using the MOD..HEAD of the adverb, no harm done :)

  When I configured my adverbs, I set the value to [ POSTHEAD + ].  My
  descriptive grammar states that adverbs immediately follow the verb
  (including the auxiliary), however, it sounds more natural to me
  that it go at the end of the sentence.  I believe this is an
  anglicism.  Regardless, apparently [ POSTHEAD + ] means it goes
  anywhere after the verb, and the sentences parse with the adverb in
  both locations, albeit with some ambiguity.  If it is an anglicism,
  I'll have to figure out a way to keep them from appearing in
  sentence final position.  I am checking with some native speakers on
  this (one of whom is from France, and will be immune to the
  tendencies of Canadian English, or Franglais, as we call it).

Restricting the MOD to [ LIGHT + ] should do it.

- as the complement of a V in a VP  (correct)

It's attaching as a modifier, not as a complement.

prehead-adjective-lex := adjective-lex  &
  [ SYNSEM [ LOCAL [ CAT [ HEAD.MOD < [ LOCAL.CAT [ HEAD noun,
                                                    VAL.SPR cons ]] >,
                           VAL [ SPR < >,
                                 SUBJ < >,
                                 COMPS < >,
                                 SPEC < > ],
                                 POSTHEAD - ]]]].

posthead-adjective-lex := adjective-lex &
   [ SYNSEM [ LOCAL [ CAT [ HEAD.MOD < [LOCAL.CAT [ HEAD noun,
                                                  VAL.SPR cons ]] >,
                          VAL [ SPR < >,
                                SUBJ < >,
                                COMPS < >,
                                SPEC < > ],
                                POSTHEAD + ]]]].

These two share a lot of constraints, which should be stated just
once on the supertype (adjective-lex).

  * Depending on the stem, some of the feminine suffixes require a
    doubles consonant, ex: canadien -> canadienne.  As of now, that
    double consonant isn't working (but I have no sentences in the
    test suite with this inflection).

This is morphophonology (actually, morpho-orthography) and is not
really important for our purposes.

;demonstrative-determiner-lex := determiner-lex-supertype &
;  [ SYNSEM [ LOCAL.CONT.RELS <! [ PRED "exist_q_rel" ] , #altkey & arg1-ev-relation & [ LBL #lbl, ARG1 #arg1 ] !>,
;             LKEYS.ALTKEYREL #altkey ] &
;           [ LOCAL.CAT.VAL.SPEC < [ LOCAL.CONT.HOOK.INDEX [ COG-ST activ+fam, #arg1 ] ] > ] &
;           [  LOCAL.CONT.HOOK.LTOP #lbl ] ].

  Was, at last attempt, giving me a misplaced co-reference error at
  the location of the comma before #arg1 .

Should be 

...INDEX #arg1 & [ COG-ST activ+fam ]

  As I said earlier, I did add the suffixes to my lexicon, but didn't
  add the lexical rules because I was working on supertypes.  I did
  intend to make lexical rules to add the COG-ST activ+fam to them.

The first question is whether these are really nominal suffixes, or
some sort of post-modifier.  If you have posthead adjectives, where
do they go?

The next question is how to distribute the relations between ce and
-là/-ci.  The system I have sketched makes the proximal and distal
relations subtypes of demonstrative, which is itself separate from
exist_q_rel.  But in French it looks like they are separate from
the demonstrative ...

You'll also need to do something to rule you:

La fille-là mange

... which perhaps can be done with the COG-ST feature, -là/-ci constrain
the COG-ST of the noun, and do so in a way incompatible with le/la/les
and un/une.

le := masc_sg_definite_article-determiner-lex &
  [ STEM < "le" >,
    SYNSEM.LKEYS.KEYREL.PRED "_the_determiner_rel",
    SYNSEM.LOCAL.CONT.HOOK.INDEX [ COG-ST uniq+fam+act ] ] .


Should be:

le := masc_sg_definite_article-determiner-lex &
  [ STEM < "le" >,
    SYNSEM [ LKEYS.KEYREL.PRED "exist_q_rel",
                   LOCAL.CONT.HOOK.INDEX [ COG-ST uniq+fam+act ] ] ].

And in fact, it's better to have the COG-ST constraint in the type file,
not lexicon.tdl.  (Ideally, lexicon.tdl only mentions STEM and LKEYS.)

What about un/une?

ERROR in [MASC/FEM/PLURAL]_INANIMATE_OBJ_PRONOUN-LEX-RULE:
  Unification with constraint of HOOK failed at path ( SYNSEM LOCAL CONT HOOK) 

That's because OPT-CS isn't a feature of the type hook.  It's a feature
of synsem, and you want to be constraining the first synsem on the
COMPS list: 

COMPS < [ OPT-CS in-foc ] >

Of 303 sentences, I got 309 parses.  
Of 180 Positive Items, I got 293 parses.
Of 123 Negative items, I got 16 parses. 

I'm mostly interested in the number of items that parse, not
the total number of analyses.  I'm also interested in average ambiguity,
though.

 - An attempt at double conjunction (je mange et mange et mange) parsed 68 times, so really only 290 parses. 

Once you get in the work around for the argument optionality problem
here, this should go down somewhat.  Also, edit the subj-v-inv rule
to put [OPT -] on the subject.  This cuts it down to 12...

subj-v-inv-lrule := cat-change-only-lex-rule & same-hc-light-lex-rule & same-posthead-lex-rule & constant-lex-rule &
  [ SYNSEM [ LOCAL.CAT [ HEAD verb &
                              [ INV + ],
                         VAL [ COMPS < #subj & [ OPT - ] . #comps >,
                               SUBJ < >,
                               SPR #spr,
                               SPEC #spec ],
                         MC na ],
             LKEYS #lkeys ],
    DTR.SYNSEM [ LOCAL.CAT.VAL [ SUBJ < #subj >,
                                 COMPS #comps,
                                 SPR #spr,
                                 SPEC #spec ],
                 LKEYS #lkeys ] ].


PRED for determiners should be exist_q_rel, with the different
between "the" and "a" handled in COG-ST.

