File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/80/j80-1003_metho.xml
Size: 36,828 bytes
Last Modified: 2025-10-06 14:11:16
<?xml version="1.0" standalone="yes"?> <Paper uid="J80-1003"> <Title>Slot Grammars</Title> <Section position="5" start_page="0" end_page="0" type="metho"> <SectionTitle> (8) 67\] (Tq AUXL > AUXL OBJ SUBJ > ADVL </SectionTitle> <Paragraph position="0"> The states are $1, $2, and $3. Here, and in future examples, the integers in the state names indicate their linear order. States $1 and $2 have direction LEFT and $3 has RIGHT. Slots are written under the states to which they are attached. Note that AUXL is attached to both $1 and $2. The sign > 34 American Journal of Computational Linguistics, Volume 6. Number 1. January-March 1980 Michael C. McCord Slot Grammars after a slot indicates that it is attached as a stateadvancer. This means that if the slot is filled while the frame is in the given state, then the frame will advance to the next state (otherwise it stays in the given state). AUXL is attached to $2 as a stateadvancer, but to S1 as a non-state-advancer. Slots ADVL and AUXL are multiple slots, although that is not shown in the diagram.</Paragraph> <Paragraph position="1"> Here is an example of VP construction using VP grammar (8). The successive VP's constructed are underlined, and to the side of each underline is shown the slot just filled and the state the VP is in after the slot-filling.</Paragraph> <Paragraph position="2"> Could A1 have already left the bus? (9) $2, where it may get an AUXL in a question sentence. Several AUXL's may appear in state S1, but once the SUBJ has been filled, there is a chance for only one more AUXL, because an AUXL at $2 will advance the frame to $3. Also note that there is no chance for an ADVL between the SUBJ and the preposed question AUXL, as in (10) *Could already kl have left the bus? This illustrates, in the filling of OBJ, that a slot can be filled even when the frame is not yet in a state to which the slot is attached; it just has to be possible to advance to such a state S (only the first such is used). After the filling, if the slot is attached to S as a state-advancer, then the frame will be advanced to the next state after S; otherwise it stays in state S.</Paragraph> <Paragraph position="3"> The use of states in slot grammars can be considered a generalization of some techniques used by Heidorn in APSG's. In the grammar of Heidorn (1972), a VP first works to the right getting all postmodifiers of the main verb, then works to the left getting, all premodifiers. To control this, Heidorn used a register PRM (standing for &quot;premodified&quot;) as follows. PRM is preset to off. Every rule that picks up a postmodifier checks that PRM is still off, and every rule that picks up a pre-modifier sets PRM to on. The slot grammar register STATE can be considered a generalization of PRM, in that its values are atoms that control direction of search.</Paragraph> <Paragraph position="4"> In a recent APSG grammar for NP's, Heidorn 2 uses a technique which is even closer to our use of states. 3 He uses a register ML (standing for &quot;modification'level&quot;) which takes on integer values, and the numerical ordering is used in controlling the stages of building up an NP, allowing multiple direction changes. The left-hand sides of production rules often check that ML is less than or equal to a certain value, and the right-hand sides set ML to a certain value. This is similar to our requirement for advancing states in slot filling.</Paragraph> <Paragraph position="5"> Now let us extend the VP grammar (8) to one which accepts a wider range of constructions.</Paragraph> <Paragraph position="7"/> </Section> <Section position="6" start_page="0" end_page="0" type="metho"> <SectionTitle> OBJ AUXL > AUXL IOBJ OBJ ADVL SUBJ > COMP ADVL ADVL </SectionTitle> <Paragraph position="0"> Note that there are two direction switches in this grammar. First S1 and $2 go left; then there is a switch to the right with $3 and $4, and then a switch back to the left with $5. Reasons for this complication will be given below. The additional slots in this diagram are IOBJ and COMP. IOBJ (indirect object) accepts only NP's; the semantically equivalent to-form is accepted by ADVL at $4.</Paragraph> <Paragraph position="1"> (ADVL accepts, say, adverbs and PP's.) COMP (complement) has VP fillers.</Paragraph> <Paragraph position="2"> This VP grammar is intended to capture the following intuitive description of a way of building up a VP. Starting at the head verb, we work left getting possible auxiliaries and adverbials. At some point, we may get a subject. If so, then there is a chance for one more auxiliary (in the case of a question sentence). Then we work to the right and may pick up an indirect object (with no other items intervening between it and the head verb). Then, still to the right, we pick up OBJ, COMP, or any number of ADVL's, in any order. Then, back to the left, we might find an OBJ or any number of ADVL's. Of course if OBJ has already been filled at $4, it will have been removed from ASLOTS and will not be available at $5. An example in which OBJ is filled at $5 is (13) Which chair did John buy ? OBJ AUXL SUBJ HEAD 2 Private communication to the author.</Paragraph> <Paragraph position="3"> 3 These two techniques were developed independently of each other.</Paragraph> <Paragraph position="4"> American Journal of Computational Linguistics, Volume 6, Number 1, January-March 1980 35 Michael C. McCord Slot Grammars Why are there two direction switches? Accepting for the moment the reasonableness of starting to the left with S1 and $2, why not continue left and make $5 the third state? The answer involves raising. In sentences like (1), (2), and (3), which chair fills an object slot raised from a VP found by COMP at $4. So' $4 has to be visited before $5.</Paragraph> <Paragraph position="5"> It still might seem that one could make only one direction switch by starting immediately to the right after the head verb, as was done in Heidorn (1972). One reason for going left initially has to do again with raising. The relative clause slot in the subject NP can be raised to the right of the head verb, as in: (14) The man is here that I was telling you about. Even if this right extraposition were not handled by the precise mechanism of raising, it seems reasonable that the subject should already be present in the VP before &quot;placing&quot; the extraposed modifier correctly. null Also, it seems plausible psychologically to go left first, because the auxiliaries and the subject are so closely related to the verb and their position usually identifies their role. But the role of a fronted item like which chair in sentences (1), (2), and (3) cannot be identified until a good deal of the rest of the sentence has been processed.</Paragraph> </Section> <Section position="7" start_page="0" end_page="0" type="metho"> <SectionTitle> 4. Formal representation of syntax </SectionTitle> <Paragraph position="0"> The interpreter-parser is written in LISP 1.6 running on a DEC-10. There are two functions, SYNTAX and LEXICON, which accept the grammar and preprocess it. They are both FEXPR functions (receiving their arguments unevaluated). The form of a call to SYNTAX will be described in this section. null SYNTAX is called for each phrase-type, such as VP, NP, and PP. The top-level form of a call is</Paragraph> </Section> <Section position="8" start_page="0" end_page="0" type="metho"> <SectionTitle> DEFAULTS : SUBJ AUXL ADVL ) </SectionTitle> <Paragraph position="0"> The general rules are as follows. The statespecifications are given in the order to be assigned to the states. The form of a state-specification is a list: (name direction \[test-action ... \]) where the square brackets are metasymbols indicating optionality. The name is the name of the state and can be any LISP atom. The direction is L or R. A test-action, if given, is a LISP form which will be evaluated, and must give a non-NIL result, for a slot-filling to succeed, whenever the frame is advanced to the given state by the slot-filling. For example, suppose given the state-specification</Paragraph> <Paragraph position="2"> in a VP syntax. If an attempted slot-filling advances the frame to state $5, then the test (IS SUB J) will have to succeed (meaning that the SUBJ slot is already filled) in order for the slot-filling to succeed.</Paragraph> <Paragraph position="3"> The general form of a slot-specification is as follows: name \[*\] slot-rule state-attachments The optional star indicates that the slot is multipie. During parsing, the system takes care of removing non-multiple slots from ASLOTS as they get filled, The slot-rule is a LISP form which can test for the sorts of fillers the slot can have, and perform actions. In the sample grammar above, the slot-rules use the test (FLR cat), which requires that the filler be of the category cat. No actions are shown in this grammar; but possible actions are calls to the RAISE function and the setting of registers, and these are exhibited in the grammar of Section 8, The last part of the slot-specification is the stateattachments. The required form is</Paragraph> <Paragraph position="5"> In other words, one writes a list of state names, each optionally followed by the sign >. If the sign > does follow the state, then the slot is attached as an advancing slot, otherwise as a non-advancing slot. The meaning of this for state transitions was discussed in the preceding section.</Paragraph> <Paragraph position="6"> The last part of the call to SYNTAX is the sequence of default slots. These are collected by SYNTAX into a list and stored on the property list of the phrase-type, to be used as described in Section 2.</Paragraph> <Paragraph position="7"> 36 American Journal of Computational Linguistics, Volume 6, Number 1, January-March 1980 Michael C. McCord Slot Grammars There are a few &quot;primitive&quot; functions (like FLR and RAISE) supplied for writing slot-rules and state test-actions. These will be described as they appear in examples below.</Paragraph> <Paragraph position="8"> 5. Representation of frames by the system As mentioned earlier in Section 2, frames are stored as association lists: ( {register value} ... ) Because of the non-determinism in the processing, I follow Woods (1973) in setting registers by just tacking on the new register/value pair onto the front of the frame.</Paragraph> <Paragraph position="9"> There are several special registers known to the system. Two that have already been discussed extensively are ASLOTS and STATE. The others are as follows. CAT contains the atom which is the phrase-type, such as VP, or, in the case of words, the basic part of speech, such as V or N. WORD, in the case of lexical frames, contains the actual (inflected) word, and ROOT contains the root form. FEATURES contains the list of atoms treated as features. For example, a VP might have FEA-</Paragraph> <Paragraph position="11"> ary and right boundary of the phrase or word. A boundary is an atom representing the space between two words in the input sentence, or the start or end.</Paragraph> <Paragraph position="12"> (A phrase always represents an analysis of a connected segment of words in the sentence --- all the words between its left and right boundaries.) FTEST stands for filler-test and contains a form which is evaluated (as a test-action) by the parser when the frame is tried as a filler. More details on this will be given in the next two sections.</Paragraph> <Paragraph position="13"> The final system register is FSLOTS, which is used to hold the results of already filled slots. The value of FSLOTS is another association list, of the form ( {slot filler} ... ) where each filler is of course another frame. The slot/filler pairs in FSLOTS are placed in accordance the actual positions of the fillers in the sentence. For instance, in the VP Probably John left yesterday FSLOTS would be of the form (ADVL x SUB.I x HEAD x ADVL x).</Paragraph> <Paragraph position="14"> Notice that in this sort of association list, the same register can occur more than once, and an earlier occurrence does not &quot;hide&quot; a later one. There is a system function (SLOTSET slot filler direction) which takes care of updating FSLOTS during slotfilling, putting the new pair on the correct side of FSLOTS. Maintaining FSLOTS as a reflection of surface order is useful for outputting parse trees, and it is also probably important for semantic interpretation. null Notice that the terms register and slot are being used in distinct ways. Register is the general term for one of the variables in our association lists. Slots are specific to the linguistic theory. Besides the special slot HEAD, they must be mentioned as slots in calls to SYNTAX; and any slot relevant to a given phrase frame will appear somewhere in its ASLOTS or FSLOTS.</Paragraph> <Paragraph position="15"> Although slot/filler associations are all stored in the register FSLOTS, each slot is also used as a register in the phrase frame. As a register, a slot contains its slot-rule. SYNTAX stores the slot-rule of a slot on the property list of the slot (under the prop-erty RULE). But this is basically a default rule, and the system allows the lexicon to make exceptions, by information in the sister-dependency list for the head item. Thus, the slot-rule for COMP in the initial VP frame for a verb like help can be special to that verb. To allow this flexibility, the slot-rule for COMP is stored in the register COMP. Furthermore, it appears that the slot-rule for a given slot in a given phrase frame should actually be allowed to change while the phrase is being built up. Reasons for this will be given in the next section, c</Paragraph> </Section> <Section position="9" start_page="0" end_page="0" type="metho"> <SectionTitle> 6. The lexicon </SectionTitle> <Paragraph position="0"> The lexicon is accepted and preprocessed by the LISP function LEXICON. Each member of the argument list is a lexical entry, of the form: Here VM and SD stand for &quot;verb morphology&quot; and &quot;sister-dependencies&quot;, and are actually LISP functions. null What LEXICON accomplishes for each lexical entry is to produce frames associated with the words involved in the entry, and put them on the property lists of the words under the property LEX. These are frames for the word as filler, as well as initial frames for phrases in which the word is HEAD. For instance, the LEX list for HAS in the trial grammars consists of a word frame which might become a filler for the AUXL slot in some VP, as well as a VP frame in which HAS is the main verb.</Paragraph> <Paragraph position="1"> The forms that appear at the end of a lexical entry (such as the VM and SD forms above) are evaluated by LEXICON and can add to the collection of frames being constructed. If no forms are American Journal of Computational Linguistics, Volume 6, Number 1, January-March 1980 37 Michael C. McCord Slot Grammars given, LEXICON will only construct a single word frame (for the word at the beginning of the entry).</Paragraph> <Paragraph position="2"> Forms like VM add inflected words to the root word at the head-of the entry, so that frames get constructed for all these words. I have not gone into spelling rules for regular inflections, but these could easily be added.</Paragraph> <Paragraph position="3"> The SD form implements the ideas on sister-dependency slot lists discussed in Section 2. A call to SD has the form:</Paragraph> <Paragraph position="5"> The slots listed are of course the sister-dependency slots for the verb. The optional slot-rule after a slot will replace the slot-rule given for that slot in syntax; thus the latter should be considered a default slot-rule. The function SD constructs the initialized phrase frame in which the verb is HEAD. The (initial) ASLOTS list consists of the default slots from the VP syntax plus the slots specified in SD.</Paragraph> <Paragraph position="6"> Also, any test-actions associated with the first state of the VP are evaluated --- as if the HEAD advances the frame to the first state.</Paragraph> <Paragraph position="7"> It was argued in Hudson (1977) that subject-verb agreement rules belong to morphology and not to syntax. The main point of the argument is that some verbs make more distinctions than others.</Paragraph> <Paragraph position="8"> Considering the standard six combinations of person and number, one notes that nearly all English verbs make a distinction only between the third person singular and the other combinations --- and this is only in the present tense. The exceptions are that the modals make no distinctions (in present or past), and the verb be makes three distinctions in the present and two in the past.</Paragraph> <Paragraph position="9"> If we put subject-verb agreement in English syntax, we would presumably have to carry along enough distinctions of person and number tO satisfy the fastidious verb be. On the other hand, if the finite verb is gave or can, there is no need for subject-verb agreement to come up at all. Another example is that some determiners require number agreement with the head noun in English, but for the most common one of all, the, there is no need for number agreement to enter the picture.</Paragraph> <Paragraph position="10"> As with sister-dependency slots, this is a case where data-driven processing is called for, and all agreement rules are put in the lexicon. It was mentioned in the preceding section that the system knows about a frame register FTEST containing a test which must be satisfied when the frame is used as a filler. This is where we place the agreement check, and the lexicon can adapt it uniquely to the particular type of verb involved.</Paragraph> <Paragraph position="11"> The FTEST employed for agreement uses a (FEXPR) function CHECK, which is called as follows: null (CHECK slot test) For example, the filler frame for the verb has has in the FTEST register:</Paragraph> </Section> <Section position="10" start_page="0" end_page="0" type="metho"> <SectionTitle> (CHECK SUBJ (NEGF IT PL)) </SectionTitle> <Paragraph position="0"> Here the NEGF test requires that the subject does not have the feature PL (plural). It seems better to express it negatively, instead of requiring the SUBJ to have the feature SG (singular), so that for VP subjects as in The boys' being there causes trouble we will not have to say that the VP subject is SG. When the finite verb is tried as a filler (either of AUXL or the VP HEAD) and (CHECK SUBJ test) gets evaluated, what happens? A problem is that the SUBJ may or may not have already been filled at this point, depending on whether we have certain question sentences or not. If SUBJ is already present, CHECK applies the test to the SUBJ filler on the spot. Otherwise, it adds the test to the slot-rule of SUBJ, by making a new SUBJ slot-rule of (COND (test original-SUB J-slot-rule)).</Paragraph> <Paragraph position="1"> Being able to change slot-rules in this way is another reason for storing slot-rules in the slot as register, as was discussed at the end of the preceding section. The lexical function VM actually takes responsibility for creating these CHECK's as necessary for all verbs besides be and the modals. For instance, VM will create a CHECK for GIVES, but none for GAVE.</Paragraph> <Paragraph position="2"> Another example of data-driven processing which has been put into the lexicon is the set of requirements that English auxiliaries have on other auxiliaries and the main verb. In the VP syntax, there is simply a multiple slot AUXL, with no distinction between kinds of auxiliaries, their ordering, or their inflectional requirements. But there is the well-known sequence: modal perfect-have prog-be passive-be main-verb with the inflectional requirement that each auxiliary has on whatever verb follows it.</Paragraph> <Paragraph position="3"> One alternative would be to have four slots MODAL PERF, PROG, and PASS. But a problem is that this clutters up ASLOTS quite a bit, so that a lot of slots would keep getting tried uselessly. It seems better to go more bottom-up and proceed from whatever verbs actually appear. The AUXL filler be, if it appears, can check whether the next verb to its right is an ing-form or en-form, and can declare that the VP is progressive or passive accordingly. This test-action is put into the lexical entry 38 American Journal of Computational Linguistics, Volume 6, Number 1. January-March 1980 Michael C. McCord Slot Grammars for BE, and LEXICON makes it part of the FTEST for the be filler-frames.</Paragraph> <Paragraph position="4"> One thing that is done in syntax to facilitate this testing is to keep a VP frame register VERB1 set to the current left-most verb. Each auxiliary has to check the features of VERB1. This will appear in the sample syntax given in Section 8.</Paragraph> <Paragraph position="5"> The ordering of the auxiliaries is strict, and checks on this are also made in their filler-tests.</Paragraph> <Paragraph position="6"> Perhaps it is not even computationally necessary or psychologically real to do this in parsing; perhaps one could leave it to generation.</Paragraph> <Paragraph position="7"> The multiple slot AUXL collects what could be thought of as premodifiers of the main verb. An analog in NP's is the multiple slot ADJC which collects premodifiers of the head noun, filled by certain types of adjectives, adjective phrases, and NP's.</Paragraph> <Paragraph position="8"> Here too, there are ordering restrictions as in big red house vs. *red big house, although it would seem foolish to enshrine this in syntax by making lots of slots for different types of noun premodifiers. An example that makes AUXL look a little more free is that in some American dialects, more than one modal can be used, as in might ought to do that, or even might should do that.</Paragraph> <Paragraph position="9"> 7. Outline of the parsing algorithm The parsing algorithm takes advantage of some preprocessing done by the function SYNTAX. The input to SYNTAX shows a linear order on the states and shows each slot attached to certain states. Recall (from Section 3) the conditions necessary for filling a slot SL when the matrix frame is in state ST, and the proposed filler is on, say, the left.</Paragraph> <Paragraph position="10"> There must be a state s_> ST such that SL is attached to s and the direction of s is LEFT. Suppose such an s exists. Let ST1 be the first such. If SL is attached to ST1 as a state-advancer, let STRANS be the successor state of ST1; otherwise let STRANS = ST1. If no s exists, let STRANS be NIL. Let us call STRANS the left-transform of state ST by slot SL. The right-transform is defined similarly. These state transforms are precalculated by SYNTAX, and stored on the property lists of the slots, thus saving on search time.</Paragraph> <Paragraph position="11"> The heart of the parsing algorithm is a function</Paragraph> </Section> <Section position="11" start_page="0" end_page="0" type="metho"> <SectionTitle> (MODIFY IT MATRIX DIR) </SectionTitle> <Paragraph position="0"> It constructs all frames which result when the frame IT modifies (fills a slot in) the frame MATRIX from the direction DIR. (DIR=LEFT means that IT is on the immediate left of MATRIX.) MODIFY proceeds as follows. Let us assume that DIR = LEFT (the case DIR = RIGHT is entirely symmetric). Let ST be the current state of MATRIX. Then for each slot SL in the ASLOTS list of MATRIX, MODIFY determines whether IT can fill SL by making the following five tests, in the order given: (a) The left-transform STRANS of ST by SL must be non-NIL.</Paragraph> <Paragraph position="1"> (b) The slot-rule of SL is evaluated, and the result must be non-NIL. This result is called ACTION and is saved for use in test (d).</Paragraph> <Paragraph position="2"> (c) The filler-test (the value of the FTEST register in IT) must evaluate to non-NIL.</Paragraph> <Paragraph position="3"> (d) The ACTION must evaluate to non-NIL.</Paragraph> <Paragraph position="4"> (The reasons for this double evaluation of the slot-rule will be given below.) (e) If STRANS is not equal to ST, then the test- null action associated with STRANS is evaluated and must give a non-NIL result.</Paragraph> <Paragraph position="5"> If these five tests are satisfied, then the frame MATRIX is updated as follows. SL is set to IT using SLOTSET, as in Section 5. ASLOTS is modified by the deletion of SL if SL is non-multiple. STATE is set to the left-transform STRANS. Finally, the left boundary of MATRIX is set to the left boundary of IT. The presence of this new version of MATRIX is recorded by a function INSERT, described below. Of course the old version of MATRIX stays around, for possible use in other modifications. null Note that tests (b) and (d) perform a double evaluation of the slot-rule: The value obtained in (b) should be another LISP form (ACTION), and this is further evaluated in (d). The reason for this is that the action performed by a slot-rule may disturb registers that must be examined by the fillertest, used in (c). This situation does not come up in the sample grammar of the preceding section, but it will be illustrated in the next section. (In the grammar of the preceding section, all slot-rules just evaluate to T if they do not give NIL, so the action, T, is trivial, and (d) will be satisfied if (b) is.) The top level function, PARSE, of the parser takes a sentence, and processes its words left to right as follows. It creates boundary markers for the words (as it goes), and, for each boundary marker B, it stores on the property list of B, under the indicator RESULTS, the list of all frames produced so far whose right boundary is B.</Paragraph> <Paragraph position="6"> For each new word W, PARSE looks on the LEX list of frames associated with W (produced by the lexicon). If this list is empty, W is not in the lexicon and parsing is halted with an error message. Otherwise, PARSE calls the function INSERT on each frame in the LEX list.</Paragraph> <Paragraph position="7"> The goal of the function INSERT, when it is given a frame FR, is to work out all ways that FR can modify, or be modified by, the frames that al-American Journal of Computational Linguistics, Volume 6, Number 1, January-March 1980 39 Michael C. McCord Slot Grammars ready exist, as well as to record the existence of FR for future modifications (after more words have been processed). For the latter purpose, INSERT simply puts FR on the RESULTS list of its right boundary. For the former purpose, INSERT does the following. For each frame FR1 in the RESULTS list of the left boundary of FR, INSERT Note the recursion that exists because INSERT calls MODIFY and MODIFY can call INSERT.</Paragraph> <Paragraph position="8"> The recursion stops because MODIFY does not call INSERT if no modifications are possible.</Paragraph> <Paragraph position="9"> When PARSE has processed the last word, it looks for those VP frames that span the whole sentence, and it prints these out in an indented tree format, as will be described and illustrated in the next section.</Paragraph> <Paragraph position="10"> 8. A sample grammar The syntax diagrams are shown in Figure 1, and the input to LISP is shown in Figures 2 and 3. A portion of the lexicon is given later.</Paragraph> <Paragraph position="11"> Let us first look at the NP syntax. An NP frame begins with the head noun in state N1. The test-actions associated with this first state involve RAISEF, which raises features from the most recent filler (in this case, the head noun) to the matrix frame. The result is that the number of the head noun is made a feature of the NP itself. From the head noun, one can work left getting any number of adjectives (ADJC is multiple). If a determiner is selected (filling DETR) then the NP is advanced to state N2, so that no more premodifying adjectives can be picked up. Then one is ready for postmodifiers (in this case, PP's), filling the multiple slot REL. But the frame can get into state N2 and receive REL fillers, as in tea with cream, without being advanced there by DETR, just because of the fact that N2 follows N1.</Paragraph> <Paragraph position="12"> The PP syntax is trivial, just having a preposition as head, followed by an NP.</Paragraph> <Paragraph position="13"> The VP syntax is an extension of the grammar shown earlier in diagram (12). The current grammar has a fairly complete treatment of the verb system. As outlined in the section on the lexicon, the requirements of the verb auxiliaries are managed by keeping a VP register VERB1 set to the currently left-most verb. This is initialized by the state test-action attached to state S1 (see Figure 2). This is executed as soon as the HEAD verb is filled in (actually in the lexicon), setting the register VERB1 to the value of the slot HEAD (i.e., to the frame for the head verb).</Paragraph> <Paragraph position="14"> Updating of VERB1 is handled by the slot-rule for AUXL: (==> (FLR V AUX) (= VERB1 IT)) This rule is involved in a non-trivial application of the double evaluation scheme for slot-rules described in the preceding section. When (==> test action) is evaluated, the test will first be evaluated. In the above example, this asks whether the filler is a verb with the feature AUX. If the test gives NIL, then the function = = > returns NIL, Otherwise, = = > returns the action, unevaluated. The parser saves this form and evaluates the filler-test for the current filler auxiliary, which needs to examine VERB1 before it gets changed. If this test succeeds, then the parser evaluates the action, (= VERB1 IT), which updates VERB1 to the new filler auxiliary.</Paragraph> <Paragraph position="15"> One addition appearing in the VP syntax above is the BINDER slot attached to state $8. This gets subjunctions like that, although, if, and whether at the front of the VP.</Paragraph> <Paragraph position="16"> The other additions of states have to do with the auxiliaries and the subject in question sentences. State $3 has no slots attached, but is just there to hold the test-action (ADDF QUESTION), as shown in Figure 2, which is executed for preposed auxiliaries. This adds the feature QUESTION to the matrix VP. Note that the state test-action is placed on the state that the preposed auxiliary advances the frame to, in accordance with the rules described in Section 4. And the preposed AUXL is attached to $2 as a state-advancer so that no more AUXL's can appear to its left. The extra state $3 does not &quot;get in the way&quot; of other state transitions because of the pre-processing done by SYNTAX (described in Section 7).</Paragraph> <Paragraph position="17"> State $4 is added in order to handle question sentences in which the head verb is the only verb and is an auxiliary, as in Is John Happy? May I? Does he? This is reflected in the state test-actions for $4 shown in Figure 2. The function (IS slot) tests that that slot is filled; (ISF frame feature) tests whether the given frame has the given feature; ($ register) gets the value of the register.</Paragraph> <Paragraph position="18"> In our grammar, the head of a VP is just the last verb in the verb group, and in elliptical VP's will be treated like a main verb. In an elliptical sentence like Could he be? the verb be is the HEAD of the VP and is just a verb which happens to be marked with the feature AUX. We leave it for other (nonsyntactic) rules to decide whether this VP is elliptical for something like Could he be happy there? or Could he be going there? The slot-rule for COMP in Figure 2 contains a call to the RAISE function: (RAISE (OBJ ADVL) $7).</Paragraph> <Paragraph position="19"> The first argument to RAISE is the list of slot types to be raised. Any slot in the filler's ASLOTS will be raised if it is actually OBJ or ADVL or if it originally came from one of these slots (by previous raisings). Each raised slot is given a new and unique name, but a record is kept of where it came from. It is given the same slot-rule and multiple property as the slot it was just raised from. The remaining arguments to RAISE form a state-attachments list, showing where the raised slots are to be attached. American Journal of Computational Linguistics, Volume 6, Number 1, January-March 1980 41 Michael C. McCord Slot Grammars The state $7 to which slots of type OBJ and ADVL (raised or not) are attached is the position for fronted items. As an example, the parser gives two analyses for When did Mary say John had left? according as when modifies say or left. In the first case, when just fills the ADVL slot in the top VP. In the second, it fills a raised slot in the top VP which was raised by COMP from the ADVL in the embedded VP.</Paragraph> <Paragraph position="20"> We do not want to raise out of just any VP. It appears that we should not raise out of VP's with fronting. Compare What do you think that those cost in France? *What do you think that in France those cost? This is prevented in the grammar of Figure 2 by the state action (CLOSE) attached to state $7 (the position for fronted items), which sets a flag that RAISE recognizes. When RAISE sees a CLOSEd filler frame, it just returns T and does not raise anything. This would happen in the second example above, where in France fills ADVL at $7 in the embedded VP and closes it. VP's with fronting can be accepted as fillers, as in I think that in France those cost quite a bit.</Paragraph> <Paragraph position="21"> I think that this vacation we'll enjoy a lot.</Paragraph> <Paragraph position="22"> However, it is probably not right to block raising solely by internal properties of the filler VP. In a relative clause like whom John saw, raising would certainly be blocked, as above, by the fronting. But in the relative clause who saw John, who just fills the SUBJ slot, so that no closing is done. Even more clearly, in the relative clause John saw in Fred is the man John saw, there is not even a relative pronoun. The simple answer here is that some slots call RAISE and others do not. Our slot COMP calls RAISE; but REL, the noun postmodifier (which would get relative clauses in an extended grammar), just does not call RAISE.</Paragraph> <Paragraph position="23"> The nature of the lexicon for the sample grammar should be fairly clear from the discussions in Section 6 and the present section. Figure 4 shows part of the trial lexicon, with a sample for each part of speech. Enough samples are included to cover the types of words appearing in an example parse given below.</Paragraph> <Paragraph position="24"> The function NM (&quot;noun morphology&quot;) is similar to VM. The function TEST causes its argument to be the filler-test in all the word frames constructed for the lexical entry. Note that the word A has such a test (for number agreement in the NP), but THE does not. The verbs THINK, GIVE, and SEEM illustrate different SD lists. The SD form for SEEM causes the default slot-rule for COMP to be re- null placed with (FLR ADJ), so that sentences like John seems happy are accepted.</Paragraph> <Paragraph position="25"> The most complicated entries are for verbs that can be auxiliaries. Examples for HAVE and DO are shown. These entries include the main verb use as well as the auxiliary verb use. The SD form is pertinent for the former, and the TEST for the latter. For example, the filler-test for the auxiliary HAVE requires that the next verb to the right (VERB 1) be a past participle.</Paragraph> <Paragraph position="26"> Figure 5 shows a sample parse tree, for the sentence Which chair did Mary think John said he almost bought? In the tree, subordination is shown by indentation. The root node for each frame is labeled by its category and features. For lexical frames, the one daughter of that node is the word itself. For phrase frames, the daughters are basically of the form slot filler and these are given in order of actual occurrence in the sentence. If a slot is a raised slot, for example the first slot G0019 for which chair, then its Mary think John said he almost bought?&quot; &quot;origin&quot; is shown beside it. The origin (OBJ COMP COMP) means that the original slot from which it came was OBJ, and the path to it is through two COMP's. This means that the slot G0019 came from the third-level embedded VP he almost bought, so which chair is the object of bought.</Paragraph> <Paragraph position="27"> Six additional examples, of varying complexity, are given in the Appendix to this paper which is included in the microfiche supplement.</Paragraph> </Section> class="xml-element"></Paper>